25 #ifndef _VFN_OBJCRYST_H_
26 #define _VFN_OBJCRYST_H_
35 #define RESTRICT __restrict__
36 #elif defined(_MSC_VER) || defined(__ICL)
37 #define RESTRICT __restrict
48 #include "Profile/Profiler.h"
51 #define TAU_PROFILE(name, type, group)
52 #define TAU_PROFILE_START(var)
53 #define TAU_PROFILE_TIMER(var, name, type, group)
54 #define TAU_PROFILE_STOP(var)
55 #define TAU_PROFILE_INIT(argc, argv)
56 #define TAU_PROFILE_SET_NODE(node)
57 #define TAU_PROFILE_SET_CONTEXT(context)
58 #define TAU_EVENT(event, data)
59 #define TAU_REPORT_STATISTICS()
60 #define TAU_REPORT_THREAD_STATISTICS()
64 #include "ObjCryst/Quirks/VFNDebug.h"
77 #define M_PI 3.14159265358979323846264338327950288
80 #define DEG2RAD (M_PI/180.)
81 #define RAD2DEG (180./M_PI)
102 enum WavelengthType { WAVELENGTH_MONOCHROMATIC, WAVELENGTH_ALPHA12, WAVELENGTH_TOF,
103 WAVELENGTH_MAD, WAVELENGTH_DAFS, WAVELENGTH_LAUE};
106 PROFILE_PSEUDO_VOIGT_FINGER_COX_JEPHCOAT,
107 PROFILE_PEARSON_VII };
109 enum PowderBackgroundInterpType{ POWDER_BACKGROUND_LINEAR,
110 POWDER_BACKGROUND_CUBIC_SPLINE};
112 #define XRAY_WAVELENGTH_TO_ENERGY 12398.4
149 extern void (*fpObjCrystInformUser)(
const string &);
157 bool operator()(
const pair<T,T> &p1,
const pair<T,T> &p2)
const
159 const T* p1f= &(p1.first);
160 const T* p1s= &(p1.second);
161 const T* p2f= &(p2.first);
162 const T* p2s= &(p2.second);
163 if(*p1f < *p1s) { p1s= &(p1.first); p1f= &(p1.second);}
164 if(*p2f < *p2s) { p2s= &(p2.first); p2f= &(p2.second);}
165 if(*p1f != *p2f)
return *p1f < *p2f;
166 else return *p1s < *p2s;
173 void crystGLPrint(
const string &);
180 REAL
mXmin, mXmax, mYmin, mYmax, mZmin, mZmax;
The namespace which includes all objects (crystallographic and algorithmic) in ObjCryst++.
ReflectionProfileType
Profile type for powder (could it be used fopr single crystals on 2D detectors ?)
SampleType
Sample type (not used yet)
RadiationType
Type of radiation used.
WavelengthType
Incident beam characteristics : monochromatic, X-Ray tube with Alpha1 and alpha2, MAD (a few waveleng...
float string2floatC(const string &s)
Function to convert a substring to a floating point value, imposing a C locale (using '.
void ObjCrystInformUserStdOut(const string &str)
Print some information for the user during long processes.
Exception class for ObjCryst++ library.
Class to compare pairs of objects, with the two objects playing a symmetric role.
Class to store POV-Ray output options.
bool mShowHydrogens
Show hydrogens ?
REAL mXmin
Display limits in reduced coordinates.
bool mShowLabel
Show labels ?
This class only serves to temporarilly set the LC_NUMERIC C locale to "C", in order to use '.