fisx
fisx::XRFConfig Class Reference

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 BeamgetBeam () 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 DetectorgetDetector () 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)
 

Member Function Documentation

§ getBeam()

const Beam & fisx::XRFConfig::getBeam ( ) const

Methods coordinating all the calculation

Returns a constant reference to the internal beam.

§ setAttenuators()

void fisx::XRFConfig::setAttenuators ( const std::vector< Layer > &  attenuators)

Set the list of attenuators. Attenuators are layers between sample and detector.

§ setBeam()

void fisx::XRFConfig::setBeam ( const double &  energy,
const double &  divergency 
)

Set the excitation beam

§ setBeamFilters()

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

§ setCollimators()

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

§ setDetector()

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.

§ setGeometry()

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.

§ setReferenceLayer()

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).

§ setSample()

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

§ setUserAttenuators()

void fisx::XRFConfig::setUserAttenuators ( const std::vector< TransmissionTable > &  userAttenuators)

Set the list of user attenuators as transmission tables between sample and detector.

§ setUserBeamFilters()

void fisx::XRFConfig::setUserBeamFilters ( const std::vector< TransmissionTable > &  userBeamFilters)

Set the list of user beam filters defined as transmission tables.


The documentation for this class was generated from the following files: