Garfield++ 5.0
A toolkit for the detailed simulation of particle detectors based on ionisation 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#include <vector>
6
7namespace Garfield {
8
9/// Photoabsorption cross-sections for some gases.
10
12 public:
13 /// Constructor
14 OpticalData() = default;
15 /// Destructor
16 ~OpticalData() = default;
17
18 /// Check whether optical data have been implemented for a given gas.
19 static bool IsAvailable(const std::string& material);
20 /// Photo-absorption cross-section and ionisation yield at a given energy.
21 static bool PhotoabsorptionCrossSection(const std::string& material,
22 const double energy, double& cs,
23 double& eta);
24 /// Photo-absorption cross-section at a given energy.
25 static double PhotoabsorptionCrossSection(const std::string& material,
26 const double energy);
27 /// Photo-ionisation yield at a given energy.
28 static double PhotoionisationYield(const std::string& material,
29 const double energy);
30
31 private:
32 static constexpr double OscToPacs = 8.067283e-18;
33 static constexpr double Mbarn = 1.e-18;
34
35 static bool PhotoAbsorptionCsNeon(const double e, double& cs, double& eta);
36 static bool PhotoAbsorptionCsArgon(const double e, double& cs, double& eta);
37
38 static bool PhotoAbsorptionCsCO2(const double e, double& cs, double& eta);
39
40 static bool PhotoAbsorptionCsMethane(const double e, double& cs, double& eta);
41 static bool PhotoAbsorptionCsEthane(const double e, double& cs, double& eta);
42 static bool PhotoAbsorptionCsButane(const double e, double& cs, double& eta);
43 static bool PhotoAbsorptionCsAcetylene(const double e, double& cs, double& eta);
44 static bool PhotoAbsorptionCsCF4(const double e, double& cs, double& eta);
45
46 static bool PhotoAbsorptionCsNitrogen(const double e, double& cs, double& eta);
47};
48}
49
50#endif
static bool IsAvailable(const std::string &material)
Check whether optical data have been implemented for a given gas.
static double PhotoionisationYield(const std::string &material, const double energy)
Photo-ionisation yield at a given energy.
~OpticalData()=default
Destructor.
OpticalData()=default
Constructor.
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.