23 #ifndef _OBJCRYST_ATOM_H_
24 #define _OBJCRYST_ATOM_H_
26 #include "ObjCryst/CrystVector/CrystVector.h"
28 #include "ObjCryst/ObjCryst/General.h"
30 #include "ObjCryst/ObjCryst/ScatteringPower.h"
31 #include "ObjCryst/ObjCryst/Scatterer.h"
69 Atom(
const REAL x,
const REAL y,
const REAL z,
84 Atom(
const REAL x,
const REAL y,
const REAL z,
const string &name,
93 virtual void operator=(
const Atom & rhs);
100 void Init(
const REAL x,
const REAL y,
const REAL z,
108 virtual void Print()
const;
130 const REAL xMin=-.1,
const REAL xMax=1.1,
131 const REAL yMin=-.1,
const REAL yMax=1.1,
132 const REAL zMin=-.1,
const REAL zMax=1.1,
133 const bool displayEnantiomer=
false,
134 const bool displayNames=
false,
135 const bool hideHydrogens=
false)
const;
141 virtual void XMLOutput(ostream &os,
int indent=0)
const;
147 CrystVector_uint & groupIndex,
148 unsigned int &firstGroup)
const;
168 #include "ObjCryst/ObjCryst/Crystal.h"
170 #endif //_OBJCRYST_ATOM_H_
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 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 hideHydrogens=false) const
virtual void XMLOutput(ostream &os, int indent=0) const
Output to stream in well-formed XML.
virtual void Print() const
Print some info about the scatterer (ideally this should be one line...).
virtual Atom * CreateCopy() const
Generic Refinable Object.
REAL GetMass() const
Returns the molar mass of the atom.
Abstract base class for all objects in wxCryst.
The basic atom scatterer, in a crystal.
ScatteringComponentList mScattCompList
The list of scattering components.
Class to store POV-Ray output options.
const ScatteringPower * mpScattPowAtom
The ScatteringPowerAtom associated to that atom.
virtual void GetGeneGroup(const RefinableObj &obj, CrystVector_uint &groupIndex, unsigned int &firstGroup) const
Get the gene group assigned to each parameter.
virtual const ScatteringComponentList & GetScatteringComponentList() const
Get the list of all scattering components for this scatterer.
Atom()
Default constructor.
virtual const string & GetClassName() const
Name for this class ("RefinableObj", "Crystal",...).
The namespace which includes all objects (crystallographic and algorithmic) in ObjCryst++.
virtual string GetComponentName(const int i) const
Name for the i-th component of this scatterer.
virtual void InitRefParList()
Prepare refinable parameters for the scatterer object.
class to input or output a well-formatted xml beginning or ending tag.
virtual ostream & POVRayDescription(ostream &os, const CrystalPOVRayOptions &options) const
XMLOutput a description of the scatterer for POVRay.
list of scattering positions in a crystal, associated with the corresponding occupancy and a pointer ...
bool IsDummy() const
Is this a dummy atom ? (ie no ScatteringPower) Dummy atoms should not exist !
Generic type of scatterer: can be an atom, or a more complex assembly of atoms.
REAL GetRadius() const
Returns the radius (in Angstroems) of the atom.
virtual void XMLInput(istream &is, const XMLCrystTag &tag)
Input From stream.
const ScatteringPower & GetScatteringPower() const
Get the ScatteringPowerAtom corresponding to this atom.
Abstract Base Class to describe the scattering power of any Scatterer component in a crystal...