25 #ifndef _VFN_OBJCRYST_H_
26 #define _VFN_OBJCRYST_H_
35 #define RESTRICT __restrict__
36 #elif defined(_MSC_VER) || defined(__ICL) // MS and VC++ compiler
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)
100 enum WavelengthType { WAVELENGTH_MONOCHROMATIC, WAVELENGTH_ALPHA12, WAVELENGTH_TOF,
101 WAVELENGTH_MAD, WAVELENGTH_DAFS, WAVELENGTH_LAUE};
104 PROFILE_PSEUDO_VOIGT_FINGER_COX_JEPHCOAT,
105 PROFILE_PEARSON_VII };
107 enum PowderBackgroundInterpType{ POWDER_BACKGROUND_LINEAR,
108 POWDER_BACKGROUND_CUBIC_SPLINE};
110 #define XRAY_WAVELENGTH_TO_ENERGY 12398.4
147 extern void (*fpObjCrystInformUser)(
const string &);
155 bool operator()(
const pair<T,T> &p1,
const pair<T,T> &p2)
const
157 const T* p1f= &(p1.first);
158 const T* p1s= &(p1.second);
159 const T* p2f= &(p2.first);
160 const T* p2s= &(p2.second);
161 if(*p1f < *p1s) { p1s= &(p1.first); p1f= &(p1.second);}
162 if(*p2f < *p2s) { p2s= &(p2.first); p2f= &(p2.second);}
163 if(*p1f != *p2f)
return *p1f < *p2f;
164 else return *p1s < *p2s;
169 void crystGLPrint(
const string &);
178 REAL
mXmin, mXmax, mYmin, mYmax, mZmin, mZmax;
200 #endif //_VFN_OBJCRYST_H_
This class only serves to temporarilly set the LC_NUMERIC C locale to "C", in order to use '...
REAL mXmin
Display limits in reduced coordinates.
bool mShowLabel
Show labels ?
float string2floatC(const string &s)
Function to convert a substring to a floating point value, imposing a C locale (using '...
ReflectionProfileType
Profile type for powder (could it be used fopr single crystals on 2D detectors ?) ...
void ObjCrystInformUserStdOut(const string &str)
Print some information for the user during long processes.
SampleType
Sample type (not used yet)
Class to store POV-Ray output options.
bool mShowHydrogens
Show hydrogens ?
WavelengthType
Incident beam characteristics : monochromatic, X-Ray tube with Alpha1 and alpha2, MAD (a few waveleng...
Class to compare pairs of objects, with the two objects playing a symmetric role. ...
Exception class for ObjCryst++ library.
The namespace which includes all objects (crystallographic and algorithmic) in ObjCryst++.
RadiationType
Type of radiation used.