Changeset 1363de
- 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)
- Location:
- src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/atom.cpp
r09ac12 r1363de 36 36 37 37 38 /** Constructor of class atom.39 */40 38 atom::atom() : 41 39 father(this), … … 44 42 {}; 45 43 46 /** Constructor of class atom.47 */48 44 atom::atom(atom *pointer) : 49 45 ParticleInfo(pointer), … … 83 79 } 84 80 85 /** Climbs up the father list until NULL, last is returned.86 * \return true father, i.e. whose father points to itself, NULL if it could not be found or has none (added hydrogen)87 */88 81 atom *atom::GetTrueFather() 89 82 { … … 110 103 }; 111 104 112 /** Check whether father is equal to given atom.113 * \param *ptr atom to compare father to114 * \param **res return value (only set if atom::father is equal to \a *ptr)115 */116 105 void atom::EqualsFather ( const atom *ptr, const atom **res ) const 117 106 { … … 124 113 } 125 114 126 /** Checks whether atom is within the given box.127 * \param offset offset to box origin128 * \param *parallelepiped box matrix129 * \return true - is inside, false - is not130 */131 115 bool atom::IsInShape(const Shape& shape) const 132 116 { … … 134 118 }; 135 119 136 /** Output of a single atom with given numbering.137 * \param ElementNo cardinal number of the element138 * \param AtomNo cardinal number among these atoms of the same element139 * \param *out stream to output to140 * \param *comment commentary after '#' sign141 * \return true - \a *out present, false - \a *out is NULL142 */143 120 bool atom::OutputIndexed(ofstream * const out, const int ElementNo, const int AtomNo, const char *comment) const 144 121 { … … 158 135 }; 159 136 160 /** Output of a single atom with numbering from array according to atom::type.161 * \param *ElementNo cardinal number of the element162 * \param *AtomNo cardinal number among these atoms of the same element163 * \param *out stream to output to164 * \param *comment commentary after '#' sign165 * \return true - \a *out present, false - \a *out is NULL166 */167 137 bool atom::OutputArrayIndexed(ostream * const out,const enumeration<const element*> &elementLookup, int *AtomNo, const char *comment) const 168 138 { … … 185 155 }; 186 156 187 /** Output of a single atom as one line in xyz file.188 * \param *out stream to output to189 * \return true - \a *out present, false - \a *out is NULL190 */191 157 bool atom::OutputXYZLine(ofstream *out) const 192 158 { … … 198 164 }; 199 165 200 /** Output of a single atom as one line in xyz file.201 * \param *out stream to output to202 * \param *ElementNo array with ion type number in the config file this atom's element shall have203 * \param *AtomNo array with atom number in the config file this atom shall have, is increase by one automatically204 * \param step Trajectory time step to output205 * \return true - \a *out present, false - \a *out is NULL206 */207 166 bool atom::OutputTrajectory(ofstream * const out, const enumeration<const element*> &elementLookup, int *AtomNo, const int step) const 208 167 { … … 224 183 }; 225 184 226 /** Output of a single atom as one lin in xyz file.227 * \param *out stream to output to228 * \param step Trajectory time step to output229 * \return true - \a *out present, false - \a *out is NULL230 */231 185 bool atom::OutputTrajectoryXYZ(ofstream * const out, const int step) const 232 186 { … … 241 195 }; 242 196 243 /** Outputs the MPQC configuration line for this atom.244 * \param *out output stream245 * \param *center center of molecule subtracted from position246 * \param *AtomNo pointer to atom counter that is increased by one247 */248 197 void atom::OutputMPQCLine(ostream * const out, const Vector *center) const 249 198 { … … 253 202 }; 254 203 255 /** Compares the indices of \a this atom with a given \a ptr.256 * \param ptr atom to compare index against257 * \return true - this one's is smaller, false - not258 */259 204 bool atom::Compare(const atom &ptr) const 260 205 { … … 265 210 }; 266 211 267 /** Returns squared distance to a given vector.268 * \param origin vector to calculate distance to269 * \return distance squared270 */271 212 double atom::DistanceSquaredToVector(const Vector &origin) const 272 213 { … … 274 215 }; 275 216 276 /** Returns distance to a given vector.277 * \param origin vector to calculate distance to278 * \return distance279 */280 217 double atom::DistanceToVector(const Vector &origin) const 281 218 { … … 283 220 }; 284 221 285 /** Initialises the component number array.286 * Size is set to atom::ListOfBonds.size()+1 (last is th encode end by -1)287 */288 222 void atom::InitComponentNr() 289 223 { … … 347 281 } 348 282 349 /** Makes the atom be contained in the new molecule \a *_mol.350 * Uses atom::removeFromMolecule() to delist from old molecule.351 * \param *_mol pointer to new molecule352 */353 283 void atom::setMolecule(molecule *_mol){ 354 284 // take this atom from the old molecule … … 360 290 } 361 291 362 /** Returns pointer to the molecule which atom belongs to.363 * \return containing molecule364 */365 292 molecule* atom::getMolecule() const { 366 293 return mol; 367 294 } 368 295 369 /** Erases the atom in atom::mol's list of atoms and sets it to zero.370 */371 296 void atom::removeFromMolecule(){ 372 297 if(mol){ -
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.