Generic class to compute components (eg the contribution of a given phase, or background) of a powder pattern. More...


Public Member Functions | |
| PowderPatternComponent (const PowderPatternComponent &) | |
| virtual const string & | GetClassName () const |
| Name for this class ("RefinableObj", "Crystal",...). This is only useful to distinguish different classes when picking up objects from the RefinableObj Global Registry. | |
| const PowderPattern & | GetParentPowderPattern () const |
| Get the PowderPattern object which uses this component. This allows to know the observed powder pattern to evaluate the background. | |
| PowderPattern & | GetParentPowderPattern () |
| Get the PowderPattern object which uses this component. This allows to know the observed powder pattern to evaluate the background. | |
| virtual void | SetParentPowderPattern (PowderPattern &)=0 |
| Set the PowderPattern object which uses this component. This sets all necessary pattern parameters (2theta/tof range, wavelength, radiation type...) accordingly. | |
| virtual const CrystVector_REAL & | GetPowderPatternCalc () const =0 |
| Get the calculated powder pattern for this component. Note that the pattern is not scaled. | |
| virtual pair< const CrystVector_REAL *, const RefinableObjClock * > | GetPowderPatternIntegratedCalc () const =0 |
| Get the integrated values of the powder pattern. | |
| bool | IsScalable () const |
| Is this component scalable ? | |
| virtual const CrystVector_REAL & | GetPowderPatternCalcVariance () const =0 |
| Get the variance associated to each point of the calculated powder pattern, for this component. | |
| virtual pair< const CrystVector_REAL *, const RefinableObjClock * > | GetPowderPatternIntegratedCalcVariance () const =0 |
| Get the variance associated to each point of the calculated powder pattern, for this component (integrated version). | |
| virtual bool | HasPowderPatternCalcVariance () const =0 |
| Does this component have a variance associated with each calculated point ? i.e., do we use maximum likelihood to take into account incomplete models ? | |
| const RefinableObjClock & | GetClockPowderPatternCalc () const |
| Last time the powder pattern was calculated. | |
|
const list< pair< const REAL,const string > > & | GetPatternLabelList () const |
| Get a list of labels for the pattern (usually reflection indexes). This returns the list generated during the last computation of the powder pattern. | |
Protected Member Functions | |
| const RefinableObjClock & | GetClockPowderPatternCalcVariance () const |
| Last time the variance on the pattern was actually calculated. | |
| virtual void | CalcPowderPattern () const =0 |
| Calc the powder pattern. As always, recomputation is only done if necessary (ie if a parameter has changed since the last computation). | |
| virtual void | CalcPowderPatternIntegrated () const =0 |
| Calc the integrated powder pattern. This should be optimized so that the full powder pattern is not explicitely computed. | |
| virtual const CrystVector_long & | GetBraggLimits () const =0 |
| Get the pixel positions separating the integration intervals around reflections. | |
| const RefinableObjClock & | GetClockBraggLimits () const |
| Get last time the Bragg Limits were changed. | |
| virtual void | SetMaxSinThetaOvLambda (const REAL max)=0 |
| Set the maximum value for sin(theta)/lambda. All data above still exist but are ignored for all calculations. | |
| virtual void | Prepare ()=0 |
Protected Attributes | |
| CrystVector_REAL | mPowderPatternCalc |
| The calculated component of a powder pattern. It is mutable since it is completely defined by other parameters (eg it is not an 'independent parameter'). | |
| CrystVector_REAL | mPowderPatternIntegratedCalc |
| The calculated powder pattern, integrated. | |
| CrystVector_REAL | mPowderPatternCalcVariance |
| The variance associated to each point of the calculated powder pattern. | |
| CrystVector_REAL | mPowderPatternIntegratedCalcVariance |
| The variance associated to each point of the calculated powder pattern, integrated. | |
| CrystVector_long | mIntegratedReflLimits |
| Interval limits around each reflection, for integrated R-factors. | |
| bool | mIsScalable |
| Scalable ? (crystal phase = scalable, background= not scalable). | |
| RefinableObjClock | mClockPowderPatternCalc |
| When was the powder pattern last computed ? | |
| RefinableObjClock | mClockPowderPatternIntegratedCalc |
| When was the 'integrated' powder pattern last computed ? | |
| RefinableObjClock | mClockPowderPatternVarianceCalc |
| When was the powder pattern variance last computed ? | |
| RefinableObjClock | mClockPowderPatternIntegratedVarianceCalc |
| When was the 'integrated' powder pattern variance last computed ? | |
| PowderPattern * | mpParentPowderPattern |
| The PowderPattern object in which this component is included. | |
| RefinableObjClock | mClockBraggLimits |
| Get last time the Bragg Limits were changed. | |
|
list< pair< const REAL,const string > > | mvLabel |
| The labels associated to different points of the pattern. | |
Friends | |
| class | PowderPattern |
Generic class to compute components (eg the contribution of a given phase, or background) of a powder pattern.
This is an abstract base class.
Most functions are protected, only to be accessed, internally or from the friend class PowderPattern.
Definition at line 48 of file PowderPattern.h.
| virtual const CrystVector_long& ObjCryst::PowderPatternComponent::GetBraggLimits | ( | ) | const [protected, pure virtual] |
Get the pixel positions separating the integration intervals around reflections.
Implemented in ObjCryst::PowderPatternBackground, and ObjCryst::PowderPatternDiffraction.
| virtual const CrystVector_REAL& ObjCryst::PowderPatternComponent::GetPowderPatternCalcVariance | ( | ) | const [pure virtual] |
Get the variance associated to each point of the calculated powder pattern, for this component.
Implemented in ObjCryst::PowderPatternBackground, and ObjCryst::PowderPatternDiffraction.
| virtual pair<const CrystVector_REAL*,const RefinableObjClock*> ObjCryst::PowderPatternComponent::GetPowderPatternIntegratedCalc | ( | ) | const [pure virtual] |
Get the integrated values of the powder pattern.
This avoids explicitely calculating the full profile powder pattern.
Implemented in ObjCryst::PowderPatternBackground, and ObjCryst::PowderPatternDiffraction.
| virtual pair<const CrystVector_REAL*,const RefinableObjClock*> ObjCryst::PowderPatternComponent::GetPowderPatternIntegratedCalcVariance | ( | ) | const [pure virtual] |
Get the variance associated to each point of the calculated powder pattern, for this component (integrated version).
Implemented in ObjCryst::PowderPatternBackground, and ObjCryst::PowderPatternDiffraction.
| bool ObjCryst::PowderPatternComponent::IsScalable | ( | ) | const |
Is this component scalable ?
This is used by the PowderPattern class, which fits all pattern components using scale factors. Some components may not need to be scaled: background components, which are assumed to be absolute.
Definition at line 104 of file PowderPattern.cpp.
| virtual void ObjCryst::PowderPatternComponent::Prepare | ( | ) | [protected, pure virtual] |
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...
Reimplemented from ObjCryst::RefinableObj.
Implemented in ObjCryst::PowderPatternBackground, and ObjCryst::PowderPatternDiffraction.
1.6.1