FOX/ObjCryst++  1.10.X (development)
ObjCryst Namespace Reference

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

Classes

class  AsymmetricUnit
 The basic description of spacegroup asymmetric unit. More...
 
class  Atom
 The basic atom scatterer, in a crystal. More...
 
struct  BBox
 
class  CellExplorer
 Algorithm class to find the correct indexing from observed peak positions. More...
 
class  CIF
 Main CIF class - parses the stream and separates data blocks, comments, items, loops. More...
 
class  CIFData
 The CIFData class holds all the information from a single data_ block from a cif file. More...
 
class  Crystal
 Crystal class: Unit cell, spacegroup, scatterers. More...
 
struct  CrystalPOVRayOptions
 Class to store POV-Ray output options. More...
 
class  DiffractionDataSingleCrystal
 DiffractionData object for Single Crystal analysis. More...
 
class  GlobalScatteringPower
 Global Scattering Power. More...
 
class  LorentzCorr
 Lorentz Correction. More...
 
class  LSQNumObj
 (Quick & dirty) Least-Squares Refinement Object with Numerical derivatives More...
 
class  MainTracker
 A class to hold all trackers. More...
 
struct  MDAtomGroup
 Groups of atoms that can be moved using molecular dynamics principles, taking a list of restraints as ptential. 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  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...
 
class  MolRing
 Ring class. More...
 
struct  MolZAtom
 Light-weight representation of an atom in the molecule, as a part of a Z-matrix. More...
 
class  MonteCarloObj
 Base object for Monte-Carlo Global Optimization methods. More...
 
class  NiftyStaticGlobalObjectsInitializer_Crystal
 
class  NiftyStaticGlobalObjectsInitializer_RefinableObj
 
class  NiftyStaticGlobalObjectsInitializer_Scatterer
 
class  NiftyStaticGlobalObjectsInitializer_ScatteringData
 
class  NiftyStaticGlobalObjectsInitializer_ScatteringPower
 
class  NiftyStaticGlobalObjectsInitializer_UnitCell
 
class  ObjCrystException
 Exception class for ObjCryst++ library. More...
 
class  ObjRegistry
 Object Registry. More...
 
class  OptimizationObj
 Base object for Optimization methods. More...
 
class  PeakList
 Class to store positions of observed reflections. More...
 
class  PolarizationCorr
 Polarization Correction. More...
 
class  PowderPattern
 Powder pattern class, with an observed pattern and several calculated components to modelize the pattern. More...
 
class  PowderPatternBackground
 Phase to compute a background contribution to a powder pattern using an interpolation. 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  PowderPatternComponent
 Generic class to compute components (eg the contribution of a given phase, or background) of a powder pattern. More...
 
class  PowderPatternDiffraction
 Class to compute the contribution to a powder pattern from a crystalline phase. More...
 
class  PowderSlitApertureCorr
 Slit aperture correction (for powder) More...
 
class  Quaternion
 A quaternion class, used to represent the orientation of the molecule. More...
 
class  Radiation
 Class to define the radiation (type, monochromaticity, wavelength(s)) of an experiment. More...
 
class  RecUnitCell
 Lightweight class describing the reciprocal unit cell, for the fast computation of d*_hkl^2. More...
 
class  RefinableObj
 Generic Refinable Object. More...
 
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  RefinablePar
 Generic class for parameters of refinable objects. More...
 
class  ReflectionProfile
 Abstract base class for reflection profiles. More...
 
class  ReflectionProfileDoubleExponentialPseudoVoigt
 Double-Exponential Pseudo-Voigt profile for TOF. More...
 
class  ReflectionProfilePseudoVoigt
 Pseudo-Voigt reflection profile. More...
 
class  ReflectionProfilePseudoVoigtAnisotropic
 Pseudo-Voigt reflection profile, with 6-parameters anisotropic Lorentzian broadening and Toraya asymmetric modelling. 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  RefParType
 class of refinable parameter types. More...
 
class  Restraint
 Restraint: generic class for a restraint of a given model. More...
 
class  RigidGroup
 Rigid groups of atoms inside a molecule. More...
 
class  Scatterer
 Generic type of scatterer: can be an atom, or a more complex assembly of atoms. More...
 
struct  ScatteringComponent
 A scattering position in a crystal, associated with the corresponding occupancy and a pointer to the ScatteringPower. More...
 
class  ScatteringComponentList
 list of scattering positions in a crystal, associated with the corresponding occupancy and a pointer to the ScatteringPower. More...
 
class  ScatteringCorr
 Base class to compute all kind of corrections to intensities: Lorentz, Polar, absorption, texcture, extinction, etc... More...
 
class  ScatteringData
 Class to compute structure factors for a set of reflections and a Crystal. More...
 
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...
 
class  ScatteringPowerSphere
 \ brief ScatteringPower for a spherical particule More...
 
class  SimplexObj
 Conjugate Gradient Algorithm object. 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...
 
struct  StretchMode
 Abstract base Stretch Mode for Molecule objects. More...
 
struct  StretchModeBondAngle
 Atoms moved when changing a bond angle. More...
 
struct  StretchModeBondLength
 Group of atoms for random moves changing a bond length. 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...
 
class  SymmetricPairCompare
 Class to compare pairs of objects, with the two objects playing a symmetric role. More...
 
class  TextureEllipsoid
 Texture correction using the Ellipsoidal preferred orientation function. More...
 
class  TextureMarchDollase
 Texture correction using the March-Dollase model. More...
 
struct  TexturePhaseMarchDollase
 One texture phase for the March-Dollase model. More...
 
class  tmp_C_Numeric_locale
 This class only serves to temporarilly set the LC_NUMERIC C locale to "C", in order to use '. More...
 
class  TOFCorr
 Time-Of-Flight Correction. More...
 
class  Tracker
 A class to track the variation of parameters as a function of a number of cycles/trials. More...
 
class  TrackerObject
 Tracker for objects (RefinableObj, Crystal, PowderPattern, RefPar,...) More...
 
struct  Triple
 
class  UnitCell
 Unit Cell class: Unit cell with spacegroup information. More...
 
class  WXAtom
 wxCryst class for Atoms More...
 
class  WXCRYST_ID
 Class to automatically assign a unique wxID to each window. More...
 
class  WXCrystal
 wxCryst class for Crystals More...
 
class  WXCrystalScrolledGridWindow
 
class  WXCrystMenuBar
 Our own local menu bar, using buttons and Popup menus. More...
 
class  WXCrystObj
 Base class for all displayed ObjCryst objects (with a title, and a sizer to stack objects). More...
 
class  WXCrystObjBasic
 Abstract base class for all objects in wxCryst. More...
 
class  WXCrystObjBasicList
 A List of WXCrystObjBasic. More...
 
class  WXDiffractionSingleCrystal
 WX Class for DiffractionDataSingleCrystal 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  WXFieldChoice
 Class to pick one choice... More...
 
class  WXFieldName
 A field with the name of a WXCrystObj. More...
 
class  WXFieldOption
 WX representation of a RefObj option. This displays the names of the different choices. More...
 
class  WXFieldPar
 A field for a parameter. More...
 
class  WXFieldParBase
 A field for a parameter. More...
 
class  WXFieldRefPar
 A field for a RefinablePar. More...
 
class  WXFieldString
 A field which directly links to a string. More...
 
class  WXGlobalOptimRunThread
 Class for a GlobalOptimization thread. More...
 
class  WXLSQ
 
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...
 
class  WXMolScrolledWindow
 
class  WXMonteCarloObj
 Class for Graphical interface to Monte-Carlo objects (Simulated Annealing, Parallel Tempering) More...
 
class  wxMultiChoiceDialog_ListBox
 Provides the same functionnality as wxMultiChoiceDialog, but always using a wxListBox, which is much easier when selecting a large number of successive choices (using shift-click). More...
 
class  WXMultiGraph
 
class  WXOptimizationObj
 WX Class for a Global Optimization objects. More...
 
class  WXPowderPattern
 WX Class for PowderPattern objects. More...
 
class  WXPowderPatternBackground
 Class to display a Powder Pattern Background. More...
 
class  WXPowderPatternDiffraction
 Class to display a Powder Pattern for a crystalline phase. More...
 
class  WXPowderPatternGraph
 Class to display a Powder Pattern (calc,obs) in a graphic window. More...
 
class  WXProfileDoubleExponentialPseudoVoigt
 Class to display a Powder Pattern Pseudo-Voigt Profile. More...
 
class  WXProfilePseudoVoigt
 Class to display a Powder Pattern Pseudo-Voigt Profile. More...
 
class  WXProfilePseudoVoigtAnisotropic
 Class to display a Powder Pattern Pseudo-Voigt Profile with Anisotropic broadening. More...
 
class  WXRadiation
 WX Class for Radiation. More...
 
class  WXRefinableObj
 The base wxCryst class for all RefinableObj objects. More...
 
class  WXRegistry
 This displays all components of a ObjCryst++ Registry. More...
 
class  WXScatterer
 base wxCryst class for Scatterers More...
 
class  WXScatteringPowerAtom
 wxCryst class for ScatteringPowerAtom More...
 
class  WXScatteringPowerSphere
 wxCryst class for ScatteringPowerSphere More...
 
class  WXTextureEllipsoid
 Class to display one Preferred Orientation phase using the Ellipsoid model. More...
 
class  WXTextureMarchDollase
 Class to display the Preferred Orientation Correction using the March-Dollase parametrization. More...
 
class  WXTexturePhaseMarchDollase
 Class to display one Preferred Orientation phase using the March-Dollase parametrization. More...
 
class  WXTrackerGraph
 
class  WXZAtom
 
class  WXZScatterer
 wxCryst class for ZScatterer objects More...
 
class  XMLCrystTag
 class to input or output a well-formatted xml beginning or ending tag. More...
 
struct  XYZ
 Structure holding 3 coordinates, or deriviatives with respect to each of these coordinates. More...
 
class  ZAtom
 Class for individual atoms in a ZScatterer Object. More...
 
class  ZMoveMinimizer
 Class to minimize conformation changes for random moves. More...
 
class  ZPolyhedron
 ZPolyhedron: a Scatterer to describe polyhedras such as octahedron, tetrahedron, square plane, etc... More...
 
class  ZScatterer
 ZScatterer: the basic type of complex scatterers, where atom positions are defined using a standard "Z-Matrix" description. 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)
 
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)
 
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  CrystalSystem {
  TRICLINIC, MONOCLINIC, ORTHOROMBIC, HEXAGONAL,
  RHOMBOEDRAL, TETRAGONAL, CUBIC
}
 Different lattice types.
 
enum  CrystalCentering {
  LATTICE_P, LATTICE_I, LATTICE_A, LATTICE_B,
  LATTICE_C, LATTICE_F
}
 
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_RANDOM_LSQ, 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.
 

Functions

bool iseol (const char c)
 
std::string trimString (const std::string &s)
 
string CIFReadValue (stringstream &in, char &lastc)
 Read one value, whether it is numeric, string or text.
 
REAL CIFNumeric2REAL (const string &s)
 
int CIFNumeric2Int (const string &s)
 
CrystalCreateCrystalFromCIF (CIF &cif, const bool verbose=true, const bool checkSymAsXYZ=true)
 Extract Crystal object(s) from a CIF, if possible. More...
 
CrystalCreateCrystalFromCIF (CIF &cif, const bool verbose, const bool checkSymAsXYZ, const bool oneScatteringPowerPerElement, const bool connectAtoms)
 Extract Crystal object(s) from a CIF, if possible. More...
 
PowderPatternCreatePowderPatternFromCIF (CIF &cif)
 Create PowderPattern object(s) from a CIF, if possible. More...
 
DiffractionDataSingleCrystalCreateSingleCrystalDataFromCIF (CIF &cif, Crystal *pryst=0)
 Create DiffractionDataSingleCrystal object(s) from a CIF, if possible. More...
 
REAL CIFNumeric2REAL (const std::string &s)
 Convert one CIF value to a floating-point value Return 0 if no value can be converted (e.g. More...
 
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. More...
 
bool CompareBondDist (MolBond *b1, MolBond *b2)
 
void ObjCrystInformUserStdOut (const string &)
 Print some information for the user during long processes.
 
float string2floatC (const string &s)
 Function to convert a substring to a floating point value, imposing a C locale (using '. More...
 
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 &isf)
 
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)
 
float EstimateCellVolume (const float dmin, const float dmax, const float nbrefl, const CrystalSystem system, const CrystalCentering centering, const float kappa=1)
 Estimate volume from number of peaks at a given dmin See J. More...
 
bool compareHKL_d (const PeakList::hkl &d1, const PeakList::hkl &d2)
 
template<class T , class U >
bool comparePairFirst (std::pair< T, U > &p1, std::pair< T, U > &p2)
 
float Score (const PeakList &dhkl, const RecUnitCell &ruc, const unsigned int nbSpurious=0, const bool verbose=false, const bool storehkl=false, const bool storePredictedHKL=false)
 Compute score for a candidate RecUnitCell and a PeakList.
 
bool DichoIndexed (const PeakList &dhkl, const RecUnitCell &par, const RecUnitCell &dpar, const unsigned int nbUnindexed=0, const bool verbose=false, unsigned int useStoredHKL=0, const unsigned int maxNbMissingBelow5=0)
 Number of reflexions found in the intervals calculated between par+dpar and par-dpar. More...
 
vector< float > linspace (float min, float max, unsigned int nb)
 
bool SimilarRUC (const RecUnitCell &c0, const RecUnitCell &c1, const float delta=0.005)
 
bool compareRUCScore (std::pair< RecUnitCell, float > &p1, std::pair< RecUnitCell, float > &p2)
 
float InputFloat (istream &is, const char endchar=' ')
 Safely read a floating-point value from a stream. More...
 
bool ISNAN_OR_INF (REAL r)
 Test if the value is a NaN.
 
void XMLCrystFileSaveGlobal (const string &filename)
 Save all Objcryst++ objects. More...
 
void XMLCrystFileSaveGlobal (ostream &out)
 
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...
 
template void XMLCrystFileLoadObject (const string &, const string &, const string &, Crystal *)
 
template void XMLCrystFileLoadObject (const string &, const string &, const string &, PowderPattern *)
 
template void XMLCrystFileLoadObject (const string &, const string &, const string &, DiffractionDataSingleCrystal *)
 
template void XMLCrystFileLoadObject (const string &, const string &, const string &, PowderPatternBackground *)
 
template void XMLCrystFileLoadObject (const string &, const string &, const string &, PowderPatternDiffraction *)
 
template void XMLCrystFileLoadObject (const string &, const string &, const string &, MonteCarloObj *)
 
void XMLCrystFileLoadAllObject (const string &file)
 Load all 'top' objects from a file (Crystal, PowderPattern, DiffDataSingleCrystal and GlobalOptimObj objects). More...
 
void XMLCrystFileLoadAllObject (istream &is)
 
void XMLCrystFileSaveGlobal (std::ostream &out)
 Save all Objcryst++ objects. More...
 
void XMLCrystFileLoadAllObject (std::istream &is)
 Load all 'top' objects from a file (Crystal, PowderPattern, DiffDataSingleCrystal and GlobalOptimObj objects). More...
 
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.
 
void ExpandAtomGroupRecursive (MolAtom *atom, const map< MolAtom *, set< MolAtom * > > &connect, set< MolAtom * > &atomlist, const MolAtom *finalAtom=0)
 Build recursively a list of atoms, starting from a one atom, and given a connectivity table. More...
 
void ExpandAtomGroupRecursive (MolAtom *atom, const map< MolAtom *, set< MolAtom * > > &connect, map< MolAtom *, unsigned long > &atomlist, const unsigned long maxdepth, unsigned long depth=0)
 Build recursively a list of atoms, starting from a one atom, and given a connectivity table, until a certain depth (number of bonds) is reached. More...
 
REAL FlatLorentzianProba (const REAL x, const REAL sigma, const REAL delta)
 
REAL FlatLorentzianIntegral (const REAL x1, const REAL x2, const REAL sigma, const REAL delta)
 
REAL LorentzianBiasedRandomMove (const REAL x0, const REAL sigma, const REAL delta, const REAL amplitude)
 Random move respecting a gaussian probability distribution with a flat top. More...
 
void TestLorentzianBiasedRandomMove ()
 
void BuildZMatrixRecursive (long &z, const long curr, const vector< MolAtom * > &vpAtom, const map< MolAtom *, set< MolAtom * > > &connT, vector< MolZAtom > &zmatrix, const map< const MolAtom *, long > &vIndex, vector< long > &vZIndex, vector< long > &vrZIndex)
 
void BuildRingRecursive (MolAtom *currentAtom, MolAtom *previousAtom, const map< MolAtom *, set< MolAtom * > > &connect, list< MolAtom * > &atomlist, map< set< MolAtom * >, list< MolAtom * > > &ringlist)
 Find rings, starting from a one atom, and given a connectivity table. More...
 
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 d)
 
MoleculeMakeCube (Crystal &cryst, const string &name, const ScatteringPower *centralAtom, const ScatteringPower *peripheralAtom, const REAL d)
 
MoleculeMakeAntiPrismTetragonal (Crystal &cryst, const string &name, const ScatteringPower *centralAtom, const ScatteringPower *peripheralAtom, const REAL d)
 
MoleculeMakePrismTrigonal (Crystal &cryst, const string &name, const ScatteringPower *centralAtom, const ScatteringPower *peripheralAtom, const REAL d)
 
MoleculeMakeIcosahedron (Crystal &cryst, const string &name, const ScatteringPower *centralAtom, const ScatteringPower *peripheralAtom, const REAL d)
 
MoleculeMakeTriangle (Crystal &cryst, const string &name, const ScatteringPower *centralAtom, const ScatteringPower *peripheralAtom, const REAL d)
 
 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
negative tth values must be
first CrystVector_REAL 
PowderProfileGauss (const CrystVector_REAL theta, const REAL fwhm, const REAL asymmetryPar=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
negative tth values must be
first CrystVector_REAL 
PowderProfileLorentz (const CrystVector_REAL theta, const REAL fwhm, const REAL asymmetryPar=1.)
 
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. More...
 
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. More...
 
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. More...
 
template<class T >
std::complex< T > ExponentialIntegral1_ExpZ (const complex< T > z)
 E1(z)*exp(z) More...
 
void InitLibCrystTabulCosine ()
 
void DeleteLibCrystTabulCosine ()
 
void InitLibCrystTabulExp ()
 
void DeleteLibCrystTabulExp ()
 
CrystMatrix_REAL Bij2Betaij (const CrystVector_REAL &Bij, const UnitCell &cell)
 
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)
 
std::vector< std::string > SplitString (const std::string &s)
 
void ReadFHLine (const char *buf, const unsigned int nb, string &symbol, int &n1, float &v1, int &n2, float &v2, int &n3, float &v3)
 Function to parse one line from a Fenske-Hall zmatrix file. More...
 
void CompareWorlds (const CrystVector_long &idx, const CrystVector_long &swap, const RefinableObj &obj)
 
ostream & operator<< (ostream &, const XMLCrystTag &)
 Output an XMLCrystTag to a stream.
 
istream & operator>> (istream &, XMLCrystTag &)
 Input an XMLCrystTag from a stream.
 
void RecursiveMapFunc (RefinableObj &obj, map< RefinableObj *, unsigned int > &themap, const unsigned int value)
 
template<class T >
void RefObjRegisterRecursive (T &obj, ObjRegistry< T > &reg)
 Register a new object in a registry, and recursively include all included (sub)objects. More...
 
void GetSubRefObjListClockRecursive (ObjRegistry< RefinableObj > &reg, RefinableObjClock &clock)
 Get the last time any object was added in the recursive list of objects.
 
void GetRefParListClockRecursive (ObjRegistry< RefinableObj > &reg, RefinableObjClock &clock)
 Get the last time any RefinablePar was added in a recursive list of objects.
 
template void RefObjRegisterRecursive (RefinableObj &obj, ObjRegistry< RefinableObj > &reg)
 
void WXCrystValidateAllUserInput ()
 This function validates all user input (in a WXField) not yet taken into account, if needs be. More...
 
GLvoid crystGLPrint (const string &s)
 
MoleculeZScatterer2Molecule (ZScatterer *scatt)
 Conversion from ZScatterer to the newer Molecule object. (in WXZScatterer.cpp) More...
 
MoleculeAtoms2Molecule (list< Atom * > &vAtom)
 
template<class T >
T const * WXDialogChooseFromVector (const vector< T * > &reg, wxWindow *parent, const string &message, int &choice)
 
template<class T >
T * WXDialogChooseFromVector (vector< T * > &reg, wxWindow *parent, const string &message, int &choice)
 
template<class T >
list< T * > WXDialogChooseMultipleFromVector (vector< T * > &reg, wxWindow *parent, const string &message)
 
template<class T >
list< T const * > WXDialogChooseMultipleFromVector (const vector< T * > &reg, wxWindow *parent, const string &message)
 
string CompressString (const string &s, const string &c)
 
list< string > SplitString (const string &str, const string &separator)
 
 EVT_MENU (ID_POWDERBACKGROUND_IMPORT, WXPowderPatternBackground::OnMenuImportUserBackground) EVT_MENU(ID_POWDERBACKGROUND_OPTIMIZEBAYESIAN
 
WXPowderPatternBackground::OnMenuOptimizeBayesianBackground EVT_GRID_CMD_CELL_CHANGE (ID_POWDERBACKGROUND_GRID, WXPowderPatternBackground::OnEditGridBackgroundPoint) EVT_MENU(ID_POWDERBACKGROUND_NEWBAYESIAN
 
 EVT_MENU (ID_POWDERDIFF_SAVEHKLFCALC, WXPowderPatternDiffraction::OnMenuSaveHKLFcalc) WXPowderPatternDiffraction
 
bool compareSPGScore (const SPGScore &s1, const SPGScore &s2)
 
std::vector< bool > spgExtinctionFingerprint (Crystal &c, cctbx::sgtbx::space_group &spg)
 
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. More...
 
template RefinableObjWXDialogChooseFromRegistry (ObjRegistry< RefinableObj > &, wxWindow *, const string &, int &)
 
template CrystalWXDialogChooseFromRegistry (ObjRegistry< Crystal > &, wxWindow *, const string &, int &)
 
template ScattererWXDialogChooseFromRegistry (ObjRegistry< Scatterer > &, wxWindow *, const string &, int &)
 
template ScatteringPowerWXDialogChooseFromRegistry (ObjRegistry< ScatteringPower > &, wxWindow *, const string &, int &)
 
template ScatteringPowerAtomWXDialogChooseFromRegistry (ObjRegistry< ScatteringPowerAtom > &, wxWindow *, const string &, int &)
 
template ZAtomWXDialogChooseFromRegistry (ObjRegistry< ZAtom > &, wxWindow *, const string &, int &)
 
template PowderPatternWXDialogChooseFromRegistry (ObjRegistry< PowderPattern > &, wxWindow *, const string &, int &)
 
template PowderPatternComponentWXDialogChooseFromRegistry (ObjRegistry< PowderPatternComponent > &, wxWindow *, const string &, int &)
 
template
DiffractionDataSingleCrystal
WXDialogChooseFromRegistry (ObjRegistry< DiffractionDataSingleCrystal > &, wxWindow *, const string &, int &)
 
template OptimizationObjWXDialogChooseFromRegistry (ObjRegistry< OptimizationObj > &, wxWindow *, const string &, int &)
 
template XMLCrystTagWXDialogChooseFromRegistry (ObjRegistry< XMLCrystTag > &, wxWindow *, const string &, int &)
 
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. More...
 
template const RefinableObjWXDialogChooseFromRegistry (const ObjRegistry< RefinableObj > &, wxWindow *, const string &, int &)
 
template const CrystalWXDialogChooseFromRegistry (const ObjRegistry< Crystal > &, wxWindow *, const string &, int &)
 
template const ScattererWXDialogChooseFromRegistry (const ObjRegistry< Scatterer > &, wxWindow *, const string &, int &)
 
template const ScatteringPowerWXDialogChooseFromRegistry (const ObjRegistry< ScatteringPower > &, wxWindow *, const string &, int &)
 
template const
ScatteringPowerAtom
WXDialogChooseFromRegistry (const ObjRegistry< ScatteringPowerAtom > &, wxWindow *, const string &, int &)
 
template const ZAtomWXDialogChooseFromRegistry (const ObjRegistry< ZAtom > &, wxWindow *, const string &, int &)
 
template const PowderPatternWXDialogChooseFromRegistry (const ObjRegistry< PowderPattern > &, wxWindow *, const string &, int &)
 
template const
PowderPatternComponent
WXDialogChooseFromRegistry (const ObjRegistry< PowderPatternComponent > &, wxWindow *, const string &, int &)
 
template const
DiffractionDataSingleCrystal
WXDialogChooseFromRegistry (const ObjRegistry< DiffractionDataSingleCrystal > &, wxWindow *, const string &, int &)
 
template const OptimizationObjWXDialogChooseFromRegistry (const ObjRegistry< OptimizationObj > &, wxWindow *, const string &, int &)
 
template const XMLCrystTagWXDialogChooseFromRegistry (const ObjRegistry< XMLCrystTag > &, wxWindow *, const string &, int &)
 

Variables

static REAL defaultWavelength =1.0
 This is the default wavelength - whenever a "_diffrn_radiation_wavelength" or "_pd_proc_wavelength"entry is found, it is used as a new value for the default wavelength. More...
 
const RefParTypegpRefParTypeCrystal =0
 
ObjRegistry< CrystalgCrystalRegistry ("List of all Crystals")
 Global registry for all Crystal objects.
 
static
NiftyStaticGlobalObjectsInitializer_Crystal 
NiftyStaticGlobalObjectsInitializer_Crystal_counter
 
ObjRegistry
< DiffractionDataSingleCrystal
gDiffractionDataSingleCrystalRegistry ("Global DiffractionDataSingleCrystal Registry")
 Global registry for all PowderPattern objects.
 
void(* fpObjCrystInformUser )(const string &) =ObjCrystInformUserStdOut
 Pointer to a function for passing info to the user during or after long/important processes (use scarcely!) More...
 
ofstream f
 
ObjRegistry
< PowderPatternComponent
gPowderPatternComponentRegistry ("List of all PowderPattern Components")
 Global registry for all PowderPatternComponent objects.
 
ObjRegistry< PowderPatterngPowderPatternRegistry ("List of all PowderPattern objects")
 
 Gaussian
 
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
 
 Lorentzian
 
const RefParTypegpRefParTypeScattDataProfile =0
 Type for reflection profile.
 
const RefParTypegpRefParTypeScattDataProfileType =0
 Type for reflection profiles type (e.g. gaussian/lorentzian mix)
 
const RefParTypegpRefParTypeScattDataProfileWidth =0
 Type for reflection profile width.
 
const RefParTypegpRefParTypeScattDataProfileAsym =0
 Type for reflection profile asymmetry.
 
ObjRegistry< ReflectionProfilegReflectionProfileRegistry ("List of all ReflectionProfile types")
 Global registry for all ReflectionProfile objects.
 
const RefParTypegpRefParTypeScatt =0
 
const RefParTypegpRefParTypeScattTransl =0
 
const RefParTypegpRefParTypeScattTranslX =0
 
const RefParTypegpRefParTypeScattTranslY =0
 
const RefParTypegpRefParTypeScattTranslZ =0
 
const RefParTypegpRefParTypeScattOrient =0
 
const RefParTypegpRefParTypeScattConform =0
 
const RefParTypegpRefParTypeScattConformBondLength =0
 
const RefParTypegpRefParTypeScattConformBondAngle =0
 
const RefParTypegpRefParTypeScattConformDihedAngle =0
 
const RefParTypegpRefParTypeScattConformX =0
 
const RefParTypegpRefParTypeScattConformY =0
 
const RefParTypegpRefParTypeScattConformZ =0
 
const RefParTypegpRefParTypeScattOccup =0
 
ObjRegistry< ScatterergScattererRegistry ("Global Scatterer Registry")
 Global registry for all Scatterer objects.
 
static
NiftyStaticGlobalObjectsInitializer_Scatterer 
NiftyStaticGlobalObjectsInitializer_Scatterer_counter
 
const RefParTypegpRefParTypeScattData = 0
 Generic type for scattering data.
 
const RefParTypegpRefParTypeScattDataScale =0
 Type for scattering data scale factors.
 
const RefParTypegpRefParTypeScattDataCorr =0
 Generic type for scattering data correction parameter.
 
const RefParTypegpRefParTypeScattDataCorrInt =0
 Generic type for correction to calculated intensities.
 
const RefParTypegpRefParTypeScattDataCorrIntPO_Direction =0
 Parameter type for preferred orientation direction.
 
const RefParTypegpRefParTypeScattDataCorrIntPO_Fraction =0
 Parameter type for fraction of preferred orientation.
 
const RefParTypegpRefParTypeScattDataCorrIntPO_Amplitude =0
 Parameter type for the amplitude of preferred orientation.
 
const RefParTypegpRefParTypeScattDataCorrInt_Ellipsoid =0
 Parameter type for the ellipsoid coefficient.
 
const RefParTypegpRefParTypeScattDataCorrIntAbsorp =0
 Parameter type for absorption correction.
 
const RefParTypegpRefParTypeScattDataCorrIntPolar =0
 Parameter type for polarization correction.
 
const RefParTypegpRefParTypeScattDataCorrIntExtinc =0
 Parameter type for extinction correction.
 
const RefParTypegpRefParTypeScattDataCorrPos =0
 Parameter type for correction to peak positions.
 
const RefParTypegpRefParTypeScattDataBackground =0
 Parameter type for background intensity.
 
const RefParTypegpRefParTypeRadiation =0
 
const RefParTypegpRefParTypeRadiationWavelength =0
 
static REAL sLibCrystTabulCosineRatio
 
static REAL * spLibCrystTabulCosine
 
static REAL * spLibCrystTabulCosineSine
 
static bool sLibCrystTabulExpIsInit =false
 
static const long sLibCrystNbTabulExp =10000
 
static const REAL sLibCrystMinTabulExp =-5.
 
static const REAL sLibCrystMaxTabulExp =10.
 
static REAL * spLibCrystTabulExp
 
static
NiftyStaticGlobalObjectsInitializer_ScatteringData 
NiftyStaticGlobalObjectsInitializer_ScatteringData_counter
 
const RefParTypegpRefParTypeScattPow =0
 
const RefParTypegpRefParTypeScattPowResonant =0
 
const RefParTypegpRefParTypeScattPowTemperature =0
 
const RefParTypegpRefParTypeScattPowTemperatureIso =0
 
const RefParTypegpRefParTypeScattPowTemperatureAniso =0
 
ObjRegistry< ScatteringPowergScatteringPowerRegistry ("Global ScatteringPower Registry")
 Global registry for all ScatteringPower objects.
 
ObjRegistry< ScatteringPowerAtomgScatteringPowerAtomRegistry ("Global ScatteringPowerAtom Registry")
 Global registry for all ScatteringPowerAtom objects.
 
static bool warnADP =true
 
static
NiftyStaticGlobalObjectsInitializer_ScatteringPower 
NiftyStaticGlobalObjectsInitializer_ScatteringPower_counter
 
const RefParTypegpRefParTypeUnitCell =0
 
const RefParTypegpRefParTypeUnitCellLength =0
 
const RefParTypegpRefParTypeUnitCellAngle =0
 
static
NiftyStaticGlobalObjectsInitializer_UnitCell 
NiftyStaticGlobalObjectsInitializer_UnitCell_counter
 
ObjRegistry< OptimizationObjgOptimizationObjRegistry ("List of all Optimization objects")
 Global Registry for all OptimizationObj.
 
const RefParTypegpRefParTypeObjCryst =0
 Top RefParType for the ObjCryst++ library.
 
ObjRegistry< RefinableObjgRefinableObjRegistry ("Global RefinableObj registry")
 Global Registry for all RefinableObj.
 
ObjRegistry< RefinableObjgTopRefinableObjRegistry ("Global Top RefinableObj registry")
 This is a special registry for 'top' object for an optimization. More...
 
const long ID_WXOBJ_ENABLE =WXCRYST_ID()
 
const long ID_WXOBJ_DISABLE =WXCRYST_ID()
 
static
NiftyStaticGlobalObjectsInitializer_RefinableObj 
NiftyStaticGlobalObjectsInitializer_RefinableObj_counter
 
static const long ID_ATOM_SCATTPOW =WXCRYST_ID()
 
std::map< wxWindowID,
std::pair< wxPoint, wxSize > > 
gvWindowPosition
 Used to remember window positions. More...
 
WXFieldspLastWXFieldInputNotValidated =0
 This pointer records the last wxField in which something was enetered, so that it can be validated when inpu is finished (either when another input has begun in another field, or when an action requires to purge all input.
 
WXCRYST_ID ID_CRYST_MENU1
 
WXCRYST_ID ID_CRYST_MENU2
 
WXCRYST_ID ID_CRYST_MENU3
 
WXCRYST_ID ID_CRYST_MENU4
 
WXCRYST_ID ID_CRYST_MENU5
 
WXCRYST_ID ID_CRYST_MENU6
 
WXCRYST_ID ID_CRYST_MENU7
 
WXCRYST_ID ID_CRYST_MENU8
 
WXCRYST_ID ID_CRYST_MENU9
 
WXCRYST_ID ID_CRYST_MENU10
 
WXCRYST_ID ID_CRYST_MENU11
 
WXCRYST_ID ID_CRYST_MENU12
 
WXCRYST_ID ID_CRYST_MENU13
 
WXCRYST_ID ID_CRYST_MENU14
 
WXCRYST_ID ID_CRYST_MENU15
 
WXCRYST_ID ID_CRYST_MENU16
 
static int sFontDisplayListBase =0
 
static const long ID_CRYSTAL_MENU_SAVECIF =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SAVETEXT =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_DISPLAY =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_DISPLAY_3DVIEW =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_PAR_SETRELATIVEXYZLIMITS =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_PAR_TEST_RANDOM_MOVES =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_REMOVESCATTPOW =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_ADDSCATTPOWATOM =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_ADDSCATTPOWSPHERE =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_ADDATOM =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_IMPORTATOMLIST =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_ADDZSCATTERER =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_ADDMOLECULE =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_ATOMS2MOLECULE =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_IMPORTFENSKEHALLZMATRIX =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_IMPORTNAMEDZMATRIX =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_ADDTETRAHEDRON =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_ADDOCTAHEDRON =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_ADDTRIANGLE =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_ADDSQUAREPLANE =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_ADDCUBE =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_ADDANTIPRISMTETRAGONAL =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_ADDPRISMTRIGONAL =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_ADDICOSAHEDRON =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_REMOVESCATTERER =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SCATT_DUPLICSCATTERER =WXCRYST_ID()
 
static const long ID_CRYSTAL_SPACEGROUP =WXCRYST_ID()
 
static const long ID_GLCRYSTAL_MENU_UPDATE =WXCRYST_ID()
 
static const long ID_GLCRYSTAL_WINDOW =WXCRYST_ID()
 
static const long ID_CRYSTAL_WIN_SCATTPOW =WXCRYST_ID()
 
static const long ID_CRYSTAL_WIN_ANTIBUMP =WXCRYST_ID()
 
static const long ID_CRYSTAL_WIN_BONDVALENCE =WXCRYST_ID()
 
static const long ID_CRYSTAL_MENU_SHOW_SCATTPOW_WIN =WXCRYST_ID()
 
static const long ID_GLCRYSTAL_FOURIER_ADD = WXCRYST_ID()
 
static const long ID_GLCRYSTAL_FOURIER_REMOVE = WXCRYST_ID()
 
static const long ID_GLCRYSTAL_FOURIER_UPDATE = WXCRYST_ID()
 
static const long ID_GLCRYSTAL_FOURIER_WIREFRAME = WXCRYST_ID()
 
static const long ID_GLCRYSTAL_FOURIER_SHOW = WXCRYST_ID()
 
static const long ID_GLCRYSTAL_FOURIER_SHARPEN = WXCRYST_ID()
 
static const long ID_GLCRYSTAL_FOURIER_LISTMAP = WXCRYST_ID()
 
static const long ID_GLCRYSTAL_FOURIER_LISTGLMAP = WXCRYST_ID()
 
static const long ID_GLCRYSTAL_FOURIER_CONTOUR = WXCRYST_ID()
 
static const long ID_GLCRYSTAL_FOURIER_NEWCONTOUR = WXCRYST_ID()
 
static const long ID_GLCRYSTAL_FOURIER_COLOURPICKER = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_SAVEHKLIOBSICALC = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_SAVEHKLFCALC = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_SIMULATE = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_IMPORT_HKLIOBS = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_IMPORT_HKLIOBSSIGMA = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_IMPORT_SHELXHKLF4 = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_IMPORT_CIF = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_IMPORT_JANAM91 = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_IMPORT_HKLIOBSGROUP = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_FITSCALE_R = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_FITSCALE_RW = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_WAVELENGTH = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_WAVELENGTH_XRAY = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_WAVELENGTH_NEUTRON = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_WAVELENGTH_ELECTRON = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_WAVELENGTH_SET = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_WAVELENGTH_SET_AG = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_WAVELENGTH_SET_MO = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_WAVELENGTH_SET_CU = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_WAVELENGTH_SET_FE = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_WAVELENGTH_SET_CO = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_WAVELENGTH_SET_CR = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_WAVELENGTH_SET_AGA1 = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_WAVELENGTH_SET_MOA1 = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_WAVELENGTH_SET_CUA1 = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_WAVELENGTH_SET_FEA1 = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_WAVELENGTH_SET_COA1 = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_WAVELENGTH_SET_CRA1 = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_CRYSTAL = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_DATA = WXCRYST_ID()
 
static long ID_DIFFSINGLECRYST_MENU_DATA_GRAPH = WXCRYST_ID()
 
static long ID_GLOBALOPT_MENU_OBJECTS = WXCRYST_ID()
 
static long ID_GLOBALOPT_MENU_OBJECTS_ADDOBJ = WXCRYST_ID()
 
static long ID_GLOBALOPT_MENU_OBJECTS_REMOVEOBJ = WXCRYST_ID()
 
static long ID_GLOBALOPT_MENU_OBJECTS_ADDCOSTFUNC = WXCRYST_ID()
 
static long ID_GLOBALOPT_MENU_OBJECTS_REMOVECOSTFUNC =WXCRYST_ID()
 
static long ID_GLOBALOPT_MENU_OPT = WXCRYST_ID()
 
static long ID_GLOBALOPT_MENU_OPT_RUN = WXCRYST_ID()
 
static long ID_GLOBALOPT_MENU_OPT_RUN_MULTIPLE = WXCRYST_ID()
 
static long ID_GLOBALOPT_MENU_OPT_STOP = WXCRYST_ID()
 
static long ID_GLOBALOPT_MENU_OPT_LSQ = WXCRYST_ID()
 
static long ID_GLOBALOPT_MENU_SOLUTIONS = WXCRYST_ID()
 
static long ID_GLOBALOPT_MENU_SOLUTIONS_BROWSE = WXCRYST_ID()
 
static long ID_BROWSE_WIN = WXCRYST_ID()
 
static const long ID_MOLATOM_SCATTPOW =WXCRYST_ID()
 
static const long ID_MOLATOM_NAME =WXCRYST_ID()
 
WXCRYST_ID ID_MOLBOND_ATOM1
 
WXCRYST_ID ID_MOLBOND_ATOM2
 
WXCRYST_ID ID_MOLBOND_FREEBUTTON
 
WXCRYST_ID ID_MOLBONDANGLE_ATOM1
 
WXCRYST_ID ID_MOLBONDANGLE_ATOM2
 
WXCRYST_ID ID_MOLBONDANGLE_ATOM3
 
WXCRYST_ID ID_MOLDIHEDRALANGLE_ATOM1
 
WXCRYST_ID ID_MOLDIHEDRALANGLE_ATOM2
 
WXCRYST_ID ID_MOLDIHEDRALANGLE_ATOM3
 
WXCRYST_ID ID_MOLDIHEDRALANGLE_ATOM4
 
WXCRYST_ID ID_MENU_OPTIMIZECONFORMATION
 
WXCRYST_ID ID_MENU_SETLIMITS
 
WXCRYST_ID ID_MOLECULE_MENU_FILE
 
WXCRYST_ID ID_MOLECULE_MENU_FILE_2ZMATRIX
 
WXCRYST_ID ID_MOLECULE_MENU_FILE_2ZMATRIXNAMED
 
WXCRYST_ID ID_MOLECULE_MENU_PAR_MDTEST
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_OPTIMIZECONFORMATION
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_STATUS
 
WXCRYST_ID ID_MOLECULE_MENU_EXPORT_RESTRAINTS
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_ADD_ATOM
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_ADD_BOND
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_ADD_ANGLE
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_ADD_DIHEDRAL
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_ADD_RIGID_GROUP
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_ADD_NONFLIP_ATOM
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_RIGIDIFY_WITH_DIHEDRALANGLES
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_TEST
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_REMOVE_ATOM
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_REMOVE_BOND
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_REMOVE_ANGLE
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_REMOVE_DIHEDRAL
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_REMOVE_RIGID_GROUP
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_REMOVE_NONFLIPATOM
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_SHOW_RESTRAINT
 
WXCRYST_ID ID_MOLECULE_MENU_FORMULA_SET_DELTA_SIGMA
 
WXCRYST_ID ID_MOLECULE_MENU_GEOMETRY
 
WXCRYST_ID ID_MOLECULE_MENU_GEOMETRY_ROTATE_BOND
 
WXCRYST_ID ID_MOLECULE_MENU_GEOMETRY_ROTATE_DIHED
 
WXCRYST_ID ID_MOLECULE_CHANGE_CENTER_ATOM
 
WXCRYST_ID ID_WINDOW_ATOM
 
WXCRYST_ID ID_WINDOW_BONDLENGTH
 
WXCRYST_ID ID_WINDOW_BONDANGLE
 
WXCRYST_ID ID_WINDOW_DIHEDRALANGLE
 
WXCRYST_ID ID_WINDOW_RIGIDGROUP
 
WXCRYST_ID ID_WINDOW_NONFLIPATOM
 
static const long ID_MOLECULE_ROTATE_BOND_GO =WXCRYST_ID()
 
static const long ID_MOLECULE_ROTATE_BOND_ATOMS =WXCRYST_ID()
 
static const long ID_MOLECULE_ROTATE_DIHED_GO =WXCRYST_ID()
 
static const long ID_MOLECULE_ROTATE_DIHED_ATOMS =WXCRYST_ID()
 
static const char * swxColourNameList []
 
static const long ID_UPDATEUI = WXCRYST_ID()
 
static const long ID_MENU_AUTOSCALE = WXCRYST_ID()
 
static const long ID_POWDER_MENU_COMP_ADDBACKGD_BAYESIAN =WXCRYST_ID()
 
static const long ID_POWDER_MENU_COMP_ADDBACKGD = WXCRYST_ID()
 
static const long ID_POWDER_MENU_COMP_ADDCRYST = WXCRYST_ID()
 
static const long ID_POWDER_MENU_GRAPH = WXCRYST_ID()
 
static const long ID_POWDER_MENU_SAVETEXT = WXCRYST_ID()
 
static const long ID_POWDER_MENU_SIMULATE = WXCRYST_ID()
 
static const long ID_POWDER_MENU_EXPORT = WXCRYST_ID()
 
static const long ID_POWDER_MENU_EXPORT_FULLPROF = WXCRYST_ID()
 
static const long ID_POWDER_MENU_IMPORT_FULLPROF = WXCRYST_ID()
 
static const long ID_POWDER_MENU_IMPORT_PSI_DMC = WXCRYST_ID()
 
static const long ID_POWDER_MENU_IMPORT_ILL_D1A5 = WXCRYST_ID()
 
static const long ID_POWDER_MENU_IMPORT_XDD = WXCRYST_ID()
 
static const long ID_POWDER_MENU_IMPORT_CPI = WXCRYST_ID()
 
static const long ID_POWDER_MENU_IMPORT_FULLPROF4 = WXCRYST_ID()
 
static const long ID_POWDER_MENU_IMPORT_MULTIDETECTORLLBG42 =WXCRYST_ID()
 
static const long ID_POWDER_MENU_IMPORT_2THETAOBSSIGMA = WXCRYST_ID()
 
static const long ID_POWDER_MENU_IMPORT_2THETAOBS = WXCRYST_ID()
 
static const long ID_POWDER_MENU_IMPORT_TOFISISXYSIGMA = WXCRYST_ID()
 
static const long ID_POWDER_MENU_IMPORT_GSAS = WXCRYST_ID()
 
static const long ID_POWDER_MENU_IMPORT_CIF = WXCRYST_ID()
 
static const long ID_POWDER_MENU_FITSCALE_R = WXCRYST_ID()
 
static const long ID_POWDER_MENU_FITSCALE_RW = WXCRYST_ID()
 
static const long ID_POWDER_MENU_WAVELENGTH = WXCRYST_ID()
 
static const long ID_POWDER_MENU_WAVELENGTH_XRAY = WXCRYST_ID()
 
static const long ID_POWDER_MENU_WAVELENGTH_NEUTRON = WXCRYST_ID()
 
static const long ID_POWDER_MENU_WAVELENGTH_NEUTRON_TOF = WXCRYST_ID()
 
static const long ID_POWDER_MENU_WAVELENGTH_SET = WXCRYST_ID()
 
static const long ID_POWDER_MENU_WAVELENGTH_SET_AG = WXCRYST_ID()
 
static const long ID_POWDER_MENU_WAVELENGTH_SET_MO = WXCRYST_ID()
 
static const long ID_POWDER_MENU_WAVELENGTH_SET_CU = WXCRYST_ID()
 
static const long ID_POWDER_MENU_WAVELENGTH_SET_FE = WXCRYST_ID()
 
static const long ID_POWDER_MENU_WAVELENGTH_SET_CO = WXCRYST_ID()
 
static const long ID_POWDER_MENU_WAVELENGTH_SET_CR = WXCRYST_ID()
 
static const long ID_POWDER_MENU_WAVELENGTH_SET_AGA1 = WXCRYST_ID()
 
static const long ID_POWDER_MENU_WAVELENGTH_SET_MOA1 = WXCRYST_ID()
 
static const long ID_POWDER_MENU_WAVELENGTH_SET_CUA1 = WXCRYST_ID()
 
static const long ID_POWDER_MENU_WAVELENGTH_SET_FEA1 = WXCRYST_ID()
 
static const long ID_POWDER_MENU_WAVELENGTH_SET_COA1 = WXCRYST_ID()
 
static const long ID_POWDER_MENU_WAVELENGTH_SET_CRA1 = WXCRYST_ID()
 
static const long ID_POWDER_MENU_ADD_2THETA_EXCLUDE = WXCRYST_ID()
 
static const long ID_POWDER_MENU_LEBAIL = WXCRYST_ID()
 
static const long ID_POWDERBACKGROUND_IMPORT = WXCRYST_ID()
 
static const long ID_POWDERBACKGROUND_OPTIMIZEBAYESIAN = WXCRYST_ID()
 
static const long ID_POWDERDIFF_CRYSTAL = WXCRYST_ID()
 
static const long ID_POWDERDIFF_SAVEHKLFCALC = WXCRYST_ID()
 
static const long ID_POWDER_GRAPH_NEW_PATTERN = WXCRYST_ID()
 
static const long ID_POWDERTEXTURE_MENU_ADDPHASE = WXCRYST_ID()
 
static const long ID_POWDERTEXTURE_MENU_DELETEPHASE = WXCRYST_ID()
 
static const long ID_POWDERPATTERN_MENU_COMPONENTS = WXCRYST_ID()
 
static const long ID_POWDERPATTERN_MENU_PATTERN = WXCRYST_ID()
 
static const long ID_POWDERDIFF_PROFILE_DEPV = WXCRYST_ID()
 
static const long ID_POWDER_GRAPH_WIN = WXCRYST_ID()
 
static const long ID_POWDERGRAPH_MENU_UPDATE = WXCRYST_ID()
 
static const long ID_POWDERGRAPH_MENU_TOGGLELABEL = WXCRYST_ID()
 
static const long ID_POWDERGRAPH_MENU_TOGGPEAK = WXCRYST_ID()
 
static const long ID_POWDERGRAPH_MENU_FINDPEAKS = WXCRYST_ID()
 
static const long ID_POWDERGRAPH_MENU_LOADPEAKS = WXCRYST_ID()
 
static const long ID_POWDERGRAPH_MENU_SAVEPEAKS = WXCRYST_ID()
 
static const long ID_POWDERGRAPH_MENU_ADDPEAK = WXCRYST_ID()
 
static const long ID_POWDERGRAPH_MENU_REMOVEPEAK = WXCRYST_ID()
 
static const long ID_POWDERGRAPH_MENU_INDEX = WXCRYST_ID()
 
static const long ID_POWDERGRAPH_MENU_XSCALE_DATA = WXCRYST_ID()
 
static const long ID_POWDERGRAPH_MENU_XSCALE_D = WXCRYST_ID()
 
static const long ID_POWDERGRAPH_MENU_XSCALE_2PID = WXCRYST_ID()
 
static const long ID_POWDERGRAPH_MENU_YSCALE_LINEAR = WXCRYST_ID()
 
static const long ID_POWDERGRAPH_MENU_YSCALE_SQRT = WXCRYST_ID()
 
static const long ID_POWDERGRAPH_MENU_YSCALE_LOG10 = WXCRYST_ID()
 
static const long ID_POWDERGRAPH_MENU_LEBAIL = WXCRYST_ID()
 
static const long ID_CELLEXPLORER_INDEX = WXCRYST_ID()
 
static const long ID_CELLEXPLORER_INDEX_QUICK = WXCRYST_ID()
 
static const long ID_CELLEXPLORER_WEAK = WXCRYST_ID()
 
static const long ID_CELLEXPLORER_SELECTCELL = WXCRYST_ID()
 
static const long ID_CELLEXPLORER_APPLYCELL = WXCRYST_ID()
 
static const long ID_CELLEXPLORER_CHOOSECRYSTAL = WXCRYST_ID()
 
static const long ID_CELLEXPLORER_LEBAIL = WXCRYST_ID()
 
static const long ID_CELLEXPLORER_CENTERED = WXCRYST_ID()
 
static const long ID_POWDERBACKGROUND_GRID = WXCRYST_ID()
 
static const long ID_POWDERBACKGROUND_NEWBAYESIAN = WXCRYST_ID()
 
static const long ID_POWDERDIFF_PROFILE = WXCRYST_ID()
 
static const long ID_POWDERDIFF_PROFILE_PV = WXCRYST_ID()
 
static const long ID_POWDERDIFF_PROFILE_PV_ANISO = WXCRYST_ID()
 
static const long ID_POWDERDIFF_LEBAIL = WXCRYST_ID()
 
static const long ID_POWDERDIFF_PROFILEFITTINGMODE = WXCRYST_ID()
 
static const long ID_POWDERDIFF_USELOCALLATTICEPAR = WXCRYST_ID()
 
static const long ID_PROFILEFITTING_RUN = WXCRYST_ID()
 
static const long ID_PROFILEFITTING_RUN_MANUAL = WXCRYST_ID()
 
static const long ID_PROFILEFITTING_EXPLORE_SPG = WXCRYST_ID()
 
static const long ID_PROFILEFITTING_EXPLORE_SPG_QUICK = WXCRYST_ID()
 
static const long ID_WXFIELD_REFPAR =WXCRYST_ID()
 
static const long ID_WXFIELD_REFPAR_FIXBUTTON =WXCRYST_ID()
 
static const long ID_WXFIELD_REFPAR_LIMITEDBUTTON =WXCRYST_ID()
 
static const long ID_REFPAR_POPUP_SET_LIMITS =WXCRYST_ID()
 
static const long ID_WXSCATTPOWATOM_SYMBOL =WXCRYST_ID()
 
static const long ID_SCATTPOWATOM_MENU_COLOUR =WXCRYST_ID()
 
static const long ID_SCATTPOWATOM_MENU_COLOUR_SETRGB =WXCRYST_ID()
 
static const long ID_SCATTPOWATOM_MENU_COLOUR =WXCRYST_ID()
 
static const long ID_SCATTPOWATOM_MENU_COLOUR_SETRGB =WXCRYST_ID()
 
static const long ID_ZATOM_NAME = WXCRYST_ID()
 
static const long ID_ZATOM_SCATTPOW =WXCRYST_ID()
 
static const long ID_ZATOM_BOND = WXCRYST_ID()
 
static const long ID_ZATOM_ANGLE = WXCRYST_ID()
 
static const long ID_ZATOM_DIHED = WXCRYST_ID()
 
static const long ID_ZSCATTERER_MENU_ATOM = WXCRYST_ID()
 
static const long ID_ZSCATTERER_MENU_ATOM_ADD = WXCRYST_ID()
 
static const long ID_ZSCATTERER_MENU_ATOM_CHANGE_PIVOT = WXCRYST_ID()
 
static const long ID_ZSCATTERER_MENU_PAR_LIMITS_RELAT_BOND = WXCRYST_ID()
 
static const long ID_ZSCATTERER_MENU_PAR_LIMITS_RELAT_ANGLE =WXCRYST_ID()
 
static const long ID_ZSCATTERER_MENU_PAR_LIMITS_RELAT_DIHED =WXCRYST_ID()
 
static const long ID_ZSCATTERER_MENU_FILE = WXCRYST_ID()
 
static const long ID_ZSCATTERER_MENU_IMPORT_FHZ = WXCRYST_ID()
 
static const long ID_ZSCATTERER_MENU_EXPORT_FHZ = WXCRYST_ID()
 
static const long ID_ZSCATTERER_MENU_CONVERT2MOLECULE = WXCRYST_ID()
 

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

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.

Definition at line 66 of file GlobalOptimObj.h.

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

Definition at line 82 of file GlobalOptimObj.h.

Type of radiation used.

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

Definition at line 94 of file General.h.

Function Documentation

void ObjCryst::BuildRingRecursive ( MolAtom *  currentAtom,
MolAtom *  previousAtom,
const map< MolAtom *, set< MolAtom * > > &  connect,
list< MolAtom * > &  atomlist,
map< set< MolAtom * >, list< MolAtom * > > &  ringlist 
)

Find rings, starting from a one atom, and given a connectivity table.

The ring begins and ends with the given atom.

Parameters
atomthe current atom
connectthe connectivity table
Returns
: the list of atoms to which will be appended the atoms of the ring, if one is found. Otherwise, an empty set of atoms.
Parameters
atomlistthe current list of atoms in the list.

Definition at line 5221 of file Molecule.cpp.

int ObjCryst::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)

REAL ObjCryst::CIFNumeric2REAL ( 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 * ObjCryst::CreateCrystalFromCIF ( CIF &  cif,
const bool  verbose = true,
const bool  checkSymAsXYZ = true 
)

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

Parameters
checkSymAsXYZif true, and the CIF file does not have a Hall symbol but has a list of symmetry_equiv_pos_as_xyz, check we have the correct setting by trying different ones using cctbx

Definition at line 991 of file CIF.cpp.

Crystal * ObjCryst::CreateCrystalFromCIF ( CIF &  cif,
const bool  verbose,
const bool  checkSymAsXYZ,
const bool  oneScatteringPowerPerElement,
const bool  connectAtoms 
)

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

Parameters
checkSymAsXYZif true, and the CIF file does not have a Hall symbol but has a list of symmetry_equiv_pos_as_xyz, check we have the correct setting by trying different ones using cctbx
oneScatteringPowerPerElementif false (the default), then there will be as many ScatteringPowerAtom created as there are different Debye-Waller parameters. If true, only one will be created per element, avoiding a large number of scattering powers e.g. when importing CIFs obtained from single crystal data refinement.
connectAtomsif true, call Crystal::ConnectAtoms to try to create as many Molecules as possible from the list of imported atoms.

Definition at line 996 of file CIF.cpp.

PowderPattern * ObjCryst::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.

Definition at line 1252 of file CIF.cpp.

DiffractionDataSingleCrystal * ObjCryst::CreateSingleCrystalDataFromCIF ( CIF &  cif,
Crystal *  pryst = 0 
)

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

Returns a null pointer if no data could be extracted. A Crystal object must be supplied - if none is given, the last Crystal object will be used. If no Cyrstal data exists, a new one will be created.

Definition at line 1266 of file CIF.cpp.

bool ObjCryst::DichoIndexed ( const PeakList &  dhkl,
const RecUnitCell &  par,
const RecUnitCell &  dpar,
const unsigned int  nbUnindexed = 0,
const bool  verbose = false,
unsigned int  useStoredHKL = 0,
const unsigned int  maxNbMissingBelow5 = 0 
)

Number of reflexions found in the intervals calculated between par+dpar and par-dpar.

Parameters
useStoredHKL
  • if equal to 0, explore all possible hkl values to find possible Miller indices.
  • if useStoredHKL=1, use the Miller indices already stored in hkl.vDicVolHKL for each observed line as the only possible indices.
  • if useStoredHKL=2, search all the possible Miller indices for all reflections and store them in hkl.vDicVolHKL for each observed line.
maxNbMissingBelow5the maximum number of lines that have been calculated before the d-value of the 5th observed line, but which have not been observed. If nbMissingBelow5>0 and more than nbMissingBelow5 lines have not been observed, return false. Recommended to speed up triclinic, with nbMissingBelow5=5

Definition at line 1562 of file Indexing.cpp.

float ObjCryst::EstimateCellVolume ( const float  dmin,
const float  dmax,
const float  nbrefl,
const CrystalSystem  system,
const CrystalCentering  centering,
const float  kappa = 1 
)

Estimate volume from number of peaks at a given dmin See J.

Appl. Cryst. 20 (1987), 161

Parameters
dmin,dmax1/d limits between which the number of reflections has been observed
nbreflnumber of observed reflections
kappaestimated percentage of reflections actually observed (default=1.0)

Definition at line 45 of file Indexing.cpp.

void ObjCryst::ExpandAtomGroupRecursive ( MolAtom *  atom,
const map< MolAtom *, set< MolAtom * > > &  connect,
set< MolAtom * > &  atomlist,
const MolAtom *  finalAtom = 0 
)

Build recursively a list of atoms, starting from a one atom, and given a connectivity table.

Parameters
atomthe starting atom
connectthe connectivity table
atomlistthe list of atoms to which will be appended the atoms newly found.
finalAtomif specified, the list buildin will stop after finding this atom. This can be used to build the list of atoms between two given atoms. Otherwise, the list is expanded until the end of the chain(s), or until an atom already in the list is encountered (i.e. a ring has been found).

Definition at line 151 of file Molecule.cpp.

void ObjCryst::ExpandAtomGroupRecursive ( MolAtom *  atom,
const map< MolAtom *, set< MolAtom * > > &  connect,
map< MolAtom *, unsigned long > &  atomlist,
const unsigned long  maxdepth,
unsigned long  depth = 0 
)

Build recursively a list of atoms, starting from a one atom, and given a connectivity table, until a certain depth (number of bonds) is reached.

Parameters
atomthe starting atom
connectthe connectivity table
atomlistthe list of atoms to which will be appended the atoms newly found.
finalAtomif specified, the list buildin will stop after finding this atom. This can be used to build the list of atoms between two given atoms. Otherwise, the list is expanded until the end of the chain(s), or until an atom already in the list is encountered (i.e. a ring has been found).

Definition at line 166 of file Molecule.cpp.

template<class T >
std::complex< T > ObjCryst::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

Definition at line 1601 of file ReflectionProfile.cpp.

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

E1(z)*exp(z)

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

Definition at line 1606 of file ReflectionProfile.cpp.

void ObjCryst::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:

Definition at line 44 of file geomStructFactor.cpp.

void ObjCryst::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:

Definition at line 63 of file geomStructFactor_001.cpp.

void ObjCryst::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 ObjCryst::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 ObjCryst::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 ObjCryst::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 ObjCryst::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 ObjCryst::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 ObjCryst::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 ObjCryst::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 ObjCryst::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:

Definition at line 64 of file geomStructFactor_097.cpp.

void ObjCryst::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:

Definition at line 46 of file geomStructFactor_centro.cpp.

float ObjCryst::InputFloat ( istream &  is,
const char  endchar = ' ' 
)

Safely read a floating-point value from a stream.

Parameters
endcharthe character ending the input. On return, the stream will be placed at this character (i.e. it will be the next to be read). Note that the input will stop when encoutering a space character, even if the endchar has not been found.
Returns
: the value - NaN will be returned as NaN, but probably only if the value was written on the same platform

Definition at line 68 of file ObjCryst/IO.cpp.

REAL ObjCryst::LorentzianBiasedRandomMove ( const REAL  x0,
const REAL  sigma,
const REAL  delta,
const REAL  amplitude 
)

Random move respecting a gaussian probability distribution with a flat top.

i.e. x in [-delta;+delta], P(x)=1 outside, P(x)=1/(1+(abs(x)-delta)^2/sigma^2)

If sigma<1e-6, it is treated as a step-like probability non-null only in [-delta;+delta]

Definition at line 4695 of file Molecule.cpp.

CrystVector_REAL ObjCryst::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.

Definition at line 1422 of file ReflectionProfile.cpp.

CrystVector_REAL ObjCryst::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.

Definition at line 1501 of file ReflectionProfile.cpp.

void ObjCryst::ReadFHLine ( const char *  buf,
const unsigned int  nb,
string &  symbol,
int &  n1,
float &  v1,
int &  n2,
float &  v2,
int &  n3,
float &  v3 
)

Function to parse one line from a Fenske-Hall zmatrix file.

The function first trie to read the line by assuming that all fields are separated by at least one space. If the correct number of fields is not found, it then uses the strict formatting (%2s%3u%6f%3u%6f%3u%6f) to find all fields. This is needed for example when there are more than 100 atoms since the atom number fields are only 3-character wide.

Definition at line 1190 of file ZScatterer.cpp.

void ObjCryst::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:

Definition at line 34 of file geomStructFactor.cpp.

void ObjCryst::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:

Definition at line 46 of file geomStructFactor_001.cpp.

void ObjCryst::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:

Definition at line 46 of file geomStructFactor_002.cpp.

void ObjCryst::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:

Definition at line 46 of file geomStructFactor_230.cpp.

void ObjCryst::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:

Definition at line 46 of file geomStructFactor_067.cpp.

void ObjCryst::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:

Definition at line 91 of file geomStructFactor_067.cpp.

void ObjCryst::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:

Definition at line 121 of file geomStructFactor_067.cpp.

void ObjCryst::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:

Definition at line 61 of file geomStructFactor_067.cpp.

void ObjCryst::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:

Definition at line 106 of file geomStructFactor_067.cpp.

void ObjCryst::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:

Definition at line 76 of file geomStructFactor_067.cpp.

void ObjCryst::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:

Definition at line 47 of file geomStructFactor_097.cpp.

template<class T >
void ObjCryst::RefObjRegisterRecursive ( T &  obj,
ObjRegistry< T > &  reg 
)

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

Definition at line 1147 of file RefinableObj.cpp.

SpeedTestReport ObjCryst::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
nbAtomtotal number of unique atoms.
nbAtomTypetotal number of atom types. Must be smaller than nbAtom.
spacegroupthe symbol or spacegroup number for the spacegroup to be tested.
radiationthe type of radiation to do the test with (neutron, x-ray).
nbReflectionstotal number of reflections to use.
timeduration of the test (10s is usually enough).
dataType0= single crystal, 1= powder pattern (1 background + 1 crystal phase)

Definition at line 35 of file test.cpp.

float ObjCryst::string2floatC ( const string &  s)

Function to convert a substring to a floating point value, imposing a C locale (using '.

' as decimal separator). This is used for input/output from data file, which are only using the C locale, contrary to the GUI.

Definition at line 59 of file ObjCryst/IO.cpp.

void ObjCryst::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 !)

Definition at line 257 of file wxCryst.cpp.

template<class T >
T * ObjCryst::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

Definition at line 437 of file wxRefinableObj.cpp.

template<class T >
const T * ObjCryst::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.

Definition at line 488 of file wxRefinableObj.cpp.

void ObjCryst::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
filethe filename from which the objects will be loaded.
void ObjCryst::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
filethe filename from which the objects will be loaded.

Definition at line 223 of file ObjCryst/IO.cpp.

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

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

Parameters
filethe filename from which the object will be loaded.
tagNamethe name of the tag
namethe name of the object to be found (in a 'Name' attribute)
objthe pointer to the object to be loaded. The allocation will be done by the function, and the pointer changed accordingly.

NOT TESTED YET !

Definition at line 175 of file ObjCryst/IO.cpp.

ObjRegistry< XMLCrystTag > ObjCryst::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 !

Definition at line 146 of file ObjCryst/IO.cpp.

void ObjCryst::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 ObjCryst::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.

Definition at line 106 of file ObjCryst/IO.cpp.

Molecule * ObjCryst::ZScatterer2Molecule ( ZScatterer *  scatt)

Conversion from ZScatterer to the newer Molecule object. (in WXZScatterer.cpp)

Conversion from ZScatterer to the newer Molecule object.

Definition at line 51 of file wxZScatterer.cpp.

Variable Documentation

REAL ObjCryst::defaultWavelength =1.0
static

This is the default wavelength - whenever a "_diffrn_radiation_wavelength" or "_pd_proc_wavelength"entry is found, it is used as a new value for the default wavelength.

Since the powder CIFs do not include the wavelength, this could be useful if the crystal structure CIF (including the wavelength) is parsed right before the powder pattern one.

Definition at line 466 of file CIF.cpp.

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

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.

Definition at line 76 of file Exception.cpp.

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.

Definition at line 1316 of file RefinableObj.h.

std::map< wxWindowID, std::pair< wxPoint, wxSize > > ObjCryst::gvWindowPosition

Used to remember window positions.

Definition at line 51 of file wxCryst.cpp.