19 bool IsGas()
const {
return true; }
23 const std::string gas2 =
"",
const double f2 = 0.,
24 const std::string gas3 =
"",
const double f3 = 0.,
25 const std::string gas4 =
"",
const double f4 = 0.,
26 const std::string gas5 =
"",
const double f5 = 0.,
27 const std::string gas6 =
"",
const double f6 = 0.);
29 void GetComposition(std::string& gas1,
double& f1, std::string& gas2,
30 double& f2, std::string& gas3,
double& f3,
31 std::string& gas4,
double& f4, std::string& gas5,
32 double& f5, std::string& gas6,
double& f6);
33 void GetComponent(
const unsigned int& i, std::string& label,
double& f);
52 const std::string extrHigh);
54 const std::string extrHigh);
79 const unsigned int& i);
109 std::vector<std::vector<std::vector<std::vector<double> > > >
tabExcRates;
110 std::vector<std::vector<std::vector<std::vector<double> > > >
tabIonRates;
136 bool GetGasInfo(
const std::string gasname,
double& a,
double& z)
const;
137 bool GetGasName(
const int gasnumber,
const int version, std::string& gasname);
138 bool GetGasName(std::string input, std::string& gasname)
const;
DoubleAc sqrt(const DoubleAc &f)
double ScaleDiffusionTensor(const double &d) const
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)
double ScaleDiffusion(const double &d) const
double ScaleElectricField(const double &e) const
std::vector< ionListElement > ionisationList
void SetAtomicNumber(const double &z)
std::vector< std::vector< std::vector< std::vector< double > > > > tabIonRates
double GetMassDensity() const
bool GetGasInfo(const std::string gasname, double &a, double &z) const
bool LoadIonMobility(const std::string &filename)
bool GetGasName(const int gasnumber, const int version, std::string &gasname)
void SetMassDensity(const double &rho)
std::vector< std::vector< std::vector< double > > > tabTownsendNoPenning
void SetNumberDensity(const double &n)
void SetExtrapolationMethodExcitationRates(const std::string extrLow, const std::string extrHigh)
double lambdaPenningGas[m_nMaxGases]
double lambdaPenningGlobal
double fraction[m_nMaxGases]
double ScaleAttachment(const double &eta) const
std::vector< std::vector< std::vector< std::vector< double > > > > tabExcRates
unsigned int m_intpExcRates
unsigned int m_extrHighExcRates
std::string gas[m_nMaxGases]
static const unsigned int m_nMaxGases
bool WriteGasFile(const std::string &filename)
void GetComponent(const unsigned int &i, std::string &label, double &f)
bool GetGasNumberGasFile(const std::string input, int &number) const
void SetExtrapolationMethodIonisationRates(const std::string extrLow, const std::string extrHigh)
void SetAtomicWeight(const double &a)
double GetAtomicNumber() const
double ScaleTownsend(const double &alpha) const
double rPenningGas[m_nMaxGases]
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 atNum[m_nMaxGases]
double UnScaleElectricField(const double &e) const
void SetInterpolationMethodIonisationRates(const int intrp)
bool GetPhotoabsorptionCrossSection(const double &e, double &sigma, const unsigned int &i)
std::vector< excListElement > excitationList
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
double atWeight[m_nMaxGases]