Changeset 1363de for src/atom.hpp
- Timestamp:
- Mar 2, 2011, 9:53:08 PM (14 years ago)
- Branches:
- Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
- Children:
- 0d9546
- Parents:
- 09ac12
- git-author:
- Frederik Heber <heber@…> (02/25/11 20:35:17)
- git-committer:
- Frederik Heber <heber@…> (03/02/11 21:53:08)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/atom.hpp
r09ac12 r1363de 47 47 friend atom* NewAtom(atomId_t); 48 48 friend void DeleteAtom(atom*); 49 49 public: 50 50 atom *father; //!< In many-body bond order fragmentations points to originating atom 51 51 int *sort; //!< sort criteria 52 52 53 /** Clones this atom. 54 * 55 * Does not clone the bonds! 56 * 57 * @return reference to atom 58 */ 53 59 virtual atom *clone(); 54 60 … … 61 67 virtual void UpdateSteps(); 62 68 69 /** Output of a single atom with given numbering. 70 * \param ElementNo cardinal number of the element 71 * \param AtomNo cardinal number among these atoms of the same element 72 * \param *out stream to output to 73 * \param *comment commentary after '#' sign 74 * \return true - \a *out present, false - \a *out is NULL 75 */ 63 76 bool OutputIndexed(ofstream * const out, const int ElementNo, const int AtomNo, const char *comment = NULL) const; 77 78 /** Output of a single atom with numbering from array according to atom::type. 79 * \param *ElementNo cardinal number of the element 80 * \param *AtomNo cardinal number among these atoms of the same element 81 * \param *out stream to output to 82 * \param *comment commentary after '#' sign 83 * \return true - \a *out present, false - \a *out is NULL 84 */ 64 85 bool OutputArrayIndexed(ostream * const out,const enumeration<const element*>&, int *AtomNo, const char *comment = NULL) const; 86 87 /** Output of a single atom as one line in xyz file. 88 * \param *out stream to output to 89 * \return true - \a *out present, false - \a *out is NULL 90 */ 65 91 bool OutputXYZLine(ofstream *out) const; 92 93 /** Output of a single atom as one line in xyz file. 94 * \param *out stream to output to 95 * \param *ElementNo array with ion type number in the config file this atom's element shall have 96 * \param *AtomNo array with atom number in the config file this atom shall have, is increase by one automatically 97 * \param step Trajectory time step to output 98 * \return true - \a *out present, false - \a *out is NULL 99 */ 66 100 bool OutputTrajectory(ofstream * const out, const enumeration<const element*>&, int *AtomNo, const int step) const; 101 102 /** Output of a single atom as one lin in xyz file. 103 * \param *out stream to output to 104 * \param step Trajectory time step to output 105 * \return true - \a *out present, false - \a *out is NULL 106 */ 67 107 bool OutputTrajectoryXYZ(ofstream * const out, const int step) const; 108 109 /** Outputs the MPQC configuration line for this atom. 110 * \param *out output stream 111 * \param *center center of molecule subtracted from position 112 * \param *AtomNo pointer to atom counter that is increased by one 113 */ 68 114 void OutputMPQCLine(ostream * const out, const Vector *center) const; 69 115 116 /** Initialises the component number array. 117 * Size is set to atom::ListOfBonds.size()+1 (last is th encode end by -1) 118 */ 70 119 void InitComponentNr(); 120 121 /** Resets GraphNr to -1. 122 * 123 */ 71 124 void resetGraphNr(); 72 125 126 /** Check whether father is equal to given atom. 127 * \param *ptr atom to compare father to 128 * \param **res return value (only set if atom::father is equal to \a *ptr) 129 */ 73 130 void EqualsFather ( const atom *ptr, const atom **res ) const; 131 132 /** States whether the given \a *ptr is our father. 133 * 134 * @param ptr atom to compare atom::Father with 135 * @return true - \a *ptr is father, false - not 136 */ 74 137 bool isFather(const atom *ptr); 138 139 /** If we are copy of copy, we are linked to be just a copy. 140 * 141 */ 75 142 void CorrectFather(); 143 144 /** Climbs up the father list until NULL, last is returned. 145 * \return true father, i.e. whose father points to itself, NULL if it could not be found or has none (added hydrogen) 146 */ 76 147 atom *GetTrueFather(); 148 149 /** Compares the indices of \a this atom with a given \a ptr. 150 * \param ptr atom to compare index against 151 * \return true - this one's is smaller, false - not 152 */ 77 153 bool Compare(const atom &ptr) const; 78 154 155 /** Returns distance to a given vector. 156 * \param origin vector to calculate distance to 157 * \return distance 158 */ 79 159 double DistanceToVector(const Vector &origin) const; 160 161 /** Returns squared distance to a given vector. 162 * \param origin vector to calculate distance to 163 * \return distance squared 164 */ 80 165 double DistanceSquaredToVector(const Vector &origin) const; 166 /** Checks whether atom is within the given box. 167 * \param offset offset to box origin 168 * \param *parallelepiped box matrix 169 * \return true - is inside, false - is not 170 */ 81 171 bool IsInShape(const Shape&) const; 82 172 … … 101 191 virtual void setId(atomId_t); 102 192 193 /** Makes the atom be contained in the new molecule \a *_mol. 194 * Uses atom::removeFromMolecule() to delist from old molecule. 195 * \param *_mol pointer to new molecule 196 */ 103 197 void setMolecule(molecule*); 198 199 /** Returns pointer to the molecule which atom belongs to. 200 * \return containing molecule 201 */ 104 202 molecule* getMolecule() const; 203 204 /** Erases the atom in atom::mol's list of atoms and sets it to zero. 205 */ 105 206 void removeFromMolecule(); 106 207 208 /** Getter for ParticleInfo::Nr of the atom. 209 * 210 * @return index 211 */ 107 212 int getNr() const; 108 213
Note:
See TracChangeset
for help on using the changeset viewer.