ATLAS Offline Software
TRT_PAI_effectiveGas.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRT_PAI_effectiveGas_h
6 #define TRT_PAI_effectiveGas_h
7 
9 
10 #include <vector>
11 
12 class TRT_PAI_gasMixture;
13 
19 public:
29  double Emin,
30  double Emax,
31  double tempK,
32  double eps);
41  void GasTab(const std::vector<float> & gamvec,
42  std::vector<float>& EArray,
43  std::vector< std::vector<float> >& fnArray,
44  std::vector<float>& dndx);
45 
46 private:
47  double XSigma(double lnE, double dummy);
48  double XFReal(double lnD, double lnE);
49  double XGInt(double (TRT_PAI_effectiveGas::*pt2Func)(double,double),
50  double lnLo,
51  double lnHi,
52  const double eps,
53  double extraParameter);
54  double dndedx(double lgE, double gamma);
55  std::vector<float> m_lnELvls;
56  std::vector<float> m_lnFosc;
57  std::vector<float> m_lnIntegratedSigmas;
58  std::vector<float> m_lnEpsR;
59  std::vector<float> m_lnEpsI;
60  const double m_lnEmin;
61  const double m_lnEmax;
62  const double m_eps; // epsilon for numerical integration.
63  double m_S1 ; // x-section to F.osc
64  double m_Wp2; // plasma freq**2 {ev}
65  double m_S2 ; // dN/dx scale
66  double m_ne ; // Electron density
67 };
68 
69 #endif
TRT_PAI_effectiveGas::m_lnEmin
const double m_lnEmin
Definition: TRT_PAI_effectiveGas.h:60
TRT_PAI_effectiveGas::m_lnELvls
std::vector< float > m_lnELvls
Definition: TRT_PAI_effectiveGas.h:55
TRT_PAI_gasMixture
Gas mixture = mixture of gas components.
Definition: TRT_PAI_gasMixture.h:18
TRT_PAI_effectiveGas::XFReal
double XFReal(double lnD, double lnE)
Definition: TRT_PAI_effectiveGas.cxx:173
TRT_PAI_effectiveGas::m_lnEpsI
std::vector< float > m_lnEpsI
Definition: TRT_PAI_effectiveGas.h:59
TRT_PAI_effectiveGas::m_lnIntegratedSigmas
std::vector< float > m_lnIntegratedSigmas
Definition: TRT_PAI_effectiveGas.h:57
TRT_PAI_effectiveGas::m_S1
double m_S1
Definition: TRT_PAI_effectiveGas.h:63
TRT_PAI_effectiveGas::TRT_PAI_effectiveGas
TRT_PAI_effectiveGas(TRT_PAI_gasMixture *gm, double Emin, double Emax, double tempK, double eps)
Definition: TRT_PAI_effectiveGas.cxx:23
TRT_PAI_effectiveGas::GasTab
void GasTab(const std::vector< float > &gamvec, std::vector< float > &EArray, std::vector< std::vector< float > > &fnArray, std::vector< float > &dndx)
Tabulate double differential distribution.
Definition: TRT_PAI_effectiveGas.cxx:262
TRT_PAI_effectiveGas::m_ne
double m_ne
Definition: TRT_PAI_effectiveGas.h:66
TRT_PAI_effectiveGas::dndedx
double dndedx(double lgE, double gamma)
Definition: TRT_PAI_effectiveGas.cxx:237
TrigVtx::gamma
@ gamma
Definition: TrigParticleTable.h:26
GlobalVariables.Emin
Emin
Definition: GlobalVariables.py:184
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
python.xAODType.dummy
dummy
Definition: xAODType.py:4
TRT_PAI_effectiveGas::m_Wp2
double m_Wp2
Definition: TRT_PAI_effectiveGas.h:64
TRT_PAI_effectiveGas::m_eps
const double m_eps
Definition: TRT_PAI_effectiveGas.h:62
TRT_PAI_effectiveGas
Effective gas: All quantities necessary to calculate PAI ionisation for gas mixture.
Definition: TRT_PAI_effectiveGas.h:18
TRT_PAI_effectiveGas::XGInt
double XGInt(double(TRT_PAI_effectiveGas::*pt2Func)(double, double), double lnLo, double lnHi, const double eps, double extraParameter)
Definition: TRT_PAI_effectiveGas.cxx:193
TRT_PAI_effectiveGas::m_lnFosc
std::vector< float > m_lnFosc
Definition: TRT_PAI_effectiveGas.h:56
TRT_PAI_effectiveGas::m_lnEmax
const double m_lnEmax
Definition: TRT_PAI_effectiveGas.h:61
GlobalVariables.Emax
Emax
Definition: GlobalVariables.py:185
AthMessaging.h
TRT_PAI_effectiveGas::m_S2
double m_S2
Definition: TRT_PAI_effectiveGas.h:65
TRT_PAI_effectiveGas::m_lnEpsR
std::vector< float > m_lnEpsR
Definition: TRT_PAI_effectiveGas.h:58
TRT_PAI_effectiveGas::XSigma
double XSigma(double lnE, double dummy)
Definition: TRT_PAI_effectiveGas.cxx:161