

Public Member Functions | |
| Atom () | |
| Default constructor. | |
| Atom (const REAL x, const REAL y, const REAL z, const string &name, const ScatteringPower *pow) | |
| Atom constructor. | |
| Atom (const REAL x, const REAL y, const REAL z, const string &name, const ScatteringPower *pow, const REAL popu) | |
| Atom constructor. | |
| Atom (const Atom &old) | |
| Copy constructor. | |
| virtual Atom * | CreateCopy () const |
| ~Atom () | |
| Destructor... | |
| virtual const string & | GetClassName () const |
| Name for this class ("RefinableObj", "Crystal",. | |
| virtual void | operator= (const Atom &rhs) |
| void | Init (const REAL x, const REAL y, const REAL z, const string &name, const ScatteringPower *pow, const REAL popu=1) |
| initialize the atom (used for arrays of atoms). | |
| 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 void | Print () const |
| Print some info about the scatterer (ideally this should be one line...). | |
| REAL | GetMass () const |
| Returns the molar mass of the atom. | |
| REAL | GetRadius () const |
| Returns the radius (in Angstroems) of the atom. | |
| virtual ostream & | POVRayDescription (ostream &os, const CrystalPOVRayOptions &options) const |
| XMLOutput a description of the scatterer for POVRay. | |
| 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 |
| bool | IsDummy () const |
| Is this a dummy atom ? (ie no ScatteringPower) Dummy atoms should not exist ! | |
| 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. | |
| const ScatteringPower & | GetScatteringPower () const |
| Get the ScatteringPowerAtom corresponding to this atom. | |
| virtual void | GetGeneGroup (const RefinableObj &obj, CrystVector_uint &groupIndex, unsigned int &firstGroup) const |
| Get the gene group assigned to each parameter. | |
Private Member Functions | |
| virtual void | InitRefParList () |
| Prepare refinable parameters for the scatterer object. | |
Private Attributes | |
| ScatteringComponentList | mScattCompList |
| The list of scattering components. | |
| const ScatteringPower * | mpScattPowAtom |
| The ScatteringPowerAtom associated to that atom. | |
This class records the position of the atom, and has a pointer to its ScatteringPowerAtom.
Definition at line 57 of file Atom.h.
| ObjCryst::Atom::Atom | ( | ) |
Default constructor.
The Atom must be initialized thereafter using Atom::Init()
| ObjCryst::Atom::Atom | ( | const REAL | x, | |
| const REAL | y, | |||
| const REAL | z, | |||
| const string & | name, | |||
| const ScatteringPower * | pow | |||
| ) |
Atom constructor.
| x,y,z | : fractional coordinates of the atom | |
| pow | : the ScatteringPower associated to this atom. Must be allocated separately. | |
| name | : name of the atom ('Ta1','Sm2', 'Tungsten_1'...). The name can have any format but spaces should be avoided. |
| ObjCryst::Atom::Atom | ( | const REAL | x, | |
| const REAL | y, | |||
| const REAL | z, | |||
| const string & | name, | |||
| const ScatteringPower * | pow, | |||
| const REAL | popu | |||
| ) |
Atom constructor.
| x,y,z | : fractional coordinates of the atom | |
| popu | : the population of the atom (0.0->1.0) This should take into account the multiplicity of the atom. For an atom in group P2 and on the 2 axis, this should be set to 0.5, unless you are using the dynamical occupancy correction (recommended for global optimizations). See Crystal::CalcDynPopCorr() and Crystal::mUseDynPopCorr | |
| pow | : the ScatteringPower associated to this atom. Must be allocated separatly. | |
| name | : name of the atom ('Ta1','Sm2', 'Tungsten_1'...). The name can have any format but spaces should be avoided (just a precaution) |
| Atom * ObjCryst::Atom::CreateCopy | ( | ) | const [virtual] |
For internal use only.
so-called Virtual copy constructor, needed to make copies of arrays of Scatterers
Implements ObjCryst::Scatterer.
| const string & ObjCryst::Atom::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.
| void ObjCryst::Atom::Init | ( | const REAL | x, | |
| const REAL | y, | |||
| const REAL | z, | |||
| const string & | name, | |||
| const ScatteringPower * | pow, | |||
| const REAL | popu = 1 | |||
| ) |
initialize the atom (used for arrays of atoms).
| x,y,z | : fractional coordinates of the atom | |
| pow | : the ScatteringPower associated to this atom. Must be allocated separately. | |
| name | : name of the atom ('Ta1','Sm2', 'Tungsten_1'...). |
| const ScatteringComponentList & ObjCryst::Atom::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.
| string ObjCryst::Atom::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.
| REAL ObjCryst::Atom::GetMass | ( | ) | const |
Returns the molar mass of the atom.
Values are extracted from the 'atominfo' package, which uses data from the CRC Handbook of Chemistry & Physics, 63rd & 70th editions The Mass is actually extracted from the ScatteringPowerAtom.
| REAL ObjCryst::Atom::GetRadius | ( | ) | const |
Returns the radius (in Angstroems) of the atom.
Values are extracted from the 'atominfo' package, which uses data from the ICSD/CRYSTIN Manual The Radius is extracted from the ScatteringPowerAtom.
| ostream & ObjCryst::Atom::POVRayDescription | ( | ostream & | os, | |
| const CrystalPOVRayOptions & | options | |||
| ) | const [virtual] |
| void ObjCryst::Atom::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.
| void ObjCryst::Atom::XMLOutput | ( | ostream & | os, | |
| int | indent = 0 | |||
| ) | const [virtual] |
Output to stream in well-formed XML.
Reimplemented from ObjCryst::RefinableObj.
Definition at line 315 of file ObjCryst/IO.cpp.
| void ObjCryst::Atom::XMLInput | ( | istream & | is, | |
| const XMLCrystTag & | tag | |||
| ) | [virtual] |
Input From stream.
Reimplemented from ObjCryst::RefinableObj.
Definition at line 346 of file ObjCryst/IO.cpp.
| void ObjCryst::Atom::GetGeneGroup | ( | const RefinableObj & | obj, | |
| CrystVector_uint & | groupIndex, | |||
| unsigned int & | firstGroup | |||
| ) | const [virtual] |
Get the gene group assigned to each parameter.
Each parameter (a gene in terms of genetic algorithms) can be assigned to a gene group. Thus when mating two configurations, genes will be exchanged by groups. By default (in the base RefinabeObj class), each parameter is alone in its group. Derived classes can group genes for a better s** life.
The number identifying a gene group only has a meaning in a given object. It can also change on subsequent calls, and thus is not unique.
| obj | the , supplied by an algorithm class (OptimizationObj,..), which contains a list of parameters, some of which (but possibly all or none) are parameters belonging to this object. | |
| groupIndex | a vector of unsigned integers, one for each parameter in the input object, giving an unsigned integer value as gene group index. At the beginning this vector should contain only zeros (no group assigned). | |
| firstGroup | this is the number of groups which have already been assigned, plus one. The gene groups returned by this object will start from this value, and increment firstGroup for each gene group used, so that different RefinableObj cannot share a gene group. |
Reimplemented from ObjCryst::RefinableObj.
1.5.5