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.
| |
class | ObjCryst::Crystal |
Crystal class: Unit cell, spacegroup, scatterers. More... | |
class | ObjCryst::DiffractionDataSingleCrystal |
DiffractionData object for Single Crystal analysis. 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::MonteCarloObj |
Base object for Monte-Carlo Global Optimization methods. More... | |
class | ObjCryst::ObjCrystException |
Exception class for ObjCryst++ library. More... | |
class | ObjCryst::ObjRegistry |
Object Registry. More... | |
class | ObjCryst::OptimizationObj |
Base object for Optimization methods. 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 undertands 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::Restraint |
Restraint: generic class defining both hard (constraints) and soft (restraints) limits associated with a RefinableObj. 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::WXDiffractionSingleCrystal |
WX Class for DiffractionDataSingleCrystal objects. 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::WXGlobalOptimRunThread |
Class for a GlobalOptimization thread. More... | |
class | ObjCryst::WXMonteCarloObj |
Class for Graphical interface to Monte-Carlo objects (Simulated Annealing, Parallel Tempering). More... | |
class | ObjCryst::WXOptimizationObj |
WX Class for a Global Optimization objects. 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::WXZScatterer |
wxCryst class for ZScatterer objects. 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::ZMoveMinimizer |
Class to minimize conformation changes for random moves. Very experimental !!! 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 | 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) |
\deprecated. | |
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 | 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_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_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_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_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_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_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_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. | |
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 | 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 | 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_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_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_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_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_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_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_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_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 | XMLCrystFileSaveGlobal (const string &filename) |
Save all Objcryst++ objects. More... | |
ObjRegistry< XMLCrystTag > | XMLCrystFileLoadObjectList (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_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 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 > ®) |
Register a new object in a registry, and recursively include all included (sub)objects. | |
void | GetSubRefObjListClockRecursive (ObjRegistry< RefinableObj > ®, RefinableObjClock &clock) |
Get the last time any object was added in the recursive list of objects. | |
void | GetRefParListClockRecursive (ObjRegistry< RefinableObj > ®, RefinableObjClock &clock) |
Get the last time any RefinablePar was added in a recursive list of objects. | |
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> T * | WXDialogChooseFromRegistry (ObjRegistry< T > ®, 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 > ®, 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 RefParType * | gpRefParTypeCrystal |
const RefParType * | gpRefParTypeUnitCell |
const RefParType * | gpRefParTypeUnitCellLength |
const RefParType * | gpRefParTypeUnitCellAngle |
ObjRegistry< Crystal > | gCrystalRegistry |
Global registry for all Crystal objects. | |
ObjRegistry< DiffractionDataSingleCrystal > | gDiffractionDataSingleCrystalRegistry |
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!). More... | |
ObjRegistry< PowderPatternComponent > | gPowderPatternComponentRegistry |
Global registry for all PowderPatternComponent objects. | |
ObjRegistry< PowderPattern > | gPowderPatternRegistry |
Global registry for all PowderPattern objects. | |
const RefParType * | gpRefParTypeScatt |
const RefParType * | gpRefParTypeScattTransl |
const RefParType * | gpRefParTypeScattTranslX |
const RefParType * | gpRefParTypeScattTranslY |
const RefParType * | gpRefParTypeScattTranslZ |
const RefParType * | gpRefParTypeScattOrient |
const RefParType * | gpRefParTypeScattConform |
const RefParType * | gpRefParTypeScattConformBondLength |
const RefParType * | gpRefParTypeScattConformBondAngle |
const RefParType * | gpRefParTypeScattConformDihedAngle |
const RefParType * | gpRefParTypeScattConformX |
const RefParType * | gpRefParTypeScattConformY |
const RefParType * | gpRefParTypeScattConformZ |
const RefParType * | gpRefParTypeScattOccup |
ObjRegistry< Scatterer > | gScattererRegistry |
Global registry for all Scatterer objects. | |
const RefParType * | gpRefParTypeScattData |
const RefParType * | gpRefParTypeScattDataScale |
const RefParType * | gpRefParTypeScattDataProfile |
const RefParType * | gpRefParTypeScattDataProfileType |
const RefParType * | gpRefParTypeScattDataProfileWidth |
const RefParType * | gpRefParTypeScattDataProfileAsym |
const RefParType * | gpRefParTypeScattDataCorr |
const RefParType * | gpRefParTypeScattDataCorrInt |
const RefParType * | gpRefParTypeScattDataCorrIntAbsorp |
const RefParType * | gpRefParTypeScattDataCorrIntPolar |
const RefParType * | gpRefParTypeScattDataCorrIntExtinc |
const RefParType * | gpRefParTypeScattDataCorrPos |
const RefParType * | gpRefParTypeScattDataBackground |
const RefParType * | gpRefParTypeRadiation |
const RefParType * | gpRefParTypeRadiationWavelength |
const RefParType * | gpRefParTypeScattPow |
const RefParType * | gpRefParTypeScattPowResonant |
const RefParType * | gpRefParTypeScattPowTemperature |
const RefParType * | gpRefParTypeScattPowTemperatureIso |
const RefParType * | gpRefParTypeScattPowTemperatureAniso |
ObjRegistry< ScatteringPower > | gScatteringPowerRegistry |
Global registry for all ScatteringPower objects. | |
ObjRegistry< ScatteringPowerAtom > | gScatteringPowerAtomRegistry |
Global registry for all ScatteringPowerAtom objects. | |
ObjRegistry< OptimizationObj > | gOptimizationObjRegistry |
Global Registry for all OptimizationObj. | |
const RefParType * | gpRefParTypeObjCryst |
Top RefParType for the ObjCryst++ library. | |
ObjRegistry< RefinableObj > | gRefinableObjRegistry |
Global Registry for all RefinableObj. | |
ObjRegistry< RefinableObj > | gTopRefinableObjRegistry |
This is a special registry for 'top' object for an optimization. In the ObjCryst++ class, this currently includes Crystal, PowderPattern and DiffractionDataSingleCrystal. |
|
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. |
|
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,... |
|
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...).
|
|
Load an object from a file, identifying it from its tag.
|
|
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.
|
|
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. |
|
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. |