Inheritance diagram for ObjCryst::PowderPatternDiffraction:
Public Member Functions | |
PowderPatternDiffraction () | |
PowderPatternDiffraction (const PowderPatternDiffraction &) | |
virtual | ~PowderPatternDiffraction () |
virtual PowderPatternDiffraction * | CreateCopy () const |
So-called virtual copy constructor. | |
virtual const string & | GetClassName () const |
Name for this class ("RefinableObj", "Crystal",...). | |
virtual void | SetParentPowderPattern (const PowderPattern &) |
Set the PowderPattern object which uses this component. | |
virtual const CrystVector_REAL & | GetPowderPatternCalc () const |
Get the calculated powder pattern for this component. | |
virtual pair< const CrystVector_REAL *, const RefinableObjClock * > | GetPowderPatternIntegratedCalc () const |
Get the integrated values of the powder pattern. | |
void | SetReflectionProfilePar (const ReflectionProfileType prof, const REAL fwhmCagliotiW, const REAL fwhmCagliotiU=0, const REAL fwhmCagliotiV=0, const REAL eta0=0.5, const REAL eta1=0.) |
Set reflection profile parameters. | |
void | SetProfile (ReflectionProfile *prof) |
Assign a new profile. | |
virtual void | GenHKLFullSpace () |
virtual void | XMLOutput (ostream &os, int indent=0) const |
Output to stream in well-formed XML. | |
virtual void | XMLInput (istream &is, const XMLCrystTag &tag) |
Input From stream. | |
virtual void | GetGeneGroup (const RefinableObj &obj, CrystVector_uint &groupIndex, unsigned int &firstGroup) const |
Get the gene group assigned to each parameter. | |
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. | |
virtual void | EndOptimization () |
This should be called by any optimization class at the end of an optimization. | |
virtual const Radiation & | GetRadiation () const |
Get the radiation object for this data. | |
virtual const CrystVector_REAL & | GetPowderPatternCalcVariance () const |
Get the variance associated to each point of the calculated powder pattern, for this component. | |
virtual pair< const CrystVector_REAL *, const RefinableObjClock * > | GetPowderPatternIntegratedCalcVariance () const |
Get the variance associated to each point of the calculated powder pattern, for this component (integrated version). | |
virtual bool | HasPowderPatternCalcVariance () const |
Does this component have a variance associated with each calculated point ? i.e., do we use maximum likelihood to take into account incomplete models ? | |
Protected Member Functions | |
virtual void | CalcPowderPattern () const |
Calc the powder pattern. | |
virtual void | CalcPowderPatternIntegrated () const |
Calc the integrated powder pattern. | |
void | CalcPowderReflProfile () const |
Calc reflection profiles for ALL reflections (powder diffraction). | |
void | CalcIntensityCorr () const |
Calc Lorentz-Polarisation-APerture correction. | |
virtual void | CalcIhkl () const |
virtual void | Prepare () |
virtual void | InitOptions () |
virtual void | GetBraggLimits (CrystVector_long *&min, CrystVector_long *&max) const |
Get the integration limits (first and last pixels) around each reflection, if this component has Bragg reflections. | |
virtual void | SetMaxSinThetaOvLambda (const REAL max) |
exist but are ignored for all calculations. | |
void | PrepareIntegratedProfile () const |
Protected Attributes | |
RefinableObjClock | mClockProfilePar |
Last time the reflection parameters were changed. | |
RefinableObjClock | mClockLorentzPolarSlitCorrPar |
Last time the. | |
RefinableObjClock | mClockIntensityCorr |
Last time the Lorentz-Polar-Slit correction was computed. | |
RefinableObjClock | mClockProfileCalc |
Last time the reflection profiles were computed. | |
RefinableObjClock | mClockIhklCalc |
Last time intensities were computed. | |
ReflectionProfile * | mpReflectionProfile |
Profile. | |
CrystVector_REAL | mIntensityCorr |
Calculated corrections for all reflections. Calc F^2 must be multiplied by this factor to yield intensities. | |
LorentzCorr | mCorrLorentz |
Lorentz correction. | |
PolarizationCorr | mCorrPolar |
Polarization correction. | |
PowderSlitApertureCorr | mCorrSlitAperture |
Slit aperture correction. | |
TextureMarchDollase | mCorrTextureMarchDollase |
Preferred orientation (texture) correction following the March-Dollase model. | |
TOFCorr | mCorrTOF |
Time-Of-Flight intensity correction. | |
CrystVector_REAL | mIhklCalc |
Computed intensities for all reflections. | |
CrystVector_REAL | mIhklCalcVariance |
Variance on computed intensities for all reflections. | |
vector< ReflProfile > | mvReflProfile |
Reflection profiles for ALL reflections during the last powder pattern generation. | |
CrystVector_long | mIntegratedReflMin |
First and last pixel for integrated R-factors around each reflection. | |
CrystVector_long | mIntegratedReflMax |
First and last pixel for integrated R-factors around each reflection. | |
vector< pair< unsigned long, CrystVector_REAL > > | mIntegratedProfileFactor |
For each reflection, store the integrated value of the normalized profile over all integration intervals. | |
RefinableObjClock | mClockIntegratedProfileFactor |
Last time the integrated values of normalized profiles was calculated. |
|
|
|
|
|
|
|
This should be called by any optimization class at the begining of an optimization. This will also check that everything is ready, eg call the RefinableObj::Prepare() function. This also affects all sub-objects.
Reimplemented from ObjCryst::ScatteringData. |
|
For internal use only. Compute the intensity for all reflections (taking into account corrections, but not the multiplicity) |
|
Calc Lorentz-Polarisation-APerture correction.
|
|
Calc the powder pattern. As always, recomputation is only done if necessary (ie if a parameter has changed since the last computation) Implements ObjCryst::PowderPatternComponent. |
|
Calc the integrated powder pattern. This should be optimized so that the full powder pattern is not explicitely computed. Implements ObjCryst::PowderPatternComponent. |
|
Calc reflection profiles for ALL reflections (powder diffraction).
|
|
So-called virtual copy constructor.
Implements ObjCryst::ScatteringData. |
|
This should be called by any optimization class at the end of an optimization. This also affects all sub-objects.
Reimplemented from ObjCryst::ScatteringData. |
|
|
|
Get the integration limits (first and last pixels) around each reflection, if this component has Bragg reflections. Used for integrated R(w) factors. The limits currently go from -2*FWHM to +2*FWHM. returns a pointer to the min and max pixels arrays (null pointers if no reflection for this phase). Implements ObjCryst::PowderPatternComponent. |
|
Name for this class ("RefinableObj", "Crystal",...). This is only useful to distinguish different classes when picking up objects from the RefinableObj Global Registry Reimplemented from ObjCryst::PowderPatternComponent. |
|
Get the gene group assigned to each parameter. Each parameter (a gene in terms of genetic algorithms) can be assigned to a gene group. Thus when mating two configurations, genes will be exchanged by groups. By default (in the base RefinabeObj class), each parameter is alone in its group. Derived classes can group genes for a better s** life. The number identifying a gene group only has a meaning in a given object. It can also change on subsequent calls, and thus is not unique.
Reimplemented from ObjCryst::RefinableObj. |
|
Get the calculated powder pattern for this component. Note that the pattern is not scaled. Implements ObjCryst::PowderPatternComponent. |
|
Get the variance associated to each point of the calculated powder pattern, for this component.
Implements ObjCryst::PowderPatternComponent. |
|
Get the integrated values of the powder pattern.
Implements ObjCryst::PowderPatternComponent. |
|
Get the variance associated to each point of the calculated powder pattern, for this component (integrated version).
Implements ObjCryst::PowderPatternComponent. |
|
Get the radiation object for this data.
Implements ObjCryst::ScatteringData. |
|
Does this component have a variance associated with each calculated point ? i.e., do we use maximum likelihood to take into account incomplete models ?
Implements ObjCryst::PowderPatternComponent. |
|
|
|
For internal use only. This will be called by the parent PowderPattern object, before calculating the first powder pattern. Or maybe it should be called automatically by the object itself... Implements ObjCryst::PowderPatternComponent. |
|
|
|
exist but are ignored for all calculations. All data above still Implements ObjCryst::PowderPatternComponent. |
|
Set the PowderPattern object which uses this component. This sets all necessary pattern parameters (2theta/tof range, wavelength, radiation type...) accordingly. Implements ObjCryst::PowderPatternComponent. |
|
Assign a new profile.
|
|
Set reflection profile parameters. :TODO: assymmetric profiles
|
|
Input From stream.
Reimplemented from ObjCryst::RefinableObj. |
|
Output to stream in well-formed XML.
Reimplemented from ObjCryst::RefinableObj. |
|
Last time intensities were computed.
|
|
Last time the integrated values of normalized profiles was calculated.
|
|
Last time the Lorentz-Polar-Slit correction was computed.
|
|
Last time the.
|
|
Last time the reflection profiles were computed.
|
|
Last time the reflection parameters were changed.
|
|
Lorentz correction.
|
|
Polarization correction.
|
|
Slit aperture correction.
|
|
Preferred orientation (texture) correction following the March-Dollase model.
|
|
Time-Of-Flight intensity correction.
|
|
Computed intensities for all reflections.
|
|
Variance on computed intensities for all reflections.
|
|
For each reflection, store the integrated value of the normalized profile over all integration intervals. The first field is the first integration interval to which the reflection contributes, and the second field is a vector with all the integrated values for the intervals, listed in ascending 2theta(tof) order. |
|
First and last pixel for integrated R-factors around each reflection.
|
|
First and last pixel for integrated R-factors around each reflection.
|
|
Calculated corrections for all reflections. Calc F^2 must be multiplied by this factor to yield intensities. Thus we have : with (Lorentz factor). (Polarization factor), with , where f is the polarization rate of the incident beam in the plane which (i) includes the incident beam, and (ii) is perpendicular to the diffracting plane. For an X-Ray Tube without monochromator, A=1, and if there is a monochromator : The factor takes into account the fraction of the diffracted cone which falls in the detector slit. If there is prefereed orientation, this also holds the associated correction.
|
|
Profile.
|
|
Reflection profiles for ALL reflections during the last powder pattern generation.
|