Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

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 (const UnitCell &cell)
 ReflectionProfileDoubleExponentialPseudoVoigt (const ReflectionProfileDoubleExponentialPseudoVoigt &old)
virtual ~ReflectionProfileDoubleExponentialPseudoVoigt ()
virtual ReflectionProfileDoubleExponentialPseudoVoigtCreateCopy () const
virtual const string & GetClassName () const
 Name for this class ("RefinableObj", "Crystal",...).

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.

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.


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


Constructor & Destructor Documentation

ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::ReflectionProfileDoubleExponentialPseudoVoigt const UnitCell cell  ) 
 

ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::ReflectionProfileDoubleExponentialPseudoVoigt const ReflectionProfileDoubleExponentialPseudoVoigt old  ) 
 

virtual ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::~ReflectionProfileDoubleExponentialPseudoVoigt  )  [virtual]
 


Member Function Documentation

virtual ReflectionProfileDoubleExponentialPseudoVoigt* ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::CreateCopy  )  const [virtual]
 

Implements ObjCryst::ReflectionProfile.

virtual const string& ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::GetClassName  )  const [virtual]
 

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::RefinableObj.

virtual REAL ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::GetFullProfileWidth const REAL  relativeIntensity,
const REAL  xcenter,
const REAL  h,
const REAL  k,
const REAL  l
[virtual]
 

Get the (approximate) full profile width at a given percentage of the profile maximum (e.g.

FWHM=GetFullProfileWidth(0.5)).

Implements ObjCryst::ReflectionProfile.

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.

void ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::InitParameters  )  [private]
 

Initialize parameters.

bool ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::IsAnisotropic  )  const [virtual]
 

Is the profile anisotropic ?

Reimplemented from ObjCryst::ReflectionProfile.

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.

virtual 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.

virtual 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.


Member Data Documentation

REAL ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::mGaussianSigma0 [private]
 

REAL ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::mGaussianSigma1 [private]
 

REAL ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::mGaussianSigma2 [private]
 

REAL ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::mInstrumentAlpha0 [private]
 

REAL ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::mInstrumentAlpha1 [private]
 

REAL ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::mInstrumentBeta0 [private]
 

REAL ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::mInstrumentBeta1 [private]
 

REAL ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::mLorentzianGamma0 [private]
 

REAL ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::mLorentzianGamma1 [private]
 

REAL ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::mLorentzianGamma2 [private]
 

const UnitCell* ObjCryst::ReflectionProfileDoubleExponentialPseudoVoigt::mpCell [private]
 


The documentation for this class was generated from the following file:
Generated on Tue Nov 14 15:04:44 2006 for ObjCryst++ by doxygen 1.3.6