Class to define the radiation (type, monochromaticity, wavelength(s)) of an experiment. More...


Public Member Functions | |
| Radiation () | |
| Default constructor. | |
| Radiation (const RadiationType rad, const REAL wavelength) | |
| \ brief Constructor | |
| Radiation (const string &XRayTubeElementName, const REAL alpha2Alpha2ratio=0.5) | |
| \ brief Constructor for X-Ray tube radiation | |
| Radiation (const Radiation &) | |
| Copy constructor. | |
| 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. | |
| void | operator= (const Radiation &) |
| Defined not implemented. | |
| RadiationType | GetRadiationType () const |
| Get the radiation type (X-Rays, Neutron). | |
| void | SetRadiationType (const RadiationType) |
| Set the radiation type (X-Rays, Neutron). | |
| void | SetWavelengthType (const WavelengthType &type) |
| Set the Wavelength type (monochromatic, Alpha1+Alpha2, Time Of Flight...). | |
| WavelengthType | GetWavelengthType () const |
| Get the Wavelength type (monochromatic, Alpha1+Alpha2, Time Of Flight...). | |
| const CrystVector_REAL & | GetWavelength () const |
| Get the wavelength(s) in Angstroems. Currently only monochromatic is used, so the vector should only return only one wavelength. | |
| void | SetWavelength (const REAL) |
| Set the (monochromatic) wavelength of the beam. | |
| void | SetWavelength (const string &XRayTubeElementName, const REAL alpha2Alpha2ratio=0.5) |
| \ brief Set X-Ray tube radiation. | |
| REAL | GetXRayTubeDeltaLambda () const |
| Get the wavelength difference for Alpha1 and Alpha2. | |
| REAL | GetXRayTubeAlpha2Alpha1Ratio () const |
| Get the Kalpha2/Kalpha1 ratio. | |
| const RefinableObjClock & | GetClockWavelength () const |
| Last time the wavelength has been changed. | |
| const RefinableObjClock & | GetClockRadiation () const |
| Last time the nature (X-Rays/Neutron, number of wavelengths)radiation has been changed. | |
| 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 | Print () const |
| Print to screen/console the charcteristics of the radiation. | |
| REAL | GetLinearPolarRate () const |
| void | SetLinearPolarRate (const REAL f) |
Private Member Functions | |
| void | InitOptions () |
Private Attributes | |
| RefObjOpt | mRadiationType |
| Neutron ? X-Ray ? (Electron: unimplemented). | |
| RefObjOpt | mWavelengthType |
| monochromatic ? Alpha1 & Alpha2 ? Multi-Wavelength ? | |
| CrystVector_REAL | mWavelength |
| Wavelength of the Experiment, in Angstroems. | |
| string | mXRayTubeName |
| Name of the X-Ray tube used, if relevant. ie "Cu", "Fe",etc... "CuA1" for Cu-alpha1, etc... | |
| REAL | mXRayTubeDeltaLambda |
| Absolute difference between alpha1 and alpha2, in angstroems. | |
| REAL | mXRayTubeAlpha2Alpha1Ratio |
| Ratio alpha2/alpha1 (should be 0.5). | |
| RefinableObjClock | mClockWavelength |
| RefinableObjClock | mClockRadiation |
| REAL | mLinearPolarRate |
| Linear Polarization Rate (default:0, X-Ray tube unmonochromatized). | |
Class to define the radiation (type, monochromaticity, wavelength(s)) of an experiment.
This can be developped for more complex experiments, hence the vector of wavelengths (so far it is not possible to use several wavelengths, though).
X-Rays and Neutrons are available. Electrons are not available yet in ScatteringData classes.
Definition at line 167 of file ScatteringData.h.
| ObjCryst::Radiation::Radiation | ( | const RadiationType | rad, | |
| const REAL | wavelength | |||
| ) |
\ brief Constructor
| rad | the RadiationType used (X-Rays, neutrons) | |
| wavelength | the wavelength (in Angstroems) of the monochromatic radiation. |
Definition at line 148 of file ScatteringData.cpp.
| ObjCryst::Radiation::Radiation | ( | const string & | XRayTubeElementName, | |
| const REAL | alpha2Alpha2ratio = 0.5 | |||
| ) |
\ brief Constructor for X-Ray tube radiation
| XRayTubeElementName | : name of the anticathode element name. Known ones are Cr, Fe, Cu, Mo, Ag. | |
| alpha2Alpha2ratio,: | Kalpha2/Kalpha1 ratio (0.5 by default) |
the average wavelength is calculated using the alpha2/alpha1 weight. All structure factors computation are made using the average wavelength, and for powder diffraction, profiles are output at the alpha1 and alpha2 ratio for the calculated pattern.
NOTE : if the name of the wavelength is generic (eg"Cu"), then the program considers that there are both Alpha1 and Alpha2, and thus automatically changes the WavelengthType to WAVELENGTH_ALPHA12. If instead either alpha1 or alpha2 (eg "CuA1") is asked for, the WavelengthType is set to WAVELENGTH_MONOCHROMATIC. In both cases, the radiation type is set to X-Ray.
Definition at line 162 of file ScatteringData.cpp.
| void ObjCryst::Radiation::operator= | ( | const Radiation & | old | ) |
Defined not implemented.
.. Should never be called
Reimplemented from ObjCryst::RefinableObj.
Definition at line 193 of file ScatteringData.cpp.
| void ObjCryst::Radiation::SetWavelength | ( | const string & | XRayTubeElementName, | |
| const REAL | alpha2Alpha2ratio = 0.5 | |||
| ) |
\ brief Set X-Ray tube radiation.
| XRayTubeElementName | : name of the anticathode element name. Known ones are Cr, Fe, Cu, Mo, Ag. | |
| alpha2Alpha2ratio,: | Kalpha2/Kalpha1 ratio (0.5 by default) |
the average wavelength is calculated using the alpha2/alpha1 weight. All structure factors computation are made using the average wavelength, and for powder diffraction, profiles are output at the alpha1 and alpha2 ratio for the calculated pattern.
NOTE : if the name of the wavelength is generic (eg"Cu"), then the program considers that there are both Alpha1 and Alpha2, and thus automatically changes the WavelengthType to WAVELENGTH_ALPHA12. If instead either alpha1 or alpha2 (eg "CuA1") is asked for, the WavelengthType is set to WAVELENGTH_MONOCHROMATIC. In both cases, the radiation type is set to X-Ray.
Definition at line 232 of file ScatteringData.cpp.
| void ObjCryst::Radiation::XMLInput | ( | istream & | is, | |
| const XMLCrystTag & | tag | |||
| ) | [virtual] |
Input From stream.
Reimplemented from ObjCryst::RefinableObj.
Definition at line 1022 of file ObjCryst/IO.cpp.
| void ObjCryst::Radiation::XMLOutput | ( | ostream & | os, | |
| int | indent = 0 | |||
| ) | const [virtual] |
Output to stream in well-formed XML.
Reimplemented from ObjCryst::RefinableObj.
Definition at line 959 of file ObjCryst/IO.cpp.
1.6.1