#include <PowderPattern.h>
Inheritance diagram for ObjCryst::PowderPatternComponent::
Public Methods | |
PowderPatternComponent () | |
PowderPatternComponent (const PowderPatternComponent &) | |
virtual | ~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. | |
virtual void | SetParentPowderPattern (const PowderPattern &)=0 |
Set the PowderPattern object which uses this component. This sets all necessary spectrum parameters (2theta range, wavelength, radiation type...) accordingly. More... | |
virtual const CrystVector_REAL & | GetPowderPatternCalc () const=0 |
Get the calculated powder spectrum for this component. Note that the spectrum is not scaled. | |
bool | IsScalable () const |
Is this component scalable ? More... | |
Protected Methods | |
const RefinableObjClock & | GetClockPowderPatternCalc () const |
Last time the spectrum was actually calculated. | |
virtual void | CalcPowderPattern () const=0 |
Calc the powder spectrum. As always, recomputation is only done if necessary (ie if a parameter has changed since the last computation). | |
virtual void | SetRadiation (const Radiation &rad)=0 |
Set the radiation. This is called by PowderPattern. More... | |
virtual void | GetBraggLimits (CrystVector_long *&min, CrystVector_long *&max) const=0 |
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). | |
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 |
This will be called by the parent PowderPattern object, before calculating the first powder spectrum. Or maybe it should be called automatically by the object itself... More... | |
Protected Attributes | |
CrystVector_REAL | mPowderPatternCalc |
The calculated component of a powder spectrum. It is mutable since it is completely defined by other parameters (eg it is not an 'independent parameter'). | |
bool | mIsScalable |
Scalable ? (crystal phase = scalable, background= not scalable). | |
RefinableObjClock | mClockPowderPatternCalc |
When was the powder spectrum last computed ? | |
const PowderPattern * | mpParentPowderPattern |
The PowderPattern object in which this component is included. | |
RefinableObjClock | mClockBraggLimits |
Get last time the Bragg Limits were changed. | |
Friends | |
class | PowderPattern |
Most functions are protected, only to be accessed, internally or from the friend class PowderPattern.
|
Is this component scalable ? This is used by the PowderPattern class, which fits all spectrum components using scale factors. Some components may not need to be scaled: background components, which are assumed to be absolute. |
|
This will be called by the parent PowderPattern object, before calculating the first powder spectrum. Or maybe it should be called automatically by the object itself...
For internal use only.
Reimplemented from ObjCryst::RefinableObj. Reimplemented in ObjCryst::PowderPatternBackground, and ObjCryst::PowderPatternDiffraction. |
|
Set the PowderPattern object which uses this component. This sets all necessary spectrum parameters (2theta range, wavelength, radiation type...) accordingly.
For internal use only.
Reimplemented in ObjCryst::PowderPatternBackground, and ObjCryst::PowderPatternDiffraction. |
|
Set the radiation. This is called by PowderPattern.
For internal use only.
Reimplemented in ObjCryst::PowderPatternBackground, and ObjCryst::PowderPatternDiffraction. |