Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

ObjCryst Namespace Reference

The namespace which includes all objects (crystallographic and algorithmic) in ObjCryst++. More...


Classes

class  Atom
 The basic atom scatterer, in a crystal. More...

class  CIFData
 The CIFData class holds all the information from a single data_ block from a cif file. More...

struct  CIFData::CIFAtom
 Atom record. More...

class  CIF
 Main CIF class - parses the stream and separates data blocks, comments, items, loops. More...

class  NiftyStaticGlobalObjectsInitializer_Crystal
class  Crystal
 Crystal class: Unit cell, spacegroup, scatterers. More...

struct  Crystal::BumpMergePar
 Storage for anti-bump/merge parameters. More...

struct  Crystal::Neighbour
 Interatomic distance for a given neighbour. More...

struct  Crystal::NeighbourHood
 Table of neighbours for a given unique atom. More...

class  DiffractionDataSingleCrystal
 DiffractionData object for Single Crystal analysis. More...

class  ObjCrystException
 Exception class for ObjCryst++ library. More...

class  SymmetricPairCompare
 Class to compare pairs of objects, with the two objects playing a symmetric role. More...

struct  CrystalPOVRayOptions
 Class to store POV-Ray output options. More...

struct  XYZ
 Structure holding 3 coordinates, or deriviatives with respect to each of these coordinates. More...

class  MolAtom
 MolAtom : atom inside a Molecule. More...

class  MolBond
 Bond between two atoms, also a restraint on the associated bond length. More...

class  MolBondAngle
 Bond angle restraint between 3 atoms. More...

class  MolDihedralAngle
 Dihedral angle restraint between 4 atoms. More...

class  RigidGroup
class  MolRing
 Ring class. More...

class  Quaternion
 A quaternion class, used to represent the orientation of the molecule. More...

struct  StretchMode
 Abstract base Stretch Mode for Molecule objects. More...

struct  StretchModeBondLength
 Group of atoms for random moves changing a bond length. More...

struct  StretchModeBondAngle
 Atoms moved when changing a bond angle. More...

struct  StretchModeTorsion
 Atoms moved when rotated around a bond at0-at1-at2-at3. More...

struct  StretchModeTwist
 Atoms moved *between* two other atoms, using a "twist" of their positions - only small twists of their positions are allowed to avoid breaking restraints too much. More...

struct  MolZAtom
 Light-weight representation of an atom in the molecule, as a part of a Z-matrix. More...

class  Molecule
 Molecule : class for complex scatterer descriptions using cartesian coordinates with bond length/angle restraints, and moves either of individual atoms or using torsion bonds. More...

struct  Molecule::RotorGroup
 Defines a group of atoms which can be rotated around an axis defined by two other atoms. More...

struct  Molecule::FlipGroup
 When 3(A1..1n) or more atoms are connected to a same atom A, it defines a 'flip' group, where it is possible to rotate bonds to their symmetric with respect to one plane defined by atoms Ai-A-Aj. More...

struct  Molecule::StretchModeGroup
 Group of concurrent StretchModes (affecting common restraints) A given stretch mode can only belong to one group. More...

class  PowderPatternComponent
 Generic class to compute components (eg the contribution of a given phase, or background) of a powder pattern. This is an abstract base class. More...

class  PowderPatternBackground
 Phase to compute a background contribution to a powder pattern using an interpolation. Currently only linear interpolation is available. (in the works: cubic spline interpolation background). More...

class  PowderPatternDiffraction
 Class to compute the contribution to a powder pattern from a crystalline phase. More...

struct  PowderPatternDiffraction::ReflProfile
 Profile of a single reflection. More...

class  PowderPattern
 Powder pattern class, with an observed pattern and several calculated components to modelize the pattern. More...

class  PowderPatternBackgroundBayesianMinimiser
 This object is used to estimate the background in a powder pattern, using a Bayesian approach (David & Sivia, Acta Cryst A50 (1994), 703). More...

class  ReflectionProfile
 Abstract base class for reflection profiles. More...

class  ReflectionProfilePseudoVoigt
 Pseudo-Voigt reflection profile. More...

class  ReflectionProfileDoubleExponentialPseudoVoigt
 Double-Exponential Pseudo-Voigt profile for TOF. More...

class  NiftyStaticGlobalObjectsInitializer_Scatterer
class  Scatterer
 Generic type of scatterer: can be an atom, or a more complex assembly of atoms. More...

class  ScatteringCorr
 Base class to compute all kind of corrections to intensities: Lorentz, Polar, absorption, texcture, extinction, etc... More...

class  LorentzCorr
 Lorentz Correction. More...

class  PolarizationCorr
 Polarization Correction. More...

class  PowderSlitApertureCorr
 Slit aperture correction (for powder). More...

struct  TexturePhaseMarchDollase
 One texture phase for the March-Dollase model. More...

class  TextureMarchDollase
 Texture correction using the March-Dollase model. More...

class  TOFCorr
 Time-Of-Flight Correction. More...

class  NiftyStaticGlobalObjectsInitializer_ScatteringData
class  Radiation
 Class to define the radiation (type, monochromaticity, wavelength(s)) of an experiment. More...

class  ScatteringData
 Class to compute structure factors for a set of reflections and a Crystal. More...

class  NiftyStaticGlobalObjectsInitializer_ScatteringPower
class  ScatteringPower
 Abstract Base Class to describe the scattering power of any Scatterer component in a crystal. More...

class  ScatteringPowerAtom
 The Scattering Power for an Atom. More...

struct  ScatteringComponent
 A scattering position in a crystal, associated with the corresponding occupancy and a pointer to the ScatteringPower. Also given is the. More...

class  ScatteringComponentList
 list of scattering positions in a crystal, associated with the corresponding occupancy and a pointer to the ScatteringPower. More...

class  ScatteringPowerSphere
 \ brief ScatteringPower for a spherical particule More...

class  AsymmetricUnit
 The basic description of spacegroup asymmetric unit. More...

class  SpaceGroup
 The crystallographic space group, and the cell choice. More...

struct  SpeedTestReport
 Structure to hold the results of a speedtest (see ObjCryst::SpeedTest()). More...

class  NiftyStaticGlobalObjectsInitializer_UnitCell
class  UnitCell
 Unit Cell class: Unit cell with spacegroup information. More...

class  GlobalScatteringPower
 Global Scattering Power. Used to approximate the scattering power of a multi-atom ZScatterer (polyhedron,...) to an isotropic scattering power. More...

class  ZAtom
 Class for individual atoms in a ZScatterer Object. More...

class  ZMoveMinimizer
 Class to minimize conformation changes for random moves. Very experimental !!! More...

class  ZScatterer
 ZScatterer: the basic type of complex scatterers, where atom positions are defined using a standard "Z-Matrix" description. More...

class  ZPolyhedron
 ZPolyhedron: a Scatterer to describe polyhedras such as octahedron, tetrahedron, square plane, etc... More...

class  OptimizationObj
 Base object for Optimization methods. More...

struct  OptimizationObj::LogLikelihoodStats
 Statistics about each object contributing to the overall Log(likelihood). More...

struct  OptimizationObj::DynamicObjWeight
class  MonteCarloObj
 Base object for Monte-Carlo Global Optimization methods. More...

class  XMLCrystTag
 class to input or output a well-formatted xml beginning or ending tag. More...

class  LSQNumObj
 (Quick & dirty) Least-Squares Refinement Object with Numerical derivatives More...

class  RefParType
 class of refinable parameter types. More...

class  NiftyStaticGlobalObjectsInitializer_RefinableObj
class  RefinableObjClock
 We need to record exactly when refinable objects have been modified for the last time (to avoid re-computation), and to do that we need a precise time. More...

class  Restraint
 Restraint: generic class for a restraint of a given model. More...

class  RefinablePar
 Generic class for parameters of refinable objects. More...

class  RefObjOpt
 Base class for options. More...

class  RefObjOption
 Class for options of RefinableObj, templated so that we can warn the object that something has been changed. More...

class  ObjRegistry
 Object Registry. More...

class  RefinableObj
 Generic Refinable Object. More...

class  SimplexObj
 Conjugate Gradient Algorithm object. More...

class  Tracker
 A class to track the variation of parameters as a function of a number of cycles/trials. More...

class  MainTracker
 A class to hold all trackers. More...

class  TrackerObject
 Tracker for objects (RefinableObj, Crystal, PowderPattern, RefPar,...). More...

class  WXAtom
 wxCryst class for Atoms More...

class  WXCRYST_ID
 Class to automatically assign a unique wxID to each window. More...

class  WXCrystObjBasic
 Abstract base class for all objects in wxCryst. More...

class  WXCrystObjBasicList
 A List of WXCrystObjBasic. More...

class  WXCrystObj
 Base class for all displayed ObjCryst objects (with a title, and a sizer to stack objects). More...

class  WXField
 This is the abstract base class for all fields, wether they contain a floating-point parameter, or a string,... More...

class  WXFieldString
 A field which directly links to a string. More...

class  WXFieldName
 A field with the name of a WXCrystObj. More...

class  WXFieldParBase
 A field for a parameter. More...

class  WXFieldPar
 A field for a parameter. More...

class  WXFieldChoice
 Class to pick one choice... More...

class  WXCrystMenuBar
 Our own local menu bar, using buttons and Popup menus. More...

struct  BBox
struct  Triple
class  WXCrystalScrolledGridWindow
class  WXCrystal
 wxCryst class for Crystals More...

struct  WXCrystal::RowScattPow
 Structure to store the maximum likelihood parameters. More...

struct  WXCrystal::RowAntiBump
 Structure to store the antibump parameters. More...

struct  WXCrystal::RowBondValence
 Structure to store the bond valence parameters. More...

class  WXDiffractionSingleCrystal
 WX Class for DiffractionDataSingleCrystal objects. More...

class  WXOptimizationObj
 WX Class for a Global Optimization objects. More...

class  WXGlobalOptimRunThread
 Class for a GlobalOptimization thread. More...

class  WXMonteCarloObj
 Class for Graphical interface to Monte-Carlo objects (Simulated Annealing, Parallel Tempering). More...

class  WXMolScrolledWindow
class  WXMolAtom
 wx class for MolAtom objects More...

class  WXMolBond
 wx class for MolBond objects More...

class  WXMolBondAngle
 wx class for MolBondAngle objects More...

class  WXMolDihedralAngle
 wx class for MolDihedralAngle objects More...

class  WXMolecule
 wxCryst class for Molecule objects More...

struct  WXMolecule::CellAtom
 Structure to store the Atom parameters. More...

struct  WXMolecule::CellBond
 Structure to store the bond current values. More...

struct  WXMolecule::CellBondAngle
 Structure to store the bond angles current values. More...

struct  WXMolecule::CellDihedralAngle
 Structure to store the dihedral angles current values. More...

struct  WXMolecule::CellRigidGroup
class  WXMultiGraph
struct  WXMultiGraph::GraphData
class  WXPowderPattern
 WX Class for PowderPattern objects. More...

class  WXPowderPatternGraph
 Class to display a Powder Pattern (calc,obs) in a graphic window. More...

class  WXPowderPatternBackground
 Class to display a Powder Pattern Background. More...

class  WXTexturePhaseMarchDollase
 Class to display one Preferred Orientation phase using the March-Dollase parametrization. More...

class  WXTextureMarchDollase
 Class to display the Preferred Orientation Correction using the March-Dollase parametrization. More...

class  WXPowderPatternDiffraction
 Class to display a Powder Pattern for a crystalline phase. More...

class  WXProfilePseudoVoigt
 Class to display a Powder Pattern Pseudo-Voigt Profile. More...

class  WXProfileDoubleExponentialPseudoVoigt
 Class to display a Powder Pattern Pseudo-Voigt Profile. More...

class  WXRadiation
 WX Class for Radiation. More...

class  WXFieldRefPar
 A field for a RefinablePar. More...

class  WXFieldOption
 WX representation of a RefObj option. This displays the names of the different choices. More...

class  WXRegistry
 This displays all components of a ObjCryst++ Registry. More...

class  WXRefinableObj
 The base wxCryst class for all RefinableObj objects. More...

class  WXScatterer
 base wxCryst class for Scatterers More...

class  WXScatteringPowerAtom
 wxCryst class for ScatteringPowerAtom More...

class  WXScatteringPowerSphere
 wxCryst class for ScatteringPowerSphere More...

class  WXTrackerGraph
class  WXZAtom
class  WXZScatterer
 wxCryst class for ZScatterer objects More...


Enumerations

enum  RadiationType { RAD_NEUTRON, RAD_XRAY, RAD_ELECTRON }
 Type of radiation used. More...

enum  SampleType { SAMPLE_SINGLE_CRYSTAL, SAMPLE_POWDER }
 Sample type (not used yet). More...

enum  WavelengthType {
  WAVELENGTH_MONOCHROMATIC, WAVELENGTH_ALPHA12, WAVELENGTH_TOF, WAVELENGTH_MAD,
  WAVELENGTH_DAFS, WAVELENGTH_LAUE
}
 Incident beam characteristics : monochromatic, X-Ray tube with Alpha1 and alpha2, MAD (a few wavelengths-UNUSED YET), DAFS (continuous wavelength range-UNUSED YET) LAUE (UNUSED YET), WAVELENGTH_TOF (neutron Time Of Flight). More...

enum  ReflectionProfileType {
  PROFILE_GAUSSIAN, PROFILE_LORENTZIAN, PROFILE_PSEUDO_VOIGT, PROFILE_PSEUDO_VOIGT_FINGER_COX_JEPHCOAT,
  PROFILE_PEARSON_VII
}
 Profile type for powder (could it be used fopr single crystals on 2D detectors ?). More...

enum  PowderBackgroundInterpType { POWDER_BACKGROUND_LINEAR, POWDER_BACKGROUND_CUBIC_SPLINE }
enum  RegularPolyhedraType {
  TETRAHEDRON, OCTAHEDRON, SQUARE_PLANE, CUBE,
  ANTIPRISM_TETRAGONAL, PRISM_TETRAGONAL_MONOCAP, PRISM_TETRAGONAL_DICAP, PRISM_TRIGONAL,
  PRISM_TRIGONAL_TRICAPPED, ICOSAHEDRON, TRIANGLE_PLANE
}
enum  AnnealingSchedule {
  ANNEALING_CONSTANT, ANNEALING_BOLTZMANN, ANNEALING_CAUCHY, ANNEALING_EXPONENTIAL,
  ANNEALING_SMART, ANNEALING_GAMMA
}
 Annealing schedule type. More...

enum  GlobalOptimType {
  GLOBAL_OPTIM_SIMULATED_ANNEALING, GLOBAL_OPTIM_PARALLEL_TEMPERING, GLOBAL_OPTIM_GENETIC, GLOBAL_OPTIM_SIMULATED_ANNEALING_MULTI,
  GLOBAL_OPTIM_PARALLEL_TEMPERING_MULTI
}
 Global optimization type. More...

enum  RefParDerivStepModel { REFPAR_DERIV_STEP_ABSOLUTE, REFPAR_DERIV_STEP_RELATIVE }
 How do we compute steps h for numerical derivative calculation : d=f(x+h)-f(x-h)/h/2 either h is fixed (absolute), or relative h=x*derivFactor. More...


Functions

float CIFNumeric2Float (const std::string &s)
 Convert one CIF value to a floating-point value Return 0 if no value can be converted (e.g.

int CIFNumeric2Int (const std::string &s)
 Convert one CIF value to a floating-point value Return 0 if no value can be converted (e.g.

CrystalCreateCrystalFromCIF (CIF &cif)
 Extract Crystal object(s) from a CIF, if possible.

PowderPatternCreatePowderPatternFromCIF (CIF &cif)
 Create PowderPattern object(s) from a CIF, if possible.

void ObjCrystInformUserStdOut (const string &)
 Print some information for the user during long processes.

void RealGeomStructFactor (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &rsf)
void ImagGeomStructFactor (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &rsf)
void RealGeomStructFactor_1 (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &rsf)
void RealGeomStructFactor_2 (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &rsf)
void RealGeomStructFactor_67 (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &rsf)
void RealGeomStructFactor_67ba_c (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &rsf)
void RealGeomStructFactor_67cab (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &rsf)
void RealGeomStructFactor_67_cba (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &rsf)
void RealGeomStructFactor_67bca (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &rsf)
void RealGeomStructFactor_67a_cb (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &rsf)
void RealGeomStructFactor_97 (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &rsf)
void RealGeomStructFactor_230 (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &rsf)
void ImagGeomStructFactor_centro (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &isf)
void ImagGeomStructFactor_1 (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &isf)
void ImagGeomStructFactor_2 (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &isf)
void ImagGeomStructFactor_67 (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &isf)
void ImagGeomStructFactor_67ba_c (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &rsf)
void ImagGeomStructFactor_67cab (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &rsf)
void ImagGeomStructFactor_67_cba (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &rsf)
void ImagGeomStructFactor_67bca (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &rsf)
void ImagGeomStructFactor_67a_cb (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &rsf)
void ImagGeomStructFactor_97 (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &isf)
void ImagGeomStructFactor_230 (const REAL x, const REAL y, const REAL z, const CrystVector_REAL &h, const CrystVector_REAL &k, const CrystVector_REAL &l, CrystVector_REAL &isf)
void XMLCrystFileSaveGlobal (const string &filename)
 Save all Objcryst++ objects.

void XMLCrystFileSaveGlobal (std::ostream &out)
 Save all Objcryst++ objects.

ObjRegistry< XMLCrystTagXMLCrystFileLoadObjectList (const string &filename)
 Get the list (tags) of ObjCryst objects in a file.

template<class T> void XMLCrystFileLoadObject (const string &file, const string &tagName, const string &name, T *obj)
 Load an object from a file, identifying it from its tag.

void XMLCrystFileLoadAllObject (const string &file)
 Load all 'top' objects from a file (Crystal, PowderPattern, DiffDataSingleCrystal and GlobalOptimObj objects). All objects are directly allocated, and can be accessed through their respective global registry (eg gCrystalRegistry fro a Crysta, etc...).

void XMLCrystFileLoadAllObject (std::istream &is)
 Load all 'top' objects from a file (Crystal, PowderPattern, DiffDataSingleCrystal and GlobalOptimObj objects). All objects are directly allocated, and can be accessed through their respective global registry (eg gCrystalRegistry fro a Crysta, etc...).

REAL GetBondLength (const MolAtom &, const MolAtom &)
 Get The Bond Length between two atoms.

REAL GetBondAngle (const MolAtom &, const MolAtom &, const MolAtom &)
 Get The Bond Angle of 3 atoms.

REAL GetDihedralAngle (const MolAtom &, const MolAtom &, const MolAtom &, const MolAtom &)
 Get The dihedral angle defined by 4 atoms.

MoleculeMakeTetrahedron (Crystal &cryst, const string &name, const ScatteringPower *centralAtom, const ScatteringPower *peripheralAtom, const REAL dist)
MoleculeMakeOctahedron (Crystal &cryst, const string &name, const ScatteringPower *centralAtom, const ScatteringPower *peripheralAtom, const REAL dist)
MoleculeMakeSquarePlane (Crystal &cryst, const string &name, const ScatteringPower *centralAtom, const ScatteringPower *peripheralAtom, const REAL dist)
MoleculeMakeCube (Crystal &cryst, const string &name, const ScatteringPower *centralAtom, const ScatteringPower *peripheralAtom, const REAL dist)
MoleculeMakeAntiPrismTetragonal (Crystal &cryst, const string &name, const ScatteringPower *centralAtom, const ScatteringPower *peripheralAtom, const REAL dist)
MoleculeMakePrismTrigonal (Crystal &cryst, const string &name, const ScatteringPower *centralAtom, const ScatteringPower *peripheralAtom, const REAL dist)
MoleculeMakeIcosahedron (Crystal &cryst, const string &name, const ScatteringPower *centralAtom, const ScatteringPower *peripheralAtom, const REAL dist)
MoleculeMakeTriangle (Crystal &cryst, const string &name, const ScatteringPower *centralAtom, const ScatteringPower *peripheralAtom, const REAL dist)
CrystVector_REAL PowderProfileGauss (const CrystVector_REAL theta, const REAL fwhm, const REAL asymmetryPar=1.)
 Gaussian, normalized (ie integral is equal to 1), as a function of theta and of the FWHM.

CrystVector_REAL PowderProfileLorentz (const CrystVector_REAL theta, const REAL fwhm, const REAL asymmetryPar=1.)
 Lorentzian, normalized (ie integral is equal to 1), as a function of theta and of the FWHM.

CrystVector_REAL PowderProfileGauss (const CrystVector_REAL theta, const REAL fwhm, const REAL center, const REAL asym=1.0)
 Gaussian, normalized (ie integral is equal to 1), as a function of theta and of the FWHM.

CrystVector_REAL PowderProfileLorentz (const CrystVector_REAL theta, const REAL fwhm, const REAL center, const REAL asym=1.0)
 Lorentzian, normalized (ie integral is equal to 1), as a function of theta and of the FWHM.

CrystVector_REAL AsymmetryBerarBaldinozzi (const CrystVector_REAL theta, const REAL fwhm, const REAL center, const REAL A0, const REAL A1, const REAL B0, const REAL B1)
 Asymmetry function [Ref J. Appl. Cryst 26 (1993), 128-129.

template<class T> std::complex< T > ExponentialIntegral1 (const complex< T > z)
 Complex exponential integral E1(z) (Abramowitz & Stegun, chap.

template<class T> std::complex< T > ExponentialIntegral1_ExpZ (const complex< T > z)
 E1(z)*exp(z).

void InitLibCrystTabulCosine ()
void DeleteLibCrystTabulCosine ()
void InitLibCrystTabulExp ()
void DeleteLibCrystTabulExp ()
SpeedTestReport SpeedTest (const unsigned int nbAtom, const int nbAtomType, const string spacegroup, const RadiationType radiation, const unsigned long nbReflections, const unsigned int dataType, const REAL time)
ostream & operator<< (ostream &, const XMLCrystTag &)
 Output an XMLCrystTag to a stream.

istream & operator>> (istream &, XMLCrystTag &)
 Input an XMLCrystTag from a stream.

void GetRefParListClockRecursive (ObjRegistry< RefinableObj > &reg, RefinableObjClock &clock)
 Get the last time any RefinablePar was added in a recursive list of objects.

template<class T> void RefObjRegisterRecursive (T &obj, ObjRegistry< T > &reg)
 Register a new object in a registry, and recursively include all included (sub)objects.

void GetSubRefObjListClockRecursive (ObjRegistry< RefinableObj > &reg, RefinableObjClock &clock)
 Get the last time any object was added in the recursive list of objects.

void WXCrystValidateAllUserInput ()
 This function validates all user input (in a WXField) not yet taken into account, if needs be.

template<class T> T * WXDialogChooseFromRegistry (ObjRegistry< T > &reg, wxWindow *parent, const string &message, int &)
 This function allows to pick up one object in a registry.

template<class T> const T * WXDialogChooseFromRegistry (const ObjRegistry< T > &reg, wxWindow *parent, const string &message, int &)
 This function allows to pick up one object in a registry.


Variables

const RefParTypegpRefParTypeCrystal
NiftyStaticGlobalObjectsInitializer_Crystal NiftyStaticGlobalObjectsInitializer_Crystal_counter
ObjRegistry< CrystalgCrystalRegistry
 Global registry for all Crystal objects.

ObjRegistry< DiffractionDataSingleCrystalgDiffractionDataSingleCrystalRegistry
 Global registry for all PowderPattern objects.

void(* fpObjCrystInformUser )(const string &)
 Pointer to a function for passing info to the user during or after long/important processes (use scarcely!).

ObjRegistry< PowderPatternComponentgPowderPatternComponentRegistry
 Global registry for all PowderPatternComponent objects.

ObjRegistry< PowderPatterngPowderPatternRegistry
 Global registry for all PowderPattern objects.

ObjRegistry< ReflectionProfilegReflectionProfileRegistry
 Global registry for all ReflectionProfile objects.

const RefParTypegpRefParTypeScatt
const RefParTypegpRefParTypeScattTransl
const RefParTypegpRefParTypeScattTranslX
const RefParTypegpRefParTypeScattTranslY
const RefParTypegpRefParTypeScattTranslZ
const RefParTypegpRefParTypeScattOrient
const RefParTypegpRefParTypeScattConform
const RefParTypegpRefParTypeScattConformBondLength
const RefParTypegpRefParTypeScattConformBondAngle
const RefParTypegpRefParTypeScattConformDihedAngle
const RefParTypegpRefParTypeScattConformX
const RefParTypegpRefParTypeScattConformY
const RefParTypegpRefParTypeScattConformZ
const RefParTypegpRefParTypeScattOccup
NiftyStaticGlobalObjectsInitializer_Scatterer NiftyStaticGlobalObjectsInitializer_Scatterer_counter
ObjRegistry< ScatterergScattererRegistry
 Global registry for all Scatterer objects.

const RefParTypegpRefParTypeScattData
const RefParTypegpRefParTypeScattDataScale
const RefParTypegpRefParTypeScattDataProfile
const RefParTypegpRefParTypeScattDataProfileType
const RefParTypegpRefParTypeScattDataProfileWidth
const RefParTypegpRefParTypeScattDataProfileAsym
const RefParTypegpRefParTypeScattDataCorr
const RefParTypegpRefParTypeScattDataCorrInt
const RefParTypegpRefParTypeScattDataCorrIntAbsorp
const RefParTypegpRefParTypeScattDataCorrIntPolar
const RefParTypegpRefParTypeScattDataCorrIntExtinc
const RefParTypegpRefParTypeScattDataCorrPos
const RefParTypegpRefParTypeScattDataBackground
const RefParTypegpRefParTypeRadiation
const RefParTypegpRefParTypeRadiationWavelength
NiftyStaticGlobalObjectsInitializer_ScatteringData NiftyStaticGlobalObjectsInitializer_ScatteringData_counter
const RefParTypegpRefParTypeScattPow
const RefParTypegpRefParTypeScattPowResonant
const RefParTypegpRefParTypeScattPowTemperature
const RefParTypegpRefParTypeScattPowTemperatureIso
const RefParTypegpRefParTypeScattPowTemperatureAniso
NiftyStaticGlobalObjectsInitializer_ScatteringPower NiftyStaticGlobalObjectsInitializer_ScatteringPower_counter
ObjRegistry< ScatteringPowergScatteringPowerRegistry
 Global registry for all ScatteringPower objects.

ObjRegistry< ScatteringPowerAtomgScatteringPowerAtomRegistry
 Global registry for all ScatteringPowerAtom objects.

const RefParTypegpRefParTypeUnitCell
const RefParTypegpRefParTypeUnitCellLength
const RefParTypegpRefParTypeUnitCellAngle
NiftyStaticGlobalObjectsInitializer_UnitCell NiftyStaticGlobalObjectsInitializer_UnitCell_counter
ObjRegistry< OptimizationObjgOptimizationObjRegistry
 Global Registry for all OptimizationObj.

const RefParTypegpRefParTypeObjCryst
 Top RefParType for the ObjCryst++ library.

NiftyStaticGlobalObjectsInitializer_RefinableObj NiftyStaticGlobalObjectsInitializer_RefinableObj_counter
ObjRegistry< RefinableObjgRefinableObjRegistry
 Global Registry for all RefinableObj.

ObjRegistry< RefinableObjgTopRefinableObjRegistry
 This is a special registry for 'top' object for an optimization.

const long ID_WXOBJ_ENABLE
const long ID_WXOBJ_DISABLE


Detailed Description

The namespace which includes all objects (crystallographic and algorithmic) in ObjCryst++.

Note:
It may be a good idea to separate in 3 namespaces for ObjCryst, WXObjCryst, and RefinableObj


Enumeration Type Documentation

enum ObjCryst::AnnealingSchedule
 

Annealing schedule type.

Used to determine the variation of the temperature and the mutation amplitude

With A=Temperature or A=MutationAMplitude, and the corresponding , min and max values supplied (the latter is ignored for constant, Cauchy and Boltzmann), with 'step' being the current step, and NbStep the total number of steps. (In the Parallel Tempering algorithm, a 'step' denotes one of the parallel refinement).

\[ A_{constant} = A_{min}\]

\[ A_{Boltzmann} = A_{min} \frac{\ln(NbStep)}{\ln(step)} \]

\[ A_{Cauchy} = A_{min} \frac{NbStep}{step} \]

\[ A_{exponential} = A_{max} (\frac{T_{min}}{T_{max}})^{\frac{step}{NbStep}} \]

\[ A_{\gamma} = A_{max} +(A_{min}-A_{max}*(\frac{step}{NbStep})^{\gamma} \]

For the 'smart' schedule, it is only supported so far for the mutation amplitude: it is modulated so that for each temperature between 30 and 70% of trial configurations are accepted, within the limits for the mutation.

Enumeration values:
ANNEALING_CONSTANT 
ANNEALING_BOLTZMANN 
ANNEALING_CAUCHY 
ANNEALING_EXPONENTIAL 
ANNEALING_SMART 
ANNEALING_GAMMA 

enum ObjCryst::GlobalOptimType
 

Global optimization type.

Eventually it would be better to build a base Global Optimization (or even Optimization) object, and to derive it in different classes for Simulated Annealing, Parallel Tempering, Genetic Algorithm,...

Enumeration values:
GLOBAL_OPTIM_SIMULATED_ANNEALING 
GLOBAL_OPTIM_PARALLEL_TEMPERING 
GLOBAL_OPTIM_GENETIC 
GLOBAL_OPTIM_SIMULATED_ANNEALING_MULTI 
GLOBAL_OPTIM_PARALLEL_TEMPERING_MULTI 

enum ObjCryst::PowderBackgroundInterpType
 

Enumeration values:
POWDER_BACKGROUND_LINEAR 
POWDER_BACKGROUND_CUBIC_SPLINE 

enum ObjCryst::RadiationType
 

Type of radiation used.

Only neutrons and X-Rays are used so far, electrons would require a very different treatment.

Enumeration values:
RAD_NEUTRON 
RAD_XRAY 
RAD_ELECTRON 

enum ObjCryst::ReflectionProfileType
 

Profile type for powder (could it be used fopr single crystals on 2D detectors ?).

Enumeration values:
PROFILE_GAUSSIAN 
PROFILE_LORENTZIAN 
PROFILE_PSEUDO_VOIGT 
PROFILE_PSEUDO_VOIGT_FINGER_COX_JEPHCOAT 
PROFILE_PEARSON_VII 

enum ObjCryst::RefParDerivStepModel
 

How do we compute steps h for numerical derivative calculation : d=f(x+h)-f(x-h)/h/2 either h is fixed (absolute), or relative h=x*derivFactor.

Enumeration values:
REFPAR_DERIV_STEP_ABSOLUTE 
REFPAR_DERIV_STEP_RELATIVE 

enum ObjCryst::RegularPolyhedraType
 

Enumeration values:
TETRAHEDRON 
OCTAHEDRON 
SQUARE_PLANE 
CUBE 
ANTIPRISM_TETRAGONAL 
PRISM_TETRAGONAL_MONOCAP 
PRISM_TETRAGONAL_DICAP 
PRISM_TRIGONAL 
PRISM_TRIGONAL_TRICAPPED 
ICOSAHEDRON 
TRIANGLE_PLANE 

enum ObjCryst::SampleType
 

Sample type (not used yet).

Enumeration values:
SAMPLE_SINGLE_CRYSTAL 
SAMPLE_POWDER 

enum ObjCryst::WavelengthType
 

Incident beam characteristics : monochromatic, X-Ray tube with Alpha1 and alpha2, MAD (a few wavelengths-UNUSED YET), DAFS (continuous wavelength range-UNUSED YET) LAUE (UNUSED YET), WAVELENGTH_TOF (neutron Time Of Flight).

Enumeration values:
WAVELENGTH_MONOCHROMATIC 
WAVELENGTH_ALPHA12 
WAVELENGTH_TOF 
WAVELENGTH_MAD 
WAVELENGTH_DAFS 
WAVELENGTH_LAUE 


Function Documentation

CrystVector_REAL AsymmetryBerarBaldinozzi const CrystVector_REAL  theta,
const REAL  fwhm,
const REAL  center,
const REAL  A0,
const REAL  A1,
const REAL  B0,
const REAL  B1
 

Asymmetry function [Ref J. Appl. Cryst 26 (1993), 128-129.

float CIFNumeric2Float const std::string &  s  ) 
 

Convert one CIF value to a floating-point value Return 0 if no value can be converted (e.g.

if '.' or '?' is encountered)

int CIFNumeric2Int const std::string &  s  ) 
 

Convert one CIF value to a floating-point value Return 0 if no value can be converted (e.g.

if '.' or '?' is encountered)

Crystal* CreateCrystalFromCIF CIF &  cif  ) 
 

Extract Crystal object(s) from a CIF, if possible.

Returns a null pointer if no crystal structure could be extracted (the minimum data is the unit cell parameters).

PowderPattern* CreatePowderPatternFromCIF CIF &  cif  ) 
 

Create PowderPattern object(s) from a CIF, if possible.

Returns a null pointer if no pattern could be extracted. No components (background, crystal data) are created.

void DeleteLibCrystTabulCosine  ) 
 

void DeleteLibCrystTabulExp  ) 
 

template<class T>
std::complex<T> ExponentialIntegral1 const complex< T >  z  ) 
 

Complex exponential integral E1(z) (Abramowitz & Stegun, chap.

5)

Using A&S 5.1.11 (series) and 5.1.51 (asymptotic) expansions

template<class T>
std::complex<T> ExponentialIntegral1_ExpZ const complex< T >  z  ) 
 

E1(z)*exp(z).

This can be computed for large z values to avoid floating-point exceptions.

REAL GetBondAngle const MolAtom &  ,
const MolAtom &  ,
const MolAtom & 
 

Get The Bond Angle of 3 atoms.

REAL GetBondLength const MolAtom &  ,
const MolAtom & 
 

Get The Bond Length between two atoms.

REAL GetDihedralAngle const MolAtom &  ,
const MolAtom &  ,
const MolAtom &  ,
const MolAtom & 
 

Get The dihedral angle defined by 4 atoms.

void GetRefParListClockRecursive ObjRegistry< RefinableObj > &  reg,
RefinableObjClock &  clock
 

Get the last time any RefinablePar was added in a recursive list of objects.

void GetSubRefObjListClockRecursive ObjRegistry< RefinableObj > &  reg,
RefinableObjClock &  clock
 

Get the last time any object was added in the recursive list of objects.

void ImagGeomStructFactor const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  rsf
 

Deprecated:

void ImagGeomStructFactor_1 const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  isf
 

Deprecated:

void ImagGeomStructFactor_2 const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  isf
 

Deprecated:

void ImagGeomStructFactor_230 const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  isf
 

Deprecated:

void ImagGeomStructFactor_67 const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  isf
 

Deprecated:

void ImagGeomStructFactor_67_cba const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  rsf
 

Deprecated:

void ImagGeomStructFactor_67a_cb const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  rsf
 

Deprecated:

void ImagGeomStructFactor_67ba_c const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  rsf
 

Deprecated:

void ImagGeomStructFactor_67bca const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  rsf
 

Deprecated:

void ImagGeomStructFactor_67cab const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  rsf
 

Deprecated:

void ImagGeomStructFactor_97 const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  isf
 

Deprecated:

void ImagGeomStructFactor_centro const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  isf
 

Deprecated:

void InitLibCrystTabulCosine  ) 
 

void InitLibCrystTabulExp  ) 
 

Molecule* MakeAntiPrismTetragonal Crystal &  cryst,
const string &  name,
const ScatteringPower *  centralAtom,
const ScatteringPower *  peripheralAtom,
const REAL  dist
 

Molecule* MakeCube Crystal &  cryst,
const string &  name,
const ScatteringPower *  centralAtom,
const ScatteringPower *  peripheralAtom,
const REAL  dist
 

Molecule* MakeIcosahedron Crystal &  cryst,
const string &  name,
const ScatteringPower *  centralAtom,
const ScatteringPower *  peripheralAtom,
const REAL  dist
 

Molecule* MakeOctahedron Crystal &  cryst,
const string &  name,
const ScatteringPower *  centralAtom,
const ScatteringPower *  peripheralAtom,
const REAL  dist
 

Molecule* MakePrismTrigonal Crystal &  cryst,
const string &  name,
const ScatteringPower *  centralAtom,
const ScatteringPower *  peripheralAtom,
const REAL  dist
 

Molecule* MakeSquarePlane Crystal &  cryst,
const string &  name,
const ScatteringPower *  centralAtom,
const ScatteringPower *  peripheralAtom,
const REAL  dist
 

Molecule* MakeTetrahedron Crystal &  cryst,
const string &  name,
const ScatteringPower *  centralAtom,
const ScatteringPower *  peripheralAtom,
const REAL  dist
 

Molecule* MakeTriangle Crystal &  cryst,
const string &  name,
const ScatteringPower *  centralAtom,
const ScatteringPower *  peripheralAtom,
const REAL  dist
 

void ObjCrystInformUserStdOut const string &   ) 
 

Print some information for the user during long processes.

ostream& operator<< ostream &  ,
const XMLCrystTag & 
 

Output an XMLCrystTag to a stream.

istream& operator>> istream &  ,
XMLCrystTag & 
 

Input an XMLCrystTag from a stream.

CrystVector_REAL PowderProfileGauss const CrystVector_REAL  theta,
const REAL  fwhm,
const REAL  center,
const REAL  asym = 1.0
 

Gaussian, normalized (ie integral is equal to 1), as a function of theta and of the FWHM.

The input is an array of the theta values. The maximum of the function is in theta=center. If asymmetry is used, negative tth values must be first.

CrystVector_REAL PowderProfileGauss const CrystVector_REAL  theta,
const REAL  fwhm,
const REAL  asymmetryPar = 1.
 

Gaussian, normalized (ie integral is equal to 1), as a function of theta and of the FWHM.

The input is an array of the theta values. The maximum of the function is in theta=0. If asymmetry is used, negative tth values must be first.

CrystVector_REAL PowderProfileLorentz const CrystVector_REAL  theta,
const REAL  fwhm,
const REAL  center,
const REAL  asym = 1.0
 

Lorentzian, normalized (ie integral is equal to 1), as a function of theta and of the FWHM.

The input is an array of the theta values. The maximum of the function is in theta=center. If asymmetry is used, negative tth values must be first.

CrystVector_REAL PowderProfileLorentz const CrystVector_REAL  theta,
const REAL  fwhm,
const REAL  asymmetryPar = 1.
 

Lorentzian, normalized (ie integral is equal to 1), as a function of theta and of the FWHM.

The input is an array of the theta values. The maximum of the function is in theta=0. If asymmetry is used, negative tth values must be first.

void RealGeomStructFactor const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  rsf
 

Deprecated:

void RealGeomStructFactor_1 const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  rsf
 

Deprecated:

void RealGeomStructFactor_2 const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  rsf
 

Deprecated:

void RealGeomStructFactor_230 const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  rsf
 

Deprecated:

void RealGeomStructFactor_67 const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  rsf
 

Deprecated:

void RealGeomStructFactor_67_cba const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  rsf
 

Deprecated:

void RealGeomStructFactor_67a_cb const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  rsf
 

Deprecated:

void RealGeomStructFactor_67ba_c const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  rsf
 

Deprecated:

void RealGeomStructFactor_67bca const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  rsf
 

Deprecated:

void RealGeomStructFactor_67cab const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  rsf
 

Deprecated:

void RealGeomStructFactor_97 const REAL  x,
const REAL  y,
const REAL  z,
const CrystVector_REAL &  h,
const CrystVector_REAL &  k,
const CrystVector_REAL &  l,
CrystVector_REAL &  rsf
 

Deprecated:

template<class T>
void RefObjRegisterRecursive T &  obj,
ObjRegistry< T > &  reg
 

Register a new object in a registry, and recursively include all included (sub)objects.

SpeedTestReport SpeedTest const unsigned int  nbAtom,
const int  nbAtomType,
const string  spacegroup,
const RadiationType  radiation,
const unsigned long  nbReflections,
const unsigned int  dataType,
const REAL  time
 

Parameters:
nbAtom: total number of unique atoms.
nbAtomType: total number of atom types. Must be smaller than nbAtom.
spacegroup: the symbol or spacegroup number for the spacegroup to be tested.
radiation: the type of radiation to do the test with (neutron, x-ray).
nbReflections: total number of reflections to use.
time: duration of the test (10s is usually enough).
dataType: 0= single crystal, 1= powder pattern (1 background + 1 crystal phase)

void WXCrystValidateAllUserInput  ) 
 

This function validates all user input (in a WXField) not yet taken into account, if needs be.

This should be called by ALL functions using data stored in fields (basically all functions !)

template<class T>
const T* WXDialogChooseFromRegistry const ObjRegistry< T > &  reg,
wxWindow *  parent,
const string &  message,
int & 
 

This function allows to pick up one object in a registry.

Shows a modal dialog with a list of objects. This is a const access.

template<class T>
T* WXDialogChooseFromRegistry ObjRegistry< T > &  reg,
wxWindow *  parent,
const string &  message,
int & 
 

This function allows to pick up one object in a registry.

Shows a modal dialog with a list of objects

void XMLCrystFileLoadAllObject std::istream &  is  ) 
 

Load all 'top' objects from a file (Crystal, PowderPattern, DiffDataSingleCrystal and GlobalOptimObj objects). All objects are directly allocated, and can be accessed through their respective global registry (eg gCrystalRegistry fro a Crysta, etc...).

Parameters:
file: the filename from which the objects will be loaded.

void XMLCrystFileLoadAllObject const string &  file  ) 
 

Load all 'top' objects from a file (Crystal, PowderPattern, DiffDataSingleCrystal and GlobalOptimObj objects). All objects are directly allocated, and can be accessed through their respective global registry (eg gCrystalRegistry fro a Crysta, etc...).

Parameters:
file: the filename from which the objects will be loaded.

template<class T>
void XMLCrystFileLoadObject const string &  file,
const string &  tagName,
const string &  name,
T *  obj
 

Load an object from a file, identifying it from its tag.

Parameters:
file: the filename from which the object will be loaded.
tagName: the name of the tag
name: the name of the object to be found (in a 'Name' attribute)
obj: the pointer to the object to be loaded. The allocation will be done by the function, and the pointer changed accordingly.
NOT TESTED YET !

ObjRegistry<XMLCrystTag> XMLCrystFileLoadObjectList const string &  filename  ) 
 

Get the list (tags) of ObjCryst objects in a file.

This will recognize only certain tags in the file (Crystal,PowderPattern, DiffDataSingleCrystal, GlobalOptimObj). Eventually it should include also the ZScatterer objects.

Note:
It will be the duty of the caller to destroy all the tags which have been allocated.
NOT TESTED YET !

void XMLCrystFileSaveGlobal std::ostream &  out  ) 
 

Save all Objcryst++ objects.

This saves all Crystal, PowderPattern, DiffDataSingleCrystal and GlobalOptimObj objects, using the global registries for these classes. All other objects (Scatterer, ScatteringPower, PowderPatternComponent are saved as well since they are sub-objects of Crystal or PowderPattern objects).

Saving is done in well-formed xml format.

void XMLCrystFileSaveGlobal const string &  filename  ) 
 

Save all Objcryst++ objects.

This saves all Crystal, PowderPattern, DiffDataSingleCrystal and GlobalOptimObj objects, using the global registries for these classes. All other objects (Scatterer, ScatteringPower, PowderPatternComponent are saved as well since they are sub-objects of Crystal or PowderPattern objects).

Saving is done in well-formed xml format.


Variable Documentation

void(* ObjCryst::fpObjCrystInformUser)(const string &)
 

Pointer to a function for passing info to the user during or after long/important processes (use scarcely!).

This function pointer is by default assigned to ObjCrystInformUserStdOut, which outputs the message to the standard output. If a user interface is used (eg in Fox), this pointer should be reassigned at the beginning of the application to a more user-suitable function.

ObjRegistry<Crystal> ObjCryst::gCrystalRegistry
 

Global registry for all Crystal objects.

ObjRegistry<DiffractionDataSingleCrystal> ObjCryst::gDiffractionDataSingleCrystalRegistry
 

Global registry for all PowderPattern objects.

ObjRegistry<OptimizationObj> ObjCryst::gOptimizationObjRegistry
 

Global Registry for all OptimizationObj.

ObjRegistry<PowderPatternComponent> ObjCryst::gPowderPatternComponentRegistry
 

Global registry for all PowderPatternComponent objects.

ObjRegistry<PowderPattern> ObjCryst::gPowderPatternRegistry
 

Global registry for all PowderPattern objects.

const RefParType* ObjCryst::gpRefParTypeCrystal
 

const RefParType* ObjCryst::gpRefParTypeObjCryst
 

Top RefParType for the ObjCryst++ library.

const RefParType* ObjCryst::gpRefParTypeRadiation
 

const RefParType* ObjCryst::gpRefParTypeRadiationWavelength
 

const RefParType* ObjCryst::gpRefParTypeScatt
 

const RefParType* ObjCryst::gpRefParTypeScattConform
 

const RefParType* ObjCryst::gpRefParTypeScattConformBondAngle
 

const RefParType* ObjCryst::gpRefParTypeScattConformBondLength
 

const RefParType* ObjCryst::gpRefParTypeScattConformDihedAngle
 

const RefParType* ObjCryst::gpRefParTypeScattConformX
 

const RefParType* ObjCryst::gpRefParTypeScattConformY
 

const RefParType* ObjCryst::gpRefParTypeScattConformZ
 

const RefParType* ObjCryst::gpRefParTypeScattData
 

const RefParType* ObjCryst::gpRefParTypeScattDataBackground
 

const RefParType* ObjCryst::gpRefParTypeScattDataCorr
 

const RefParType* ObjCryst::gpRefParTypeScattDataCorrInt
 

const RefParType* ObjCryst::gpRefParTypeScattDataCorrIntAbsorp
 

const RefParType* ObjCryst::gpRefParTypeScattDataCorrIntExtinc
 

const RefParType* ObjCryst::gpRefParTypeScattDataCorrIntPolar
 

const RefParType* ObjCryst::gpRefParTypeScattDataCorrPos
 

const RefParType* ObjCryst::gpRefParTypeScattDataProfile
 

const RefParType* ObjCryst::gpRefParTypeScattDataProfileAsym
 

const RefParType* ObjCryst::gpRefParTypeScattDataProfileType
 

const RefParType* ObjCryst::gpRefParTypeScattDataProfileWidth
 

const RefParType* ObjCryst::gpRefParTypeScattDataScale
 

const RefParType* ObjCryst::gpRefParTypeScattOccup
 

const RefParType* ObjCryst::gpRefParTypeScattOrient
 

const RefParType* ObjCryst::gpRefParTypeScattPow
 

const RefParType* ObjCryst::gpRefParTypeScattPowResonant
 

const RefParType* ObjCryst::gpRefParTypeScattPowTemperature
 

const RefParType* ObjCryst::gpRefParTypeScattPowTemperatureAniso
 

const RefParType* ObjCryst::gpRefParTypeScattPowTemperatureIso
 

const RefParType* ObjCryst::gpRefParTypeScattTransl
 

const RefParType* ObjCryst::gpRefParTypeScattTranslX
 

const RefParType* ObjCryst::gpRefParTypeScattTranslY
 

const RefParType* ObjCryst::gpRefParTypeScattTranslZ
 

const RefParType* ObjCryst::gpRefParTypeUnitCell
 

const RefParType* ObjCryst::gpRefParTypeUnitCellAngle
 

const RefParType* ObjCryst::gpRefParTypeUnitCellLength
 

ObjRegistry<RefinableObj> ObjCryst::gRefinableObjRegistry
 

Global Registry for all RefinableObj.

ObjRegistry<ReflectionProfile> ObjCryst::gReflectionProfileRegistry
 

Global registry for all ReflectionProfile objects.

ObjRegistry<Scatterer> ObjCryst::gScattererRegistry
 

Global registry for all Scatterer objects.

ObjRegistry<ScatteringPowerAtom> ObjCryst::gScatteringPowerAtomRegistry
 

Global registry for all ScatteringPowerAtom objects.

ObjRegistry<ScatteringPower> ObjCryst::gScatteringPowerRegistry
 

Global registry for all ScatteringPower objects.

ObjRegistry<RefinableObj> ObjCryst::gTopRefinableObjRegistry
 

This is a special registry for 'top' object for an optimization.

In the ObjCryst++ class, this currently includes Crystal, PowderPattern and DiffractionDataSingleCrystal.

const long ObjCryst::ID_WXOBJ_DISABLE
 

const long ObjCryst::ID_WXOBJ_ENABLE
 

NiftyStaticGlobalObjectsInitializer_Crystal ObjCryst::NiftyStaticGlobalObjectsInitializer_Crystal_counter [static]
 

NiftyStaticGlobalObjectsInitializer_RefinableObj ObjCryst::NiftyStaticGlobalObjectsInitializer_RefinableObj_counter [static]
 

NiftyStaticGlobalObjectsInitializer_Scatterer ObjCryst::NiftyStaticGlobalObjectsInitializer_Scatterer_counter [static]
 

NiftyStaticGlobalObjectsInitializer_ScatteringData ObjCryst::NiftyStaticGlobalObjectsInitializer_ScatteringData_counter [static]
 

NiftyStaticGlobalObjectsInitializer_ScatteringPower ObjCryst::NiftyStaticGlobalObjectsInitializer_ScatteringPower_counter [static]
 

NiftyStaticGlobalObjectsInitializer_UnitCell ObjCryst::NiftyStaticGlobalObjectsInitializer_UnitCell_counter [static]
 


Generated on Tue Nov 14 15:03:41 2006 for ObjCryst++ by doxygen 1.3.6