fisx
|
Class describing the detector. More...
#include <fisx_detector.h>
Inherits fisx::Layer.
Public Member Functions | |
Detector (const std::string &name="", const double &density=0.0, const double &thickness=0.0, const double &funnyFactor=1.0) | |
void | setMaterial (const std::string &materialName) |
void | setMaterial (const Material &material) |
void | setActiveArea (const double &area) |
void | setDiameter (const double &diameter) |
double | getActiveArea () const |
const double & | getDiameter () const |
void | setDistance (const double &distance) |
const double & | getDistance () const |
void | clearEscapePeakCache () |
const double | getEscapePeakEnergyThreshold () const |
const double | getEscapePeakIntensityThreshold () const |
const int | getEscapePeakNThreshold () const |
const double | getEscapePeakAlphaIn () const |
std::map< std::string, std::map< std::string, double > > | getEscape (const double &energy, const Elements &elementsLibrary, const std::string &label="", const int &update=1) |
void | setMinimumEscapePeakEnergy (const double &energy) |
void | setMinimumEscapePeakIntensity (const double &intensity) |
void | setMaximumNumberOfEscapePeaks (const int &nPeaks) |
![]() | |
Layer (const std::string &name="", const double &density=0.0, const double &thickness=0.0, const double &funnyFactor=1.0) | |
void | setMaterial (const std::string &materialName) |
void | setMaterial (const Material &material) |
std::map< std::string, double > | getComposition (const Elements &elements) const |
const Material & | getMaterial () const |
double | getTransmission (const double &energy, const Elements &elements, const double &angle=90.0) const |
std::map< std::string, double > | getMassAttenuationCoefficients (const double &energy, const Elements &elements) const |
std::map< std::string, std::vector< double > > | getMassAttenuationCoefficients (const std::vector< double > &energies, const Elements &elements) const |
std::vector< double > | getTransmission (const std::vector< double > &energy, const Elements &elements, const double &angle=90.0) const |
bool | hasMaterialComposition () const |
std::vector< std::pair< std::string, double > > | getPeakFamilies (const double &energy, const Elements &elements) const |
const std::string & | getMaterialName () const |
void | setDensity (const double &density) |
void | setThickness (const double &thickness) |
const double & | getDensity () const |
const double & | getThickness () const |
const double & | getFunnyFactor () const |
std::map< std::string, double > | getComposition (const Elements &elements) |
Additional Inherited Members | |
![]() | |
std::string | name |
Class describing the detector.
fisx::Detector::Detector | ( | const std::string & | name = "" , |
const double & | density = 0.0 , |
||
const double & | thickness = 0.0 , |
||
const double & | funnyFactor = 1.0 |
||
) |
layer like initialization. The detector is assumed to be cylindrical and the diameter is calculated.
void fisx::Detector::clearEscapePeakCache | ( | ) |
Make sure the internal escape peak cache is empty
double fisx::Detector::getActiveArea | ( | ) | const |
Returns the active area in cm2
const double & fisx::Detector::getDiameter | ( | ) | const |
Returns the diameter in cm2
const double & fisx::Detector::getDistance | ( | ) | const |
Returns the distance to reference layer in cm2
std::map< std::string, std::map< std::string, double > > fisx::Detector::getEscape | ( | const double & | energy, |
const Elements & | elementsLibrary, | ||
const std::string & | label = "" , |
||
const int & | update = 1 |
||
) |
Returns escape peak energy and rate per detected photon of given energy.
The optional arguments label and update serve for caching purposes. To make use of the cache, the label must not be empty (it should be used to identify the elementsLibrary) and update must be set to 0 because if it is set to 1 it will systematically empty the cascade cache.
|
inline |
Getter to internal variable
void fisx::Detector::setActiveArea | ( | const double & | area | ) |
Active area in cm2. The detector is assumed to be cylindrical and the diameter is calculated.
void fisx::Detector::setDiameter | ( | const double & | diameter | ) |
Diameter in cm2. For the time being the detector is assumed to be cylindrical.
void fisx::Detector::setDistance | ( | const double & | distance | ) |
Sets the distance to reference layer in cm2