#include <rl_DielectricData.h>
Public Member Functions | |
~rl_DielectricData () | |
rl_DielectricData () | |
rl_DielectricData (rl_DielectricData const &other) throw ( rl_Exception ) | |
rl_DielectricData (rl_Traits::rl_DielectricPOD const *diel, size_t num_pts, rl_Traits::EInterpMode interp_mode, double bulk_density=1.0) throw ( rl_Exception ) | |
void | init (rl_Traits::rl_DielectricPOD const *diel, size_t num_pts, rl_Traits::EInterpMode interp_mode, double bulk_density=1.0) throw ( rl_Exception ) |
int | alpha_gamma (double energy, double &alpha, double &gamma) |
double | energy_min () const |
double | energy_max () const |
double | bulk_density_factor () const |
rl_Traits::Bool | is_vacuum () const |
Classes | |
struct | rl_DielectricDataBinPOD |
Definition at line 64 of file rl_DielectricData.h.
rl_DielectricData::~rl_DielectricData | ( | ) |
Non-virtual detructor.
Definition at line 53 of file rl_DielectricData.cc.
rl_DielectricData::rl_DielectricData | ( | ) | [inline] |
Default constructor. Constructs a vacuum rl_DielectricData. Use init to initialize the object to a state other than vacuum.
Definition at line 215 of file rl_DielectricData.h.
rl_DielectricData::rl_DielectricData | ( | rl_DielectricData const & | other | ) | throw ( rl_Exception ) |
Copy constructor
other | rl_DielectricData to be copied. |
Definition at line 60 of file rl_DielectricData.cc.
rl_DielectricData::rl_DielectricData | ( | rl_Traits::rl_DielectricPOD const * | diel, | |
size_t | num_pts, | |||
rl_Traits::EInterpMode | interp_mode, | |||
double | bulk_density = 1.0 | |||
) | throw ( rl_Exception ) |
Constructor. The data for the dielectric constants are obtained from a c-style array of const rl_DielectricPOD; the array contains num_pts points. The interpolation mode will be set to interp_mode. The optical constants will be scaled by bulk_density.
diel | an array of num_pts POD's containing the complex dielectric decrements. | |
num_pts | number of elements in diel. | |
interp_mode | type of interpolation to be used in interpolating the dielectric constants. | |
bulk_density | relative bulk density factor to be used; 1.0 for full bulk density. The dielectric decrements will be scaled by bulk_density. |
Definition at line 75 of file rl_DielectricData.cc.
References init().
void rl_DielectricData::init | ( | rl_Traits::rl_DielectricPOD const * | diel, | |
size_t | num_pts, | |||
rl_Traits::EInterpMode | interp_mode, | |||
double | bulk_density = 1.0 | |||
) | throw ( rl_Exception ) |
Initialization function. The data are obtained from a c-style array of const rl_DielectricPOD; the array contains num_pts points. The interpolation mode will be set to interp_mode. The optical constants will be scaled by bulk_density.
diel | an array of num_pts POD's containing the complex dielectric decrements. | |
num_pts | number of elements in diel. | |
interp_mode | type of interpolation to be used in interpolating the dielectric constants. | |
bulk_density | relative bulk density factor to be used; 1.0 for full bulk density. The dielectric decrements will be scaled by bulk_density. |
Definition at line 86 of file rl_DielectricData.cc.
References rl_Traits::rl_DielectricPOD::alpha_, rl_Traits::ELinLin, rl_Traits::ELinLog, rl_Traits::ELogLin, rl_Traits::ELogLog, rl_Traits::rl_DielectricPOD::energy_, rl_Traits::rl_DielectricPOD::gamma_, rl_DielectricData::rl_DielectricDataBinPOD::hi_, and rl_DielectricData::rl_DielectricDataBinPOD::lo_.
Referenced by rl_DielectricLayer::init(), and rl_DielectricData().
int rl_DielectricData::alpha_gamma | ( | double | energy, | |
double & | alpha, | |||
double & | gamma | |||
) |
Evaluate the dielectric decrements, alpha and gamma, at the given energy. The energy must be between the minimum and the maximum energies in the rl_DielectricPOD
array used to initialize the rl_DielectricData
Returns: 0 on success; -1 if energy is below lower limit, +1 if energy is above upper limit.
energy | photon energy (in keV). | |
alpha | real part of the complex dielectric decrement. | |
gamma | imaginary part of the complex dielectric decrement. |
Definition at line 176 of file rl_DielectricData.cc.
References rl_Traits::rl_DielectricPOD::alpha_, rl_Traits::ELinLin, rl_Traits::ELinLog, rl_Traits::ELogLin, rl_Traits::ELogLog, rl_Traits::rl_DielectricPOD::energy_, rl_Traits::rl_DielectricPOD::gamma_, rl_DielectricData::rl_DielectricDataBinPOD::hi_, and rl_DielectricData::rl_DielectricDataBinPOD::lo_.
Referenced by rl_DielectricLayer::setup_for().
double rl_DielectricData::energy_min | ( | ) | const [inline] |
Return the minimum energy covered by this dataset.
Definition at line 229 of file rl_DielectricData.h.
Referenced by rl_DielectricLayer::cdump_on(), rl_DielectricLayer::cprint_constraints_on(), rl_DielectricLayer::dump_on(), and rl_DielectricLayer::energy_min().
double rl_DielectricData::energy_max | ( | ) | const [inline] |
Return the maximum energy covered by this dataset.
Definition at line 234 of file rl_DielectricData.h.
Referenced by rl_DielectricLayer::cdump_on(), rl_DielectricLayer::cprint_constraints_on(), rl_DielectricLayer::dump_on(), and rl_DielectricLayer::energy_max().
double rl_DielectricData::bulk_density_factor | ( | ) | const [inline] |
Return the maximum energy covered by this dataset. Return the relative bulk density for this set of optical constants. 1.0 is nominal full bulk density
Definition at line 239 of file rl_DielectricData.h.
Referenced by rl_DielectricLayer::bulk_density_factor(), rl_DielectricLayer::cdump_on(), rl_DielectricLayer::cprint_constraints_on(), and rl_DielectricLayer::dump_on().
rl_Traits::Bool rl_DielectricData::is_vacuum | ( | ) | const [inline] |
Returns True if the object is a vacuum state; False, otherwise.
Definition at line 244 of file rl_DielectricData.h.
Referenced by rl_DielectricLayer::is_vacuum().