#include <Atom.h>
Inheritance diagram for ObjCryst::Atom::
Public Methods | |
Atom () | |
Default constructor. The Atom must be initialized thereafter using Atom::Init(). | |
Atom (const REAL x, const REAL y, const REAL z, const string &name, const ScatteringPowerAtom *pow) | |
Atom constructor. More... | |
Atom (const REAL x, const REAL y, const REAL z, const string &name, const ScatteringPowerAtom *pow, const REAL popu) | |
Atom constructor. More... | |
Atom (const Atom &old) | |
Copy constructor. | |
virtual Atom * | CreateCopy () const |
so-called Virtual copy constructor, needed to make copies of arrays of Scatterers. More... | |
~Atom () | |
Destructor... | |
virtual const string & | GetClassName () const |
Name for this class ("RefinableObj", "Crystal",...). This is only useful to distinguish different classes when picking up objects from the RefinableObj Global Registry. | |
virtual void | operator= (const Atom &rhs) |
void | Init (const REAL x, const REAL y, const REAL z, const string &name, const ScatteringPowerAtom *pow, const REAL popu=1) |
initialize the atom (used for arrays of atoms). More... | |
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. More... | |
virtual string | GetComponentName (const int i) const |
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.
| |
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. More... | |
REAL | GetRadius () const |
Returns the radius (in Angstroems) of the atom. More... | |
virtual ostream & | POVRayDescription (ostream &os, const bool onlyIndependentAtoms=false) 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 | 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. More... | |
virtual void | XMLInput (istream &is, const XMLCrystTag &tag) |
Input From stream. More... | |
const ScatteringPowerAtom & | 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. More... | |
Private Methods | |
virtual void | InitRefParList () |
Prepare refinable parameters for the scatterer object. | |
Private Attributes | |
ScatteringComponentList | mScattCompList |
The list of scattering components. | |
const ScatteringPowerAtom * | mpScattPowAtom |
The ScatteringPowerAtom associated to that atom. |
|
Atom constructor.
|
|
Atom constructor.
|
|
so-called Virtual copy constructor, needed to make copies of arrays of Scatterers.
For internal use only.
Reimplemented from ObjCryst::Scatterer. |
|
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.
Reimplemented from ObjCryst::Scatterer. |
|
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.
Reimplemented from ObjCryst::RefinableObj. |
|
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. |
|
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. |
|
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. Reimplemented from ObjCryst::Scatterer. |
|
For internal use only. Create an OpenGL Display List of the scatterer. This should only be called by a Crystal object.
Reimplemented from ObjCryst::Scatterer. |
|
initialize the atom (used for arrays of atoms).
|
|
Input From stream.
Reimplemented from ObjCryst::RefinableObj. |
|
Output to stream in well-formed XML.
Reimplemented from ObjCryst::RefinableObj. |