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

ObjCryst::GlobalScatteringPower Class Reference

Global Scattering Power. Used to approximate the scattering power of a multi-atom ZScatterer (polyhedron,...) to an isotropic scattering power. More...

Inheritance diagram for ObjCryst::GlobalScatteringPower:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 GlobalScatteringPower ()
 GlobalScatteringPower (const ZScatterer &scatt)
 GlobalScatteringPower (const GlobalScatteringPower &old)
 ~GlobalScatteringPower ()
void Init (const ZScatterer &scatt)
 Re-initialize parameters (after using the default constructor).

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.

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


Protected Member Functions

virtual void InitRefParList ()

Protected Attributes

ZScatterermpZScatterer
 a copy of the ZScatterer associated to this object


Detailed Description

Global Scattering Power. Used to approximate the scattering power of a multi-atom ZScatterer (polyhedron,...) to an isotropic scattering power.

The scattering power will be (slowly) approximated to the average scattering power of this ZScatterer take in all orientations. The approximated scattering factor will include the temperature factor and resonant scattering factors contributions.

This is only used in ZScatterer, and maybe obsolete (?).


Constructor & Destructor Documentation

ObjCryst::GlobalScatteringPower::GlobalScatteringPower  ) 
 

ObjCryst::GlobalScatteringPower::GlobalScatteringPower const ZScatterer scatt  ) 
 

ObjCryst::GlobalScatteringPower::GlobalScatteringPower const GlobalScatteringPower old  ) 
 

ObjCryst::GlobalScatteringPower::~GlobalScatteringPower  ) 
 


Member Function Documentation

virtual REAL ObjCryst::GlobalScatteringPower::GetForwardScatteringFactor const  RadiationType  )  const [virtual]
 

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

Used for scatterer (electron, nucleus) density generation.

Implements ObjCryst::ScatteringPower.

virtual REAL ObjCryst::GlobalScatteringPower::GetRadius  )  const [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::GlobalScatteringPower::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::GlobalScatteringPower::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::GlobalScatteringPower::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::GlobalScatteringPower::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.

void ObjCryst::GlobalScatteringPower::Init const ZScatterer scatt  ) 
 

Re-initialize parameters (after using the default constructor).

virtual void ObjCryst::GlobalScatteringPower::InitRefParList  )  [protected, virtual]
 

Implements ObjCryst::ScatteringPower.


Member Data Documentation

ZScatterer* ObjCryst::GlobalScatteringPower::mpZScatterer [protected]
 

a copy of the ZScatterer associated to this object


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