

Public Member Functions | |
| Molecule (Crystal &cryst, const string &name="") | |
| Constructor. | |
| Molecule (const Molecule &old) | |
| Copy constructor. | |
| ~Molecule () | |
| Destructor. | |
| virtual Molecule * | CreateCopy () const |
| virtual const string & | GetClassName () const |
| Name for this class ("RefinableObj", "Crystal",. | |
| virtual void | Print () const |
| Print some info about the scatterer (ideally this should be one line...). | |
| virtual void | XMLOutput (ostream &os, int indent=0) const |
| Output to stream in well-formed XML. | |
| virtual void | XMLInput (istream &is, const XMLCrystTag &tag) |
| Input From stream. | |
| virtual void | BeginOptimization (const bool allowApproximations=false, const bool enableRestraints=false) |
| This should be called by any optimization class at the begining of an optimization. | |
| virtual void | RandomizeConfiguration () |
| Randomize Configuration (before a global optimization). | |
| virtual void | GlobalOptRandomMove (const REAL mutationAmplitude, const RefParType *type) |
| Make a random move of the current configuration. | |
| virtual REAL | GetLogLikelihood () const |
| Get -log(likelihood) of the current configuration for the object. | |
| virtual void | TagNewBestConfig () const |
| During a global optimization, tells the object that the current config is the latest "best" config. | |
| virtual int | GetNbComponent () const |
| Number of components in the scatterer (eg number of point scatterers). | |
| virtual const ScatteringComponentList & | GetScatteringComponentList () const |
| Get the list of all scattering components for this scatterer. | |
| virtual string | GetComponentName (const int i) const |
| Name for the i-th component of this scatterer. | |
| virtual ostream & | POVRayDescription (ostream &os, const CrystalPOVRayOptions &options) const |
| virtual void | GLInitDisplayList (const bool onlyIndependentAtoms=false, const REAL xMin=-.1, const REAL xMax=1.1, const REAL yMin=-.1, const REAL yMax=1.1, const REAL zMin=-.1, const REAL zMax=1.1, const bool displayEnantiomer=false, const bool displayNames=false) const |
| void | AddAtom (const REAL x, const REAL y, const REAL z, const ScatteringPower *pPow, const string &name, const bool updateDisplay=true) |
| Add an atom. | |
| vector< MolAtom * >::iterator | RemoveAtom (MolAtom &) |
| Remove an atom. | |
| void | AddBond (MolAtom &atom1, MolAtom &atom2, const REAL length, const REAL sigma, const REAL delta, const REAL bondOrder=1., const bool updateDisplay=true) |
| Add a bond. | |
| vector< MolBond * >::iterator | RemoveBond (const MolBond &) |
| Remove a bond. | |
| vector< MolBond * >::const_iterator | FindBond (const MolAtom &, const MolAtom &) const |
| Searches whether a bond between two atoms already exists. | |
| vector< MolBond * >::iterator | FindBond (const MolAtom &, const MolAtom &) |
| Searches whether a bond between two atoms already exists. | |
| void | AddBondAngle (MolAtom &atom1, MolAtom &atom2, MolAtom &atom3, const REAL angle, const REAL sigma, const REAL delta, const bool updateDisplay=true) |
| Add a bond angle restraint. | |
| vector< MolBondAngle * >::iterator | RemoveBondAngle (const MolBondAngle &) |
| Remove a BondAngle. | |
| vector< MolBondAngle * > ::const_iterator | FindBondAngle (const MolAtom &at1, const MolAtom &at0, const MolAtom &at2) const |
| Searches whether a bond between three atoms already exists, searching for either (at1,at2,at3) and (at3,at2,at1), as these are equivalent. | |
| void | AddDihedralAngle (MolAtom &atom1, MolAtom &atom2, MolAtom &atom3, MolAtom &atom4, const REAL angle, const REAL sigma, const REAL delta, const bool updateDisplay=true) |
| Add a dihedral angle restraint. | |
| vector< MolDihedralAngle * > ::iterator | RemoveDihedralAngle (const MolDihedralAngle &) |
| Remove a dihedral angle. | |
| vector< MolDihedralAngle * > ::const_iterator | FindDihedralAngle (const MolAtom &at1, const MolAtom &at2, const MolAtom &at3, const MolAtom &at4) const |
| Searches whether a dihedral between four atoms already exists, searching for either (at1,at2,at3,at4) and (at4,at3,at2,at1), as these are equivalent. | |
| void | AddRigidGroup (const RigidGroup &, const bool updateDisplay=true) |
| Add a rigid group of atoms. | |
| std::vector< RigidGroup * > ::iterator | RemoveRigidGroup (const RigidGroup &group, const bool updateDisplay=true) |
| Remove a rigid group of atoms. | |
| MolAtom & | GetAtom (unsigned int i) |
| const MolAtom & | GetAtom (unsigned int i) const |
| MolAtom & | GetAtom (const string &name) |
| const MolAtom & | GetAtom (const string &name) const |
| vector< MolAtom * > ::reverse_iterator | FindAtom (const string &name) |
| Search a MolAtom from its name. | |
| vector< MolAtom * > ::const_reverse_iterator | FindAtom (const string &name) const |
| Search a MolAtom from its name. | |
| void | OptimizeConformation (const long nbTrial=10000, const REAL stopCost=0.) |
| Minimize configuration from internal restraints (bond lengths, angles and dihedral angles). | |
| const vector< MolAtom * > & | GetAtomList () const |
| const vector< MolBond * > & | GetBondList () const |
| const vector< MolBondAngle * > & | GetBondAngleList () const |
| const vector< MolDihedralAngle * > & | GetDihedralAngleList () const |
| vector< MolAtom * > & | GetAtomList () |
| vector< MolBond * > & | GetBondList () |
| vector< MolBondAngle * > & | GetBondAngleList () |
| vector< MolDihedralAngle * > & | GetDihedralAngleList () |
| list< StretchModeBondLength > & | GetStretchModeBondLengthList () |
| list< StretchModeBondAngle > & | GetStretchModeBondAngleList () |
| list< StretchModeTorsion > & | GetStretchModeTorsionList () |
|
const list < StretchModeBondLength > & | GetStretchModeBondLengthList () const |
|
const list < StretchModeBondAngle > & | GetStretchModeBondAngleList () const |
| const list< StretchModeTorsion > & | GetStretchModeTorsionList () const |
| const std::vector< RigidGroup * > & | GetRigidGroupList () const |
| List of rigid group of atoms. | |
| std::vector< RigidGroup * > & | GetRigidGroupList () |
| List of rigid group of atoms. | |
| void | RotateAtomGroup (const MolAtom &at1, const MolAtom &at2, const set< MolAtom * > &atoms, const REAL angle, const bool keepCenter=true) |
| Rotate a group of atoms around an axis defined by two atoms. | |
| void | RotateAtomGroup (const MolAtom &at, const REAL vx, const REAL vy, const REAL vz, const set< MolAtom * > &atoms, const REAL angle, const bool keepCenter=true) |
| Rotate a group of atoms around an axis defined by one atom and a vector. | |
| void | TranslateAtomGroup (const set< MolAtom * > &atoms, const REAL dx, const REAL dy, const REAL dz, const bool keepCenter=true) |
| Translate a group of atoms in a given direction. | |
| void | RestraintStatus (ostream &os) const |
| Print the status of all restraints (bond length, angles...). | |
|
const map< MolAtom *, set < MolAtom * > > & | GetConnectivityTable () |
| Get the connectivity table. | |
| RefinableObjClock & | GetBondListClock () |
| get the clock associated to the list of bonds | |
| const RefinableObjClock & | GetBondListClock () const |
| get the clock associated to the list of bonds | |
| RefinableObjClock & | GetAtomPositionClock () |
| Get the clock associated to the atomic positions. | |
| const RefinableObjClock & | GetAtomPositionClock () const |
| Get the clock associated to the atomic positions. | |
| RefinableObjClock & | GetRigidGroupClock () |
| Get the clock associated to the list of rigid groups (clicked also whenever a rigid group is modified). | |
| const RefinableObjClock & | GetRigidGroupClock () const |
| Get the clock associated to the list of rigid groups (clicked also whenever a rigid group is modified). | |
| void | RigidifyWithDihedralAngles () |
| Add dihedral angles so as to rigidify the Molecule. | |
| REAL | BondLengthRandomChange (const StretchModeBondLength &mode, const REAL amplitude, const bool respectRestraint=true) |
| Stretch a bond, while respecting the Restraint (if any). | |
| REAL | BondAngleRandomChange (const StretchModeBondAngle &mode, const REAL amplitude, const bool respectRestraint=true) |
| change a bond angle, while respecting the Restraint (if any). | |
| REAL | DihedralAngleRandomChange (const StretchModeTorsion &mode, const REAL amplitude, const bool respectRestraint=true) |
| Change a dihedral angle, while respecting the Restraint (if any). | |
| const MolAtom * | GetCenterAtom () const |
| Get the atom defining the origin of the Molecule Equal to 0 if no atom as been set. | |
| void | SetCenterAtom (const MolAtom &at) |
| Get the atom defining the origin of the Molecule Equal to 0 if no atom as been set. | |
| const std::vector< MolZAtom > & | AsZMatrix (const bool keeporder) const |
| Molecule as Z-matrix. | |
| virtual void | InitRefParList () |
| void | BuildRingList () |
| Build the list of rings in the molecule. | |
| void | BuildConnectivityTable () const |
| Build the Connectivity table. | |
| void | BuildRotorGroup () |
| Build the groups of atoms that will be rotated during global optimization. | |
| void | TuneGlobalOptimRotationAmplitude () |
| Tune the rotation amplitude for free torsions and for the overall Molecule Rotation. | |
| void | BuildFlipGroup () |
| Build the groups of atoms that can be flipped. | |
| void | BuildStretchModeBondLength () |
| Build the groups of atoms moved when stretching a bond length, while respecting the Molecule restraints. | |
| void | BuildStretchModeBondAngle () |
| Build the groups of atoms moved when changing a bond angle, while respecting the Molecule restraints. | |
| void | BuildStretchModeTorsion () |
| Build the groups of atoms moved when changing a dihedral angle, while respecting the Molecule restraints. | |
| void | BuildStretchModeTwist () |
| Build the groups of atoms used to twist internally the Molecule, e.g. | |
| void | BuildStretchModeGroups () |
| Separate StretchMode that break more than their assigned restraint from others. | |
| void | UpdateScattCompList () const |
| Update the Molecule::mScattCompList from the cartesian coordinates of all atoms, and the orientation parameters. | |
| void | InitOptions () |
| Build options for this object. | |
| void | FlipAtomGroup (const FlipGroup &) |
| Flip a group of atom. See Molecule::FlipGroup. | |
Public Attributes | |
| ScatteringComponentList | mScattCompList |
| The list of scattering components. | |
| vector< MolAtom * > | mvpAtom |
| The list of atoms. | |
| vector< MolBond * > | mvpBond |
| The list of bonds. | |
| vector< MolBondAngle * > | mvpBondAngle |
| The list of bond angles. | |
| vector< MolDihedralAngle * > | mvpDihedralAngle |
| The list of dihedral angles. | |
| map< MolAtom *, std::vector < MolBond * > > | mvAtomBond |
| List of Bonds for each atom. | |
| std::vector< RigidGroup * > | mvRigidGroup |
| Rigid groups of atoms. | |
| list< MolRing > | mvRing |
| The list of rings. | |
| Quaternion | mQuat |
| The unit quaternion defining the orientation. | |
| REAL | mBaseRotationAmplitude |
| Base Rotation amplitude (in radians) for the Molecule, so that the average atomic displacement is equal to 0.1 A. | |
| RefinableObjClock | mClockAtomList |
| RefinableObjClock | mClockBondList |
| RefinableObjClock | mClockBondAngleList |
| RefinableObjClock | mClockDihedralAngleList |
| RefinableObjClock | mClockRigidGroup |
| RefinableObjClock | mClockAtomPosition |
| RefinableObjClock | mClockAtomScattPow |
| RefinableObjClock | mClockOrientation |
| RefinableObjClock | mClockLogLikelihood |
| RefinableObjClock | mClockConnectivityTable |
| RefinableObjClock | mClockRingList |
| RefinableObjClock | mClockRotorGroup |
| RefinableObjClock | mClockFlipGroup |
| RefinableObjClock | mClockStretchModeBondLength |
| RefinableObjClock | mClockStretchModeBondAngle |
| RefinableObjClock | mClockStretchModeTorsion |
| RefinableObjClock | mClockStretchModeTwist |
| unsigned long | mLocalParamSet |
| unsigned long | mRandomConformChangeNbTest |
| unsigned long | mRandomConformChangeNbAccept |
| REAL | mRandomConformChangeTemp |
| REAL | mLastLogLike |
| bool | mIsSelfOptimizing |
| RefObjOpt | mFlexModel |
| OPtion for the different types of flexibility possible for this molecule: rigid body, free atoms + restraints, torsion angles. | |
| RefObjOpt | mAutoOptimizeConformation |
| Option to automatically optimize the starting conformation, if the total restraint cost is too high. | |
| RefObjOpt | mOptimizeOrientation |
| Option to optimize the Molecule's orientation. | |
| RefObjOpt | mMoleculeCenter |
| Option to choose the center of rotation of the Molecule for the global orientation either as the geometrical center, or as a given atom. | |
| const MolAtom * | mpCenterAtom |
| Atom chosen as center of rotation, if mRotationCenter is set to use an atom rather than the geometrical center. | |
| map< MolAtom *, set< MolAtom * > > | mConnectivityTable |
| Connectivity table: for each atom, keep the list of atoms bonded to it. | |
| list< RotorGroup > | mvRotorGroupTorsion |
| List of RotorGroups corresponding to free torsion bonds. | |
| list< RotorGroup > | mvRotorGroupTorsionSingleChain |
| List of RotorGroups corresponding to free torsion bonds, but with only one chain of atoms listed. | |
| list< RotorGroup > | mvRotorGroupInternal |
| List of RotorGroups for internal rotations. | |
| list< FlipGroup > | mvFlipGroup |
| The list of FlipGroups. | |
| list< StretchModeBondLength > | mvStretchModeBondLength |
| List of StretchModeBondLength. | |
| list< StretchModeBondAngle > | mvStretchModeBondAngle |
| List of StretchModeBondLength. | |
| list< StretchModeTorsion > | mvStretchModeTorsion |
| List of StretchModeBondLength. | |
| list< StretchModeTwist > | mvStretchModeTwist |
| List of StretchModeTwist. | |
| std::list< StretchMode * > | mvpStretchModeFree |
| Groups of StretchMode not breaking any restraint (unless the one they are associated to). | |
| std::list< StretchMode * > | mvpStretchModeNotFree |
| Groups of StretchMode breaking restraints (beyond the one they are associated to). | |
| std::vector< MolZAtom > | mAsZMatrix |
| The Molecule, as a lightweight ZMatrix, for export purposes. | |
| REAL | mLogLikelihood |
| The current log(likelihood). | |
Classes | |
| struct | FlipGroup |
| When 3(A1. More... | |
| struct | RotorGroup |
| Defines a group of atoms which can be rotated around an axis defined by two other atoms. More... | |
| struct | StretchModeGroup |
| Group of concurrent StretchModes (affecting common restraints) A given stretch mode can only belong to one group. More... | |
This can also be used for non-organic compounds (polyhedras etc...)
: all atoms must be somehow connected
Definition at line 646 of file Molecule.h.
| ObjCryst::Molecule::Molecule | ( | Crystal & | cryst, | |
| const string & | name = "" | |||
| ) |
| ObjCryst::Molecule::Molecule | ( | const Molecule & | old | ) |
| ObjCryst::Molecule::~Molecule | ( | ) |
| Molecule * ObjCryst::Molecule::CreateCopy | ( | ) | const [virtual] |
For internal use only.
so-called Virtual copy constructor, needed to make copies of arrays of Scatterers
Implements ObjCryst::Scatterer.
Definition at line 1787 of file Molecule.cpp.
| const string & ObjCryst::Molecule::GetClassName | ( | ) | const [virtual] |
Name for this class ("RefinableObj", "Crystal",.
..). This is only useful to distinguish different classes when picking up objects from the RefinableObj Global Registry
Reimplemented from ObjCryst::Scatterer.
Definition at line 1793 of file Molecule.cpp.
| void ObjCryst::Molecule::XMLOutput | ( | ostream & | os, | |
| int | indent = 0 | |||
| ) | const [virtual] |
Output to stream in well-formed XML.
Reimplemented from ObjCryst::RefinableObj.
Definition at line 1805 of file Molecule.cpp.
| void ObjCryst::Molecule::XMLInput | ( | istream & | is, | |
| const XMLCrystTag & | tag | |||
| ) | [virtual] |
Input From stream.
Reimplemented from ObjCryst::RefinableObj.
Definition at line 1882 of file Molecule.cpp.
| void ObjCryst::Molecule::BeginOptimization | ( | const bool | allowApproximations = false, |
|
| const bool | enableRestraints = false | |||
| ) | [virtual] |
This should be called by any optimization class at the begining of an optimization.
This will also check that everything is ready, eg call the RefinableObj::Prepare() function. This also affects all sub-objects.
| allowApproximations,: | if true, then the object can use faster but less precise functions during the optimization. This is useful for global optimization not using derivatives. | |
| enableRestraints,: | if true, then restrained parameters will be allowed to go beyond theur hard limits. This implies that the algorithm will take into account the cost (penalty) related to the restraints. Objects which do not use restraints will simply ignore this. WARNING: this parameter may be removed with the new likelihood scheme. |
Reimplemented from ObjCryst::RefinableObj.
Definition at line 1982 of file Molecule.cpp.
| void ObjCryst::Molecule::RandomizeConfiguration | ( | ) | [virtual] |
Randomize Configuration (before a global optimization).
This Affects only parameters which are limited and not fixed. The randomization also affects all sub-objects (recursive).
Reimplemented from ObjCryst::RefinableObj.
Definition at line 2021 of file Molecule.cpp.
| void ObjCryst::Molecule::GlobalOptRandomMove | ( | const REAL | mutationAmplitude, | |
| const RefParType * | type | |||
| ) | [virtual] |
Make a random move of the current configuration.
This is for global optimization algorithms. the moves for each parameter are less than their global optimization step, multiplied by the mutation amplitude.
| mutationAmplitude,: | multiplier for the maximum move amplitude, for all parameters | |
| type,: | restrain the change exclusively to parameters of a given type (same type or descendant from this RefParType). |
Reimplemented from ObjCryst::RefinableObj.
Definition at line 2082 of file Molecule.cpp.
| REAL ObjCryst::Molecule::GetLogLikelihood | ( | ) | const [virtual] |
Get -log(likelihood) of the current configuration for the object.
By default (no likelihood evaluation available), this is equal to 0.
This call should not be recursive, it is the task of the algorithm to get the sum of likelihoods for all objects invlolved.
Reimplemented from ObjCryst::RefinableObj.
Definition at line 2304 of file Molecule.cpp.
| void ObjCryst::Molecule::TagNewBestConfig | ( | ) | const [virtual] |
During a global optimization, tells the object that the current config is the latest "best" config.
This can be used by the object to make more intellingent random moves (use with caution: highly experimental !).
Reimplemented from ObjCryst::RefinableObj.
Definition at line 2317 of file Molecule.cpp.
| const ScatteringComponentList & ObjCryst::Molecule::GetScatteringComponentList | ( | ) | const [virtual] |
Get the list of all scattering components for this scatterer.
This is the most important function of this class, giving the list of scattering positions along with the associated ScatteringPower.
Implements ObjCryst::Scatterer.
Definition at line 2350 of file Molecule.cpp.
| string ObjCryst::Molecule::GetComponentName | ( | const int | i | ) | const [virtual] |
Name for the i-th component of this scatterer.
If the component is an Atom, Then the name is that of the atom. Else, it is the name of the scatterer plus the component number in the scatterer plus the name of the ScatteringPower.
Implements ObjCryst::Scatterer.
Definition at line 2358 of file Molecule.cpp.
| ostream & ObjCryst::Molecule::POVRayDescription | ( | ostream & | os, | |
| const CrystalPOVRayOptions & | options | |||
| ) | const [virtual] |
For internal use only.
Output a description of the scatterer for POVRay. This should only be called by the Crystal Object to which belongs this scatterer.
Implements ObjCryst::Scatterer.
Definition at line 2364 of file Molecule.cpp.
| void ObjCryst::Molecule::GLInitDisplayList | ( | const bool | noSymmetrics = false, |
|
| const REAL | xMin = -.1, |
|||
| const REAL | xMax = 1.1, |
|||
| const REAL | yMin = -.1, |
|||
| const REAL | yMax = 1.1, |
|||
| const REAL | zMin = -.1, |
|||
| const REAL | zMax = 1.1, |
|||
| const bool | displayEnantiomer = false, |
|||
| const bool | displayNames = false | |||
| ) | const [virtual] |
For internal use only.
Create an OpenGL Display List of the scatterer. This should only be called by a Crystal object.
| noSymmetrics,: | if false (the default), then all symmetrics are shown in the 3D display, within the limits defined by the min/max parameters \ param xMin,xMax,yMin,yMax,zMin,zMax: in fractionnal coordinates, the region in which we want scaterrer to be displayed. The test is made on the center of the scatterer (eg a ZScatterer (molecule) will not be 'cut' on the border). | |
| displayNames,: | if true, only the names of the scatterers will be displayed, at the position of the scatterers (to actually see them, they will have to be translated with respect to the drawing of the scatterers). |
Implements ObjCryst::Scatterer.
Definition at line 2534 of file Molecule.cpp.
| void ObjCryst::Molecule::AddAtom | ( | const REAL | x, | |
| const REAL | y, | |||
| const REAL | z, | |||
| const ScatteringPower * | pPow, | |||
| const string & | name, | |||
| const bool | updateDisplay = true | |||
| ) |
Remove an atom.
Returns the iterator to the next atom in the list.
This also removes all corresponding bonds, bond angles, etc...
Definition at line 2874 of file Molecule.cpp.
Remove a bond.
Returns the iterator to the next bond in the list.
Definition at line 2939 of file Molecule.cpp.
| vector< MolBond * >::const_iterator ObjCryst::Molecule::FindBond | ( | const MolAtom & | at1, | |
| const MolAtom & | at2 | |||
| ) | const |
Searches whether a bond between two atoms already exists.
If no bond is found, returns Molecule::mvpAtom.end().
Definition at line 2958 of file Molecule.cpp.
| vector< MolBond * >::iterator ObjCryst::Molecule::FindBond | ( | const MolAtom & | at1, | |
| const MolAtom & | at2 | |||
| ) |
Searches whether a bond between two atoms already exists.
If no bond is found, returns Molecule::mvpAtom.end().
Definition at line 2968 of file Molecule.cpp.
| vector< MolBondAngle * >::iterator ObjCryst::Molecule::RemoveBondAngle | ( | const MolBondAngle & | angle | ) |
| vector< MolBondAngle * >::const_iterator ObjCryst::Molecule::FindBondAngle | ( | const MolAtom & | at1, | |
| const MolAtom & | at0, | |||
| const MolAtom & | at2 | |||
| ) | const |
Searches whether a bond between three atoms already exists, searching for either (at1,at2,at3) and (at3,at2,at1), as these are equivalent.
If no bond angle is found, returns Molecule::mvpBondAngle.end().
Definition at line 3010 of file Molecule.cpp.
| vector< MolDihedralAngle * >::iterator ObjCryst::Molecule::RemoveDihedralAngle | ( | const MolDihedralAngle & | angle | ) |
| vector< MolDihedralAngle * >::const_iterator ObjCryst::Molecule::FindDihedralAngle | ( | const MolAtom & | at1, | |
| const MolAtom & | at2, | |||
| const MolAtom & | at3, | |||
| const MolAtom & | at4 | |||
| ) | const |
Searches whether a dihedral between four atoms already exists, searching for either (at1,at2,at3,at4) and (at4,at3,at2,at1), as these are equivalent.
If no dihedral angle is found, returns Molecule::mvpDihedralAngle.end().
Definition at line 3059 of file Molecule.cpp.
| void ObjCryst::Molecule::AddRigidGroup | ( | const RigidGroup & | group, | |
| const bool | updateDisplay = true | |||
| ) |
Add a rigid group of atoms.
Definition at line 3076 of file Molecule.cpp.
| vector< RigidGroup * >::iterator ObjCryst::Molecule::RemoveRigidGroup | ( | const RigidGroup & | group, | |
| const bool | updateDisplay = true | |||
| ) |
Remove a rigid group of atoms.
Definition at line 3085 of file Molecule.cpp.
| vector< MolAtom * >::reverse_iterator ObjCryst::Molecule::FindAtom | ( | const string & | name | ) |
Search a MolAtom from its name.
Search begins at the end, and the first match is returned. returns mvAtom.rend() if no atom matches
Definition at line 6050 of file Molecule.cpp.
| vector< MolAtom * >::const_reverse_iterator ObjCryst::Molecule::FindAtom | ( | const string & | name | ) | const |
Search a MolAtom from its name.
Search begins at the end, and the first match is returned. returns mvAtom.rend() if no atom matches
Definition at line 6063 of file Molecule.cpp.
| void ObjCryst::Molecule::OptimizeConformation | ( | const long | nbTrial = 10000, |
|
| const REAL | stopCost = 0. | |||
| ) |
Minimize configuration from internal restraints (bond lengths, angles and dihedral angles).
Useful when adding manually atoms to get an initial reasonable configuration.
Definition at line 3103 of file Molecule.cpp.
| const std::vector< RigidGroup * > & ObjCryst::Molecule::GetRigidGroupList | ( | ) | const |
List of rigid group of atoms.
Definition at line 3139 of file Molecule.cpp.
| std::vector< RigidGroup * > & ObjCryst::Molecule::GetRigidGroupList | ( | ) |
List of rigid group of atoms.
Definition at line 3140 of file Molecule.cpp.