21 bool IsGas()
const {
return true; }
25 const std::string& gas2 =
"",
const double f2 = 0.,
26 const std::string& gas3 =
"",
const double f3 = 0.,
27 const std::string& gas4 =
"",
const double f4 = 0.,
28 const std::string& gas5 =
"",
const double f5 = 0.,
29 const std::string& gas6 =
"",
const double f6 = 0.);
31 void GetComposition(std::string& gas1,
double& f1, std::string& gas2,
32 double& f2, std::string& gas3,
double& f3,
33 std::string& gas4,
double& f4, std::string& gas5,
34 double& f5, std::string& gas6,
double& f6);
35 void GetComponent(
const unsigned int i, std::string& label,
double& f);
54 const std::string& extrHigh);
56 const std::string& extrHigh);
84 const unsigned int& i);
115 std::vector<std::vector<std::vector<std::vector<double> > > >
m_tabExcRates;
116 std::vector<std::vector<std::vector<std::vector<double> > > >
m_tabIonRates;
140 bool GetGasInfo(
const std::string& gasname,
double& a,
double& z)
const;
141 bool GetGasName(
const int gasnumber,
const int version, std::string& gasname);
142 bool GetGasName(std::string input, std::string& gasname)
const;
Base class for gas media.
void GetComponent(const unsigned int i, std::string &label, double &f)
void GetComposition(std::string &gas1, double &f1, std::string &gas2, double &f2, std::string &gas3, double &f3, std::string &gas4, double &f4, std::string &gas5, double &f5, std::string &gas6, double &f6)
std::vector< excListElement > m_excitationList
void SetAtomicNumber(const double z)
std::string m_gas[m_nMaxGases]
bool GetGasInfo(const std::string &gasname, double &a, double &z) const
double ScaleDiffusionTensor(const double d) const
double ScaleLorentzAngle(const double lor) const
void SetExtrapolationMethodExcitationRates(const std::string &extrLow, const std::string &extrHigh)
double GetMassDensity() const
double m_lambdaPenningGlobal
bool GetGasNumberGasFile(const std::string &input, int &number) const
double ScaleAttachment(const double eta) const
bool LoadIonMobility(const std::string &filename)
bool GetGasName(const int gasnumber, const int version, std::string &gasname)
double m_rPenningGas[m_nMaxGases]
double ScaleTownsend(const double alpha) const
double ScaleElectricField(const double e) const
double m_atNum[m_nMaxGases]
std::vector< std::vector< std::vector< double > > > m_tabTownsendNoPenning
double m_temperatureTable
double UnScaleElectricField(const double e) const
unsigned int m_intpExcRates
std::vector< std::vector< std::vector< std::vector< double > > > > m_tabIonRates
unsigned int m_extrHighExcRates
double m_atWeight[m_nMaxGases]
static const unsigned int m_nMaxGases
bool WriteGasFile(const std::string &filename)
double GetAtomicNumber() const
void SetNumberDensity(const double n)
bool SetComposition(const std::string &gas1, const double f1=1., const std::string &gas2="", const double f2=0., const std::string &gas3="", const double f3=0., const std::string &gas4="", const double f4=0., const std::string &gas5="", const double f5=0., const std::string &gas6="", const double f6=0.)
double ScaleDiffusion(const double d) const
void SetAtomicWeight(const double a)
void SetInterpolationMethodIonisationRates(const int intrp)
bool GetPhotoabsorptionCrossSection(const double &e, double &sigma, const unsigned int &i)
double m_fraction[m_nMaxGases]
double GetAtomicWeight() const
bool LoadGasFile(const std::string &filename)
unsigned int m_intpIonRates
unsigned int m_extrHighIonRates
void SetInterpolationMethodExcitationRates(const int intrp)
unsigned int m_extrLowIonRates
double GetNumberDensity() const
unsigned int m_extrLowExcRates
std::vector< ionListElement > m_ionisationList
std::vector< std::vector< std::vector< std::vector< double > > > > m_tabExcRates
double m_lambdaPenningGas[m_nMaxGases]
void SetExtrapolationMethodIonisationRates(const std::string &extrLow, const std::string &extrHigh)
void SetMassDensity(const double rho)
Abstract base class for media.