fisx: fisx::XRFConfig Class Reference

fisx

Public Member Functions | Friends | List of all members
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 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)

## 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:

- fisx_xrfconfig.h
- fisx_xrfconfig.cpp