ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt Class Reference

Double-Exponential Pseudo-Voigt profile for TOF. More...

Inheritance diagram for ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt:
Inheritance graph
[legend]
Collaboration diagram for ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ReflectionProfileDoubleExponentialPseudoVoigt ()
 Constructor, without unit cell.
 ReflectionProfileDoubleExponentialPseudoVoigt (const UnitCell &cell)
 Constructor, with unit cell.
 ReflectionProfileDoubleExponentialPseudoVoigt (const ReflectionProfileDoubleExponentialPseudoVoigt &old)
virtual
ReflectionProfileDoubleExponentialPseudoVoigt
CreateCopy () const
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.
CrystVector_REAL GetProfile (const CrystVector_REAL &x, const REAL xcenter, const REAL h, const REAL k, const REAL l) const
 Get the reflection profile.
void SetProfilePar (const REAL instrumentAlpha0, const REAL instrumentAlpha1, const REAL instrumentBeta0, const REAL instrumentBeta1, const REAL gaussianSigma0, const REAL gaussianSigma1, const REAL gaussianSigma2, const REAL lorentzianGamma0, const REAL lorentzianGamma1, const REAL lorentzianGamma2)
 Set reflection profile parameters.
virtual REAL GetFullProfileWidth (const REAL relativeIntensity, const REAL xcenter, const REAL h, const REAL k, const REAL l)
 Get the (approximate) full profile width at a given percentage of the profile maximum (e.g. FWHM=GetFullProfileWidth(0.5)).
bool IsAnisotropic () const
 Is the profile anisotropic ?
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.
void SetUnitCell (const UnitCell &cell)
 Set unit cell.

Private Member Functions

void InitParameters ()
 Initialize parameters.

Private Attributes

REAL mInstrumentAlpha0
REAL mInstrumentAlpha1
REAL mInstrumentBeta0
REAL mInstrumentBeta1
REAL mGaussianSigma0
REAL mGaussianSigma1
REAL mGaussianSigma2
REAL mLorentzianGamma0
REAL mLorentzianGamma1
REAL mLorentzianGamma2
const UnitCellmpCell

Detailed Description

Double-Exponential Pseudo-Voigt profile for TOF.

Ref Mark Pitt

Definition at line 157 of file ReflectionProfile.h.


Member Function Documentation

CrystVector_REAL ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::GetProfile ( const CrystVector_REAL &  x,
const REAL  xcenter,
const REAL  h,
const REAL  k,
const REAL  l 
) const [virtual]

Get the reflection profile.

Parameters:
x,: the vector of x coordinates (i.e. either 2theta or time-of-flight)
xcenter,: coordinate (2theta, tof) of the center of the peak
h,k,l,: reflection Miller indices
Note:
: derived classes who need either d_hkl or the orthonormal coordinates of the scattering vector should be passed a ObjCryst::UnitCell object in the constructor so that they can use ObjCryst::UnitCell::MillerToOrthonormalCoords()

Implements ObjCryst::ReflectionProfile.

Definition at line 553 of file ReflectionProfile.cpp.

void ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::SetProfilePar ( const REAL  instrumentAlpha0,
const REAL  instrumentAlpha1,
const REAL  instrumentBeta0,
const REAL  instrumentBeta1,
const REAL  gaussianSigma0,
const REAL  gaussianSigma1,
const REAL  gaussianSigma2,
const REAL  lorentzianGamma0,
const REAL  lorentzianGamma1,
const REAL  lorentzianGamma2 
)

Set reflection profile parameters.

Definition at line 649 of file ReflectionProfile.cpp.

void ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::SetUnitCell ( const UnitCell cell  ) 

Set unit cell.

This is used to compute d_hkl for reflections.

Definition at line 817 of file ReflectionProfile.cpp.

void ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::XMLInput ( istream &  is,
const XMLCrystTag tag 
) [virtual]

Input From stream.

Todo:
Add an bool XMLInputTag(is,tag) function to recognize all the tags from the stream. So that each inherited class can use the XMLInputTag function from its parent (ie take advantage of inheritance). The children class would first try to interpret the tag, then if unsuccessful would pass it to its parent (thus allowing overloading), etc...

Implements ObjCryst::ReflectionProfile.

Definition at line 780 of file ReflectionProfile.cpp.

void ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::XMLOutput ( ostream &  os,
int  indent = 0 
) const [virtual]

Output to stream in well-formed XML.

Todo:
Use inheritance.. as for XMLInputTag()...

Implements ObjCryst::ReflectionProfile.

Definition at line 734 of file ReflectionProfile.cpp.


The documentation for this class was generated from the following files:

Generated on Mon Dec 7 23:06:26 2009 for FOX/ObjCryst++ by  doxygen 1.6.1