19 #ifndef _OBJCRYST_SCATTERING_CORR_H_
20 #define _OBJCRYST_SCATTERING_CORR_H_
22 #include "ObjCryst/ObjCryst/ScatteringData.h"
42 virtual const string &
GetName()
const=0;
48 const CrystVector_REAL&
GetCorr()
const;
73 virtual const string &
GetName()
const;
99 virtual const string &
GetName()
const;
103 mutable REAL mPolarAfactor;
118 virtual const string &
GetName()
const;
134 const string& GetClassName()
const;
135 const string& GetName()
const;
136 void SetPar(
const REAL f,
const REAL c,
const REAL h,
const REAL k,
const REAL l);
137 void XMLOutput(ostream &os,
int indent=0)
const;
139 REAL mFraction,mMarchCoeff,mH,mK,mL;
151 void WXNotifyDelete();
166 virtual const string &
GetName()
const;
168 void AddPhase(
const REAL fraction,
const REAL coeffMarch,
169 const REAL h,
const REAL k,
const REAL l);
170 void SetPhasePar(
const unsigned int i,
const REAL fraction,
const REAL coeffMarch,
171 const REAL h,
const REAL k,
const REAL l);
172 void DeletePhase(
const unsigned int i);
173 unsigned int GetNbPhase()
const;
174 REAL GetFraction(
const unsigned int i)
const;
175 REAL GetMarchCoeff(
const unsigned int i)
const;
176 REAL GetPhaseH(
const unsigned int i)
const;
177 REAL GetPhaseK(
const unsigned int i)
const;
178 REAL GetPhaseL(
const unsigned int i)
const;
181 virtual REAL GetBiasingCost()
const;
182 virtual void XMLOutput(ostream &os,
int indent=0)
const;
185 const bool enableRestraints=
false);
189 void DeleteAllPhase();
212 const REAL EPR4=0.0,
const REAL EPR5=0.0,
const REAL EPR6=0.0);
214 virtual const string &
GetName()
const;
216 void SetParams(
const REAL EPR1,
const REAL EPR2,
const REAL EPR3,
const REAL EPR4,
const REAL EPR5,
const REAL EPR6);
219 virtual void XMLOutput(ostream &os,
int indent=0)
const;
221 virtual void BeginOptimization(
const bool allowApproximations=
false,
const bool enableRestraints=
false);
257 virtual const string &
GetName()
const;
264 #endif //_OBJCRYST_SCATTERING_CORR_H_
virtual void XMLInput(istream &is, const XMLCrystTag &tag)
Input From stream.
Texture correction using the March-Dollase model.
unsigned long mNbReflUsed
Number of reflexion for which the calculation is actually done.
virtual void CalcCorr() const =0
Do the computation of corrected intensities.
CrystVector_REAL mCorr
The vector of correction to intensities.
virtual const string & GetClassName() const =0
Get the name of the class.
virtual void XMLOutput(ostream &os, int indent=0) const
Output to stream in well-formed XML.
virtual void GlobalOptRandomMove(const REAL mutationAmplitude, const RefParType *type=gpRefParTypeObjCryst)
Make a random move of the current configuration.
virtual const string & GetClassName() const
Get the name of the class.
REAL mBiasFraction
Values of parameters towards which the optimization is biased (if biasing is used).
virtual void TagNewBestConfig() const
During a global optimization, tells the object that the current config is the latest "best" config...
We need to record exactly when refinable objects have been modified for the last time (to avoid re-co...
virtual void XMLOutput(ostream &os, int indent=0) const
Output to stream in well-formed XML.
One texture phase for the March-Dollase model.
virtual void CalcCorr() const
Do the computation of corrected intensities.
Texture correction using the Ellipsoidal preferred orientation function.
void UpdateEllipsoidPar()
Update ellipsoid parameters for tetragonal, trigonal, hexagonal, cubic lattices.
virtual const string & GetName() const
Get the name of this object.
virtual const string & GetClassName() const
Get the name of the class.
virtual void BeginOptimization(const bool allowApproximations=false, const bool enableRestraints=false)
This should be called by any optimization class at the begining of an optimization.
Class to compute structure factors for a set of reflections and a Crystal.
Generic Refinable Object.
virtual void GlobalOptRandomMove(const REAL mutationAmplitude, const RefParType *type=gpRefParTypeObjCryst)
Make a random move of the current configuration.
virtual void CalcCorr() const
Do the computation of corrected intensities.
virtual void CalcCorr() const
Do the computation of corrected intensities.
Class to display the Preferred Orientation Correction using the March-Dollase parametrization.
const RefinableObjClock & GetClockCorr() const
Get the value of the clock corresponding to the last time the correction was actually computed...
ScatteringCorr(const ScatteringData &data)
Constructor, with the associated ScatteringData object.
Abstract base class for all objects in wxCryst.
virtual void CalcCorr() const
Do the computation of corrected intensities.
virtual const string & GetClassName() const
Get the name of the class.
Slit aperture correction (for powder)
virtual const string & GetClassName() const
Get the name of the class.
virtual void CalcCorr() const
Do the computation of corrected intensities.
Base class to compute all kind of corrections to intensities: Lorentz, Polar, absorption, texcture, extinction, etc...
virtual const string & GetName() const
Get the name of this object.
void InitRefParList()
Prepare the refinable parameters list.
virtual const string & GetName() const =0
Get the name of this object.
virtual const string & GetName() const
Get the name of this object.
virtual void CalcCorr() const
Do the computation of corrected intensities.
virtual const string & GetClassName() const
Get the name of the class.
const ScatteringData * mpData
The associated ScatteringData object.
REAL mNorm
Norm of the (HKL) vector, to keep it constant during optimization.
Time-Of-Flight Correction.
RefinableObjClock mClockCorrCalc
The clock marking the last time the correction was calculated.
virtual void XMLInput(istream &is, const XMLCrystTag &tag)
Input From stream.
TextureMarchDollase * mpTextureMarchDollase
The parent TextureMarchDollase object.
virtual const string & GetName() const
Get the name of this object.
virtual const string & GetClassName() const
Get the name of the class.
The namespace which includes all objects (crystallographic and algorithmic) in ObjCryst++.
const CrystVector_REAL & GetCorr() const
Get the vector of corrections for all reflections.
unsigned long mNbReflUsed
Number of reflexion for which the calculation is actually done.
virtual const string & GetName() const
Get the name of this object.
class to input or output a well-formatted xml beginning or ending tag.
class of refinable parameter types.
virtual void BeginOptimization(const bool allowApproximations=false, const bool enableRestraints=false)
This should be called by any optimization class at the begining of an optimization.
const RefParType * gpRefParTypeObjCryst
Top RefParType for the ObjCryst++ library.
virtual const string & GetName() const
Get the name of this object.