Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   Namespace Members   Compound Members   Related Pages  

ObjCryst::ScatteringPowerSphere Class Reference

\ brief ScatteringPower for a spherical particule More...

Inheritance diagram for ObjCryst::ScatteringPowerSphere:

ObjCryst::ScatteringPower ObjCryst::RefinableObj List of all members.

Public Methods

 ScatteringPowerSphere ()
 Default constructor.

 ScatteringPowerSphere (const string &name, const REAL radius, const REAL bIso=1.0)
 constructor

virtual const string & GetClassName () const
 Name for this class ("RefinableObj", "Crystal",...).

virtual CrystVector_REAL GetScatteringFactor (const ScatteringData &data, const int spgSymPosIndex=0) const
 Get the Scattering factor for all reflections of a given ScatteringData object.

virtual REAL GetForwardScatteringFactor (const RadiationType) const
 Get the scattering factor at (0,0,0).

virtual CrystVector_REAL GetTemperatureFactor (const ScatteringData &data, const int spgSymPosIndex=0) const
 Get the temperature factor for all reflections of a given ScatteringData object.

virtual CrystMatrix_REAL GetResonantScattFactReal (const ScatteringData &data, const int spgSymPosIndex=0) const
 Get the real part of the resonant scattering factor.

virtual CrystMatrix_REAL GetResonantScattFactImag (const ScatteringData &data, const int spgSymPosIndex=0) const
 Get the imaginary part of the resonant scattering factor.

REAL GetRadius () const
 Return the physical radius of this type of scatterer (for 3D display purposes).

virtual void Print () const
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 Methods

virtual void InitRefParList ()

Private Attributes

REAL mBiso
 Isotropic temperature B-factor.

REAL mRadius
 Radius of the sphere.


Detailed Description

\ brief ScatteringPower for a spherical particule

This can be used to modelize the form factor of disordered (or low-resolution) of fullerene-type compounds, where all atoms are located on a sphere.

This actually modelizes a spherical distribution of a single electron, so to modelize C60 the occupancy must be set to 60*6.


Constructor & Destructor Documentation

ObjCryst::ScatteringPowerSphere::ScatteringPowerSphere const string &    name,
const REAL    radius,
const REAL    bIso = 1.0
 

constructor

Parameters:
name  : name of the ScatteringPower ('C60','France 98'...). The name can have any format
nbAtom:  the number of atoms
biso  : Isotropic thermic coefficient
AxisLengthX,AxisLengthY,AxisLengthZ:  length of the different main axis of the ellipsoid
symbol:  the symbol of the element associated to this fullerene. By default it is assumed to be carbon


Member Function Documentation

virtual const string& ObjCryst::ScatteringPowerSphere::GetClassName   [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::ScatteringPower.

virtual REAL ObjCryst::ScatteringPowerSphere::GetForwardScatteringFactor const    RadiationType const [virtual]
 

Get the scattering factor at (0,0,0).

Used for scatterer (electron, nucleus) density generation.

Implements ObjCryst::ScatteringPower.

REAL ObjCryst::ScatteringPowerSphere::GetRadius   [virtual]
 

Return the physical radius of this type of scatterer (for 3D display purposes).

Warning:
this may be removed later.

Implements ObjCryst::ScatteringPower.

virtual CrystMatrix_REAL ObjCryst::ScatteringPowerSphere::GetResonantScattFactImag const ScatteringData   data,
const int    spgSymPosIndex = 0
const [virtual]
 

Get the imaginary part of the resonant scattering factor.

Returns:
a matrix where each row corresponds to each wavelength (currently only monochromatic experiments are made so there is only one row), and each column corresponds to each reflection only if the scattering term is anisotropic, which is not the case so far...
Parameters:
data:  the ScatteringData object, giving access to all the reflections, and a list of wavelengths.
spgSymPosIndex:  if the ScatteringPower is anisotropic, then the different symmetrics will not have the same scattering power for all reflections. This parameter is the index of the symmetric position in the Spacegroup. If spgSymPosIndex=-1, the isotropic values are returned.
Warning:
There is no anisotropic code yet, so spgSymPosIndex is simply ignored so far , but the design of this function is general for any anisotropic scattering.

Implements ObjCryst::ScatteringPower.

virtual CrystMatrix_REAL ObjCryst::ScatteringPowerSphere::GetResonantScattFactReal const ScatteringData   data,
const int    spgSymPosIndex = 0
const [virtual]
 

Get the real part of the resonant scattering factor.

Returns:
a matrix where each row corresponds to each wavelength (currently only monochromatic experiments are made so there is only one row), and each column corresponds to each reflection only if the scattering term is anisotropic, which is not the case so far...
Parameters:
data:  the ScatteringData object, giving access to all the reflections and a list of wavelengths).
spgSymPosIndex:  if the ScatteringPower is anisotropic, then the different symmetrics will not have the same scattering power for all reflections. This parameter is the index of the symmetric position in the Spacegroup. If spgSymPosIndex=-1, the isotropic values are returned.
Warning:
There is no anisotropic code yet, so spgSymPosIndex is simply ignored so far , but the design of this function is general for any anisotropic scattering.

Implements ObjCryst::ScatteringPower.

virtual CrystVector_REAL ObjCryst::ScatteringPowerSphere::GetScatteringFactor const ScatteringData   data,
const int    spgSymPosIndex = 0
const [virtual]
 

Get the Scattering factor for all reflections of a given ScatteringData object.

Returns:
a vector with the scattering factor for all reflections, in the same order as in the ScatteringData object. This format is independent of the radiation type (X-Ray, neutron..).
Parameters:
data:  the ScatteringData object, giving access to all the reflections.
spgSymPosIndex:  if the ScatteringPower is anisotropic, then the different symmetrics will not have the same scattering power for all reflections. This parameter is the index of the symmetric position in the Spacegroup. If spgSymPosIndex=-1, the isotropic values are returned.
Warning:
There is no anisotropic code yet, so spgSymPosIndex is simply ignored so far , but the design of this function is general for any anisotropic scattering.

Implements ObjCryst::ScatteringPower.

virtual CrystVector_REAL ObjCryst::ScatteringPowerSphere::GetTemperatureFactor const ScatteringData   data,
const int    spgSymPosIndex = 0
const [virtual]
 

Get the temperature factor for all reflections of a given ScatteringData object.

Returns:
a vector with the temperature factor for all reflections, in the same order as in the ScatteringData object.
Parameters:
data:  the ScatteringData object, giving access to all the reflections.
spgSymPosIndex:  if the ScatteringPower is anisotropic, then the different symmetrics will not have the same scattering power for all reflections. This parameter is the index of the symmetric position in the Spacegroup. If spgSymPosIndex=-1, the isotropic values are returned.
Warning:
There is no anisotropic code yet, so spgSymPosIndex is simply ignored so far , but the design of this function is general for any anisotropic scattering.

Implements ObjCryst::ScatteringPower.

virtual void ObjCryst::ScatteringPowerSphere::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...

Reimplemented from ObjCryst::RefinableObj.

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

Output to stream in well-formed XML.

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

Reimplemented from ObjCryst::RefinableObj.


The documentation for this class was generated from the following file:
Generated on Wed Jun 25 23:26:27 2003 for ObjCryst++ by doxygen1.2.18