#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. | |
virtual const CrystVector_double & | GetPowderPatternCalc () const=0 |
Get the calculated powder spectrum for this component. Note that the spectrum is not scaled. | |
virtual void | SetUseFastLessPreciseFunc (const bool useItOrNot)=0 |
Use faster, less precise functions ? Good for global optimizations. Currently does nothing. | |
virtual void | SetUseOnlyLowAngleData (const bool useOnlyLowAngle, const double angle=0)=0 |
Set an option so that only low-angle reflections (theta < angle) are used. See DiffractionData::mUseOnlyLowAngleData
| |
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. | |
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... | |
Protected Attributes | |
CrystVector_double | 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. | |
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. |