23#ifndef _TRestAxionXrayWindow
24#define _TRestAxionXrayWindow
26#include <TRestMetadata.h>
27#include <TRestPatternMask.h>
56 Double_t GetWindowRadius() {
A metadata class to create x-ray transmission window definitions.
Double_t GetTransmission(Double_t energy, Double_t x, Double_t y)
It returns the window transmission probability for the given energy (in keV) and window position,...
void PrintTransmissionData()
Prints out the transmission probability curve loaded in memory. for debugging pourposes.
Bool_t HitsPattern(Double_t x, Double_t y)
It returns true if the window pattern is hitted. False otherwise.
void Initialize()
Initialization of TRestAxionXrayWindow members. It removes all gases.
Int_t GetEnergyIndex(Double_t energy)
It returns the vector element index, from fEnergy, that is just below the given input energy.
std::vector< Double_t > fTransmission
A vector with the transmission already renormalized using the material thickness. Not stored in disk.
void PrintMetadata()
Prints on screen the information about the metadata members of TRestAxionXrayWindow.
TRestPatternMask * fMask
A mask defining a pattern where the transmission will be effective.
TRestAxionXrayWindow()
Default constructor.
~TRestAxionXrayWindow()
Default destructor.
std::string fMaterial
Window material name.
void InitFromConfigFile()
To make settings from rml file. This method must be implemented in the derived class.
void ReadMaterial()
It reads the data files from the corresponding material that needs to be found in the axiolib databas...
Double_t fThickness
Thicknesss of window material in mm.
std::vector< Double_t > fEnergy
A vector with the energies loaded from the material file. Not stored in disk.
An abstract class used to encapsulate different mask pattern class definitions.
Double_t GetMaskRadius()
It returns the mask radius.