fisx
|
Public Member Functions | |
void | readConfigurationFromFile (const std::string &fileName) |
void | saveConfigurationToFile (const std::string &fileName) |
void | setBeam (const double &energy, const double &divergency) |
void | setBeam (const std::vector< double > &energies, const std::vector< double > &weight, const std::vector< int > &characteristic=std::vector< int >(), const std::vector< double > &divergency=std::vector< double >()) |
void | setBeam (const Beam &beam) |
void | setBeamFilters (const std::vector< std::string > &names, const std::vector< double > &densities, const std::vector< double > &thicknesses, const std::vector< std::string > &comments) |
void | setBeamFilters (const std::vector< Layer > &filters) |
void | setUserBeamFilters (const std::vector< TransmissionTable > &userBeamFilters) |
void | setGeometry (const double &alphaIn, const double &alphaOut, const double &scatteringAngle=90.) |
void | setSample (const std::vector< Layer > &layers, const int &referenceLayer=0) |
void | setSample (const std::vector< std::string > &names, const std::vector< double > &densities, const std::vector< double > &thicknesses, const std::vector< std::string > &comments, const int &referenceLayer=0) |
void | setReferenceLayer (int referenceLayer) |
void | setAttenuators (const std::vector< Layer > &attenuators) |
void | setAttenuators (const std::vector< std::string > &names, const std::vector< double > &densities, const std::vector< double > &thicknesses, const std::vector< std::string > &comments) |
void | setUserAttenuators (const std::vector< TransmissionTable > &userAttenuators) |
void | setCollimators () |
void | addCollimator () |
void | setDetector (const Detector &detector) |
const Beam & | getBeam () const |
const std::vector< Layer > & | getBeamFilters () const |
const std::vector< TransmissionTable > & | getUserBeamFilters () const |
const std::vector< Layer > & | getSample () const |
const std::vector< Layer > & | getAttenuators () const |
const std::vector< TransmissionTable > & | getUserAttenuators () const |
const Detector & | getDetector () const |
const double & | getAlphaIn () const |
const double & | getAlphaOut () const |
const double & | getScatteringAngle () const |
const int & | getReferenceLayer () const |
Friends | |
std::ostream & | operator<< (std::ostream &o, XRFConfig const &config) |
const Beam & fisx::XRFConfig::getBeam | ( | ) | const |
Methods coordinating all the calculation
Returns a constant reference to the internal beam.
void fisx::XRFConfig::setAttenuators | ( | const std::vector< Layer > & | attenuators | ) |
Set the list of attenuators. Attenuators are layers between sample and detector.
void fisx::XRFConfig::setBeam | ( | const double & | energy, |
const double & | divergency | ||
) |
Set the excitation beam
void fisx::XRFConfig::setBeamFilters | ( | const std::vector< std::string > & | names, |
const std::vector< double > & | densities, | ||
const std::vector< double > & | thicknesses, | ||
const std::vector< std::string > & | comments | ||
) |
Set the beam filters to be applied to the beam
void fisx::XRFConfig::setCollimators | ( | ) |
Collimators are not implemented yet. The collimators are attenuators that take into account their distance to the sample, their diameter, thickness and density
void fisx::XRFConfig::setDetector | ( | const Detector & | detector | ) |
Set the detector. For the time being it is very simple. It has active area, material, density, thickness and distance.
void fisx::XRFConfig::setGeometry | ( | const double & | alphaIn, |
const double & | alphaOut, | ||
const double & | scatteringAngle = 90. |
||
) |
Set the excitation geometry. For the time being, just the incident, outgoing angles and scattering angle to detector center.
void fisx::XRFConfig::setReferenceLayer | ( | int | referenceLayer | ) |
Set the reference layer. The detector distance is measured from the reference layer surface. If not specified, the first layer is the reference layer (closest to the detector).
void fisx::XRFConfig::setSample | ( | const std::vector< Layer > & | layers, |
const int & | referenceLayer = 0 |
||
) |
Set the sample description. It consists on a set of layers representing different materials, densities and thicknesses. The first ( = top) layer will be taken as reference layer. This can be changed calling setRefenceLayer
void fisx::XRFConfig::setUserAttenuators | ( | const std::vector< TransmissionTable > & | userAttenuators | ) |
Set the list of user attenuators as transmission tables between sample and detector.
void fisx::XRFConfig::setUserBeamFilters | ( | const std::vector< TransmissionTable > & | userBeamFilters | ) |
Set the list of user beam filters defined as transmission tables.