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

ObjCryst Namespace Reference

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


Compounds

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

class  ObjCryst::Atom
 The basic atom scatterer, in a crystal. This class records the position of the atom, and has a pointer to its ScatteringPowerAtom.
Note:
there can be 'Dummy' atoms, for which the used symbol is "X", and which have no scattering power (use with caution: dummy atoms are only supposed to be used within ZScatterer).
More...


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

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

class  ObjCryst::GlobalOptimObj
 Base object for Global Optimization method. More...

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

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

class  ObjCryst::ObjRegistry
 Refinable Object Registry. More...

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

class  ObjCryst::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  ObjCryst::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  ObjCryst::PowderPatternDiffraction
 Class to compute the contribution to a powder pattern from a crystalline phase. More...

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

class  ObjCryst::RefinableObj
 Generic Refinable Object. More...

class  ObjCryst::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. Since the clock() function is not precise enough (and is architecture-dependant), we use a custom time, which records the number of events in the program which uses the library. This is purely internal, so don't worry about it... The clock values have nothing to do with 'time' as any normal person undestands it. More...

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

class  ObjCryst::RefObjOpt
 Base class for options. More...

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

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

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

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

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

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

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

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

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

class  ObjCryst::WXAtom
 wxCryst class for Atoms. More...

class  ObjCryst::WXCostFunction
 Field for a RefinableObj cost function. More...

class  ObjCryst::WXCrystal
 wxCryst class for Crystals. More...

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

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

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

class  ObjCryst::WXCrystObjBasicList
 A List of WXCrystObjBasic. More...

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

class  ObjCryst::WXFieldChoice
 Class to pick one choice... Choice change/update is handled by the WXCrystObj owner, who should grab the incoming event. Useful, for example, to change the scattering power associated to an atom. More...

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

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

class  ObjCryst::WXFieldPar
 A field for a parameter. Template version. If the parameter is a RefinablePar, use WXFieldRefPar instead. More...

class  ObjCryst::WXFieldParBase
 A field for a parameter. This is a an abstract bas class, which can handle events (the real classes to use is the templated WXFieldPar class). If the parameter is a RefinablePar, use WXFieldRefPar. More...

class  ObjCryst::WXFieldRefPar
 A field for a RefinablePar. This shows the 'human' value of the parameter, and allows the modification of the parameter. A button allows to fix/unfix the parameter. More...

class  ObjCryst::WXGLCrystalCanvas
 Class for 3D OpenGL display of Crystal structures. More...

class  ObjCryst::WXGlobalOptimObj
 WX Class for a Global Optimization objects. More...

class  ObjCryst::WXGlobalOptimRunThread
 Class for a GlobalOPtimization thread. More...

class  ObjCryst::WXPowderPattern
 WX Class for PowderPattern objects. More...

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

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

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

class  ObjCryst::WXRadiation
 WX Class for Radiation. More...

class  ObjCryst::WXRefinableObj
 The base wxCryst class for all RefinableObj objects. This shows the title, a menu for XMLInput/XMLOutput, and all RefObjOpt. More...

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

class  ObjCryst::WXScatterer
 base wxCryst class for Scatterers. More...

class  ObjCryst::WXScatteringPowerAtom
 wxCryst class for ScatteringPowerAtom. More...

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

class  ObjCryst::ZAtom
 Class for individual atoms in a ZScatterer Object. This class is purely internal to ZScatterer, so should not be used for any other purpose... More...

class  ObjCryst::ZPolyhedron
 \class ZPolyhedron include.h ObjCryst/ZScatterer.h ZPolyhedron: a Scatterer to describe polyhedras such as octahedron, tetrahedron, square plane, etc... These are ZScatterer objects, so that even if they are initialized with constraints, these can be removed to make any configuration. More...

class  ObjCryst::ZScatterer
 ZScatterer: the basic type of complex scatterers, where atom positions are defined using a standard "Z-Matrix" description. This is used to describe inorganic polyhedras, as well as molecules. More...


Enumerations

enum  RadiationType { RAD_NEUTRON, RAD_XRAY, RAD_ELECTRON }
 Type of radiation used. Only neutrons and X-Rays are used so far, electrons would require a very different treatment.

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

enum  WavelengthType {
  WAVELENGTH_MONOCHROMATIC, WAVELENGTH_ALPHA12, 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).

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 ?).

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 schedule type. More...

enum  GlobalOptimType { GLOBAL_OPTIM_SIMULATED_ANNEALING, GLOBAL_OPTIM_PARALLEL_TEMPERING, GLOBAL_OPTIM_GENETIC }
 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.


Functions

void RealGeomStructFactor (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &rsf)
 \deprecated.

void ImagGeomStructFactor (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &rsf)
 \deprecated.

void RealGeomStructFactor_1 (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &rsf)
 \deprecated.

void RealGeomStructFactor_2 (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &rsf)
 \deprecated.

void RealGeomStructFactor_67 (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &rsf)
 \deprecated.

void RealGeomStructFactor_67ba_c (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &rsf)
 \deprecated.

void RealGeomStructFactor_67cab (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &rsf)
 \deprecated.

void RealGeomStructFactor_67_cba (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &rsf)
 \deprecated.

void RealGeomStructFactor_67bca (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &rsf)
 \deprecated.

void RealGeomStructFactor_67a_cb (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &rsf)
 \deprecated.

void RealGeomStructFactor_97 (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &rsf)
 \deprecated.

void RealGeomStructFactor_230 (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &rsf)
 \deprecated.

void ImagGeomStructFactor_centro (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &isf)
 \deprecated.

void ImagGeomStructFactor_1 (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &isf)
 \deprecated.

void ImagGeomStructFactor_2 (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &isf)
 \deprecated.

void ImagGeomStructFactor_67 (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &isf)
 \deprecated.

void ImagGeomStructFactor_67ba_c (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &rsf)
 \deprecated.

void ImagGeomStructFactor_67cab (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &rsf)
 \deprecated.

void ImagGeomStructFactor_67_cba (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &rsf)
 \deprecated.

void ImagGeomStructFactor_67bca (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &rsf)
 \deprecated.

void ImagGeomStructFactor_67a_cb (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &rsf)
 \deprecated.

void ImagGeomStructFactor_97 (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &isf)
 \deprecated.

void ImagGeomStructFactor_230 (const double x, const double y, const double z, const CrystVector_double &h, const CrystVector_double &k, const CrystVector_double &l, CrystVector_double &isf)
 \deprecated.

void XMLCrystFileSaveGlobal (const string &filename)
 Save all Objcryst++ objects. More...

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

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. More...

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...). More...

CrystVector_double PowderProfileGauss (const CrystVector_double theta, const double fwhm, const double 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_double PowderProfileLorentz (const CrystVector_double theta, const double fwhm, const double 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.

ostream & operator<< (ostream &, const XMLCrystTag &)
 Output an XMLCrystTag to a stream.

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

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

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.

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.


Variables

const RefParTypegpRefParTypeCrystal
const RefParTypegpRefParTypeUnitCell
const RefParTypegpRefParTypeUnitCellLength
const RefParTypegpRefParTypeUnitCellAngle
ObjRegistry< CrystalgCrystalRegistry
 Global registry for all Crystal objects.

ObjRegistry< DiffractionDataSingleCrystalgDiffractionDataSingleCrystalRegistry
 Global registry for all PowderPattern objects.

ObjRegistry< PowderPatternComponentgPowderPatternComponentRegistry
 Global registry for all PowderPatternComponent objects.

ObjRegistry< PowderPatterngPowderPatternRegistry
 Global registry for all PowderPattern objects.

const RefParTypegpRefParTypeScatt
const RefParTypegpRefParTypeScattTransl
const RefParTypegpRefParTypeScattOrient
const RefParTypegpRefParTypeScattConform
const RefParTypegpRefParTypeScattConformBondLength
const RefParTypegpRefParTypeScattConformBondAngle
const RefParTypegpRefParTypeScattConformDihedAngle
const RefParTypegpRefParTypeScattOccup
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
const RefParTypegpRefParTypeScattPow
const RefParTypegpRefParTypeScattPowResonant
const RefParTypegpRefParTypeScattPowTemperature
const RefParTypegpRefParTypeScattPowTemperatureIso
const RefParTypegpRefParTypeScattPowTemperatureAniso
ObjRegistry< ScatteringPowergScatteringPowerRegistry
 Global registry for all ScatteringPower objects.

ObjRegistry< ScatteringPowerAtomgScatteringPowerAtomRegistry
 Global registry for all ScatteringPowerAtom objects.

ObjRegistry< GlobalOptimObjgGlobalOptimObjRegistry
 Global Registry for all GlobalOptimObj.

const RefParTypegpRefParTypeObjCryst
 Top RefParType for the ObjCryst++ library.

ObjRegistry< RefinableObjgRefinableObjRegistry
 Global Registry for all RefinableObj.

ObjRegistry< RefinableObjgTopRefinableObjRegistry
 This is a special registry for 'top' object for an optimization. In the ObjCryst++ class, this currently includes Crystal, PowderPattern and DiffractionDataSingleCrystal.


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 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).

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.

enum 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,...


Function Documentation

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.

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 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.


Generated on Wed Nov 14 19:48:36 2001 for ObjCryst++ by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001