Garfield++ 3.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
15 /// Destructor
17
18 /// Check whether optical data have been implemented for a given gas.
19 bool IsAvailable(const std::string& material) const;
20 /// Photo-absorption cross-section and ionisation yield at a given energy.
21 bool GetPhotoabsorptionCrossSection(const std::string& material,
22 const double e, double& cs, double& eta);
23
24 void EnableDebugging(const bool on = true) { m_debug = on; }
25
26 private:
27 static constexpr double OscToPacs = 8.067283e-18;
28 static constexpr double Mbarn = 1.e-18;
29
30 bool m_debug = false;
31
32 bool PhotoAbsorptionCsNeon(const double e, double& cs, double& eta);
33 bool PhotoAbsorptionCsArgon(const double e, double& cs, double& eta);
34
35 bool PhotoAbsorptionCsCO2(const double e, double& cs, double& eta);
36
37 bool PhotoAbsorptionCsMethane(const double e, double& cs, double& eta);
38 bool PhotoAbsorptionCsEthane(const double e, double& cs, double& eta);
39 bool PhotoAbsorptionCsButane(const double e, double& cs, double& eta);
40 bool PhotoAbsorptionCsAcetylene(const double e, double& cs, double& eta);
41 bool PhotoAbsorptionCsCF4(const double e, double& cs, double& eta);
42
43 bool PhotoAbsorptionCsNitrogen(const double e, double& cs, double& eta);
44};
45}
46
47#endif
Photoabsorption cross-sections for some gases.
Definition: OpticalData.hh:11
~OpticalData()
Destructor.
Definition: OpticalData.hh:16
bool GetPhotoabsorptionCrossSection(const std::string &material, const double e, double &cs, double &eta)
Photo-absorption cross-section and ionisation yield at a given energy.
Definition: OpticalData.cc:46
bool IsAvailable(const std::string &material) const
Check whether optical data have been implemented for a given gas.
Definition: OpticalData.cc:39
OpticalData()
Constructor.
Definition: OpticalData.cc:37
void EnableDebugging(const bool on=true)
Definition: OpticalData.hh:24