#include <Atom.h>
Inheritance diagram for ObjCryst::Atom::
Public Methods | |
Atom () | |
Default constructor. The Atom must be initialized thereafter using Atom::Init(). | |
Atom (const double x, const double y, const double z, const string &name, const ScatteringPowerAtom *pow) | |
Atom constructor. More... | |
Atom (const double x, const double y, const double z, const string &name, const ScatteringPowerAtom *pow, const double 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. | |
~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 double x, const double y, const double z, const string &name, const ScatteringPowerAtom *pow, const double 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...). | |
double | GetMass () const |
Returns the molar mass of the atom. More... | |
double | 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 double xMin=-.1, const double xMax=1.1, const double yMin=-.1, const double yMax=1.1, const double zMin=-.1, const double 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. | |
Private Methods | |
virtual void | Update () const |
Update the scatterer's parameters (scattering positions, occupancy). More... | |
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.
|
|
Create an OpenGL Display List of the scatterer. This should only be called by a Crystal object.
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. |
|
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. |
|
initialize the atom (used for arrays of atoms).
|
|
Update the scatterer's parameters (scattering positions, occupancy). This is necessary for composite scatterers (eg not atoms), which include more than a single scattering center. The coordinates of all scattering points are updated from the scatterer's parameters. This is automatically called each time GetScatteringComponentList() is used. As always, update is only made if nessary (ie if one parameter determining the atom positions has changed).
Reimplemented from ObjCryst::Scatterer. |
|
Input From stream.
Reimplemented from ObjCryst::RefinableObj. |
|
Output to stream in well-formed XML.
Reimplemented from ObjCryst::RefinableObj. |