Garfield 0.3
Toolkit for the detailed simulation of particle detectors based on ionization measurement in gases and semiconductors
Loading...
Searching...
No Matches
OpticalData.hh
Go to the documentation of this file.
1#ifndef G_OPTICAL_DATA_H
2#define G_OPTICAL_DATA_H
3
4#include <string>
5
6namespace Garfield {
7
9
11 public:
13 OpticalData() = default;
15 ~OpticalData() = default;
16
18 static bool IsAvailable(const std::string& material);
20 static bool PhotoabsorptionCrossSection(const std::string& material,
21 const double energy, double& cs,
22 double& eta);
24 static double PhotoabsorptionCrossSection(const std::string& material,
25 const double energy);
27 static double PhotoionisationYield(const std::string& material,
28 const double energy);
29
30 private:
31 static constexpr double OscToPacs = 8.067283e-18;
32 static constexpr double Mbarn = 1.e-18;
33
34 static bool PhotoAbsorptionCsNeon(const double e, double& cs, double& eta);
35 static bool PhotoAbsorptionCsArgon(const double e, double& cs, double& eta);
36
37 static bool PhotoAbsorptionCsCO2(const double e, double& cs, double& eta);
38
39 static bool PhotoAbsorptionCsMethane(const double e, double& cs, double& eta);
40 static bool PhotoAbsorptionCsEthane(const double e, double& cs, double& eta);
41 static bool PhotoAbsorptionCsButane(const double e, double& cs, double& eta);
42 static bool PhotoAbsorptionCsAcetylene(const double e, double& cs,
43 double& eta);
44 static bool PhotoAbsorptionCsCF4(const double e, double& cs, double& eta);
45
46 static bool PhotoAbsorptionCsNitrogen(const double e, double& cs,
47 double& eta);
48};
49} // namespace Garfield
50
51#endif
static bool PhotoAbsorptionCsArgon(const double e, double &cs, double &eta)
static bool PhotoAbsorptionCsAcetylene(const double e, double &cs, double &eta)
static bool PhotoabsorptionCrossSection(const std::string &material, const double energy, double &cs, double &eta)
Photo-absorption cross-section and ionisation yield at a given energy.
static bool PhotoAbsorptionCsCO2(const double e, double &cs, double &eta)
static bool PhotoAbsorptionCsButane(const double e, double &cs, double &eta)
static double PhotoionisationYield(const std::string &material, const double energy)
Photo-ionisation yield at a given energy.
static bool PhotoAbsorptionCsCF4(const double e, double &cs, double &eta)
static bool PhotoAbsorptionCsNitrogen(const double e, double &cs, double &eta)
static bool PhotoAbsorptionCsNeon(const double e, double &cs, double &eta)
~OpticalData()=default
Destructor.
static bool PhotoAbsorptionCsEthane(const double e, double &cs, double &eta)
static bool PhotoAbsorptionCsMethane(const double e, double &cs, double &eta)
static bool IsAvailable(const std::string &material)
Check whether optical data have been implemented for a given gas.
static constexpr double Mbarn
static double PhotoabsorptionCrossSection(const std::string &material, const double energy)
Photo-absorption cross-section at a given energy.
static constexpr double OscToPacs
OpticalData()=default
Constructor.