Garfield++ 4.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include <HeedMatterDef.h>
Public Member Functions | |
HeedMatterDef ()=default | |
Default constructor. | |
HeedMatterDef (EnergyMesh *fenergy_mesh, MatterDef *amatter, const std::vector< AtomPhotoAbsCS * > &faapacs, double fW=0.0, double fF=standard_factor_Fano) | |
HeedMatterDef (EnergyMesh *fenergy_mesh, GasDef *agas, const std::vector< MolecPhotoAbsCS * > &fampacs, double fW=0.0, double fF=standard_factor_Fano) | |
HeedMatterDef (EnergyMesh *fenergy_mesh, const std::string &gas_notation, const std::vector< MolecPhotoAbsCS * > &fampacs, double fW=0.0, double fF=standard_factor_Fano) | |
void | replace_epsi12 (const std::string &file_name) |
void | print (std::ostream &file, int l) const |
HeedMatterDef * | copy () const |
Public Attributes | |
MatterDef * | matter = nullptr |
std::vector< const AtomPhotoAbsCS * > | apacs |
double | eldens_cm_3 = 0. |
Electron density cm**-3. | |
double | eldens = 0. |
Electron density MeV**3. | |
double | xeldens = 0. |
Long. electron density MeV**2/cm (for x=1 cm). | |
double | wpla = 0. |
Squared plasma energy;. | |
double | radiation_length = 0. |
Radiation Length. | |
double | Rutherford_const = 0. |
Const for Rutherford cross section (1/cm3). | |
double | W = 0. |
Mean work per pair production, MeV. | |
double | F = 0. |
Fano factor. | |
EnergyMesh * | energy_mesh = nullptr |
std::vector< double > | ACS |
Photoabsorption cross section per one atom(Mb). | |
std::vector< double > | ICS |
std::vector< double > | epsip |
Some plasma dielectric constant (not used, but just initialized for print) | |
std::vector< double > | epsi1 |
Real part of dielectric constant (e_1 - 1). | |
std::vector< double > | epsi2 |
Imaginary part of dielectric constant. | |
double | min_ioniz_pot = 0. |
Static Public Attributes | |
static constexpr int | s_use_mixture_thresholds = 0 |
Definition of matter parameters necessary for HEED. This is photoabsorption cross section, dielectric constant and other parameters related to these. All the parameters depending on energy are kept in arrays associated with specific energy mesh, which should be defined.
The principle is ordinary: definition of just a class. To the contrary with wcpplib/matter, there is no any global "database" and no formal ban to duplicate these definitions (although there would not be sense in duplication).
Definition at line 26 of file HeedMatterDef.h.
|
default |
Default constructor.
Referenced by copy().
Heed::HeedMatterDef::HeedMatterDef | ( | EnergyMesh * | fenergy_mesh, |
MatterDef * | amatter, | ||
const std::vector< AtomPhotoAbsCS * > & | faapacs, | ||
double | fW = 0.0 , |
||
double | fF = standard_factor_Fano |
||
) |
Constructor. If fW == 0.0, the program takes mean W from molecules for gas or from atoms for matters. If fF is input as 0.0, it is assigned to be mean for gas. For matters this is the terminating error.
Definition at line 19 of file HeedMatterDef.cpp.
Heed::HeedMatterDef::HeedMatterDef | ( | EnergyMesh * | fenergy_mesh, |
GasDef * | agas, | ||
const std::vector< MolecPhotoAbsCS * > & | fampacs, | ||
double | fW = 0.0 , |
||
double | fF = standard_factor_Fano |
||
) |
Definition at line 54 of file HeedMatterDef.cpp.
Heed::HeedMatterDef::HeedMatterDef | ( | EnergyMesh * | fenergy_mesh, |
const std::string & | gas_notation, | ||
const std::vector< MolecPhotoAbsCS * > & | fampacs, | ||
double | fW = 0.0 , |
||
double | fF = standard_factor_Fano |
||
) |
Definition at line 113 of file HeedMatterDef.cpp.
|
inline |
Definition at line 82 of file HeedMatterDef.h.
void Heed::HeedMatterDef::print | ( | std::ostream & | file, |
int | l | ||
) | const |
Definition at line 354 of file HeedMatterDef.cpp.
Referenced by Heed::EnTransfCS::print(), and Heed::EnTransfCS_BGM::print().
void Heed::HeedMatterDef::replace_epsi12 | ( | const std::string & | file_name | ) |
Definition at line 304 of file HeedMatterDef.cpp.
std::vector<double> Heed::HeedMatterDef::ACS |
Photoabsorption cross section per one atom(Mb).
Definition at line 43 of file HeedMatterDef.h.
Referenced by Heed::EnTransfCS::EnTransfCS(), and print().
std::vector<const AtomPhotoAbsCS*> Heed::HeedMatterDef::apacs |
Definition at line 29 of file HeedMatterDef.h.
Referenced by Heed::EnTransfCS::EnTransfCS(), HeedMatterDef(), Heed::HeedParticle::physics(), Heed::HeedParticle_BGM::physics(), Heed::HeedPhoton::physics(), Heed::HeedPhoton::physics_after_new_speed(), Heed::EnTransfCS::print(), and print().
double Heed::HeedMatterDef::eldens = 0. |
Electron density MeV**3.
Definition at line 32 of file HeedMatterDef.h.
Referenced by Heed::EnTransfCS::EnTransfCS(), and print().
double Heed::HeedMatterDef::eldens_cm_3 = 0. |
EnergyMesh* Heed::HeedMatterDef::energy_mesh = nullptr |
Definition at line 39 of file HeedMatterDef.h.
Referenced by Heed::EnTransfCS::EnTransfCS(), Heed::HeedDeltaElectronCS::HeedDeltaElectronCS(), Heed::HeedParticle::physics(), Heed::HeedParticle_BGM::physics(), Heed::EnTransfCS::print(), Heed::HeedDeltaElectronCS::print(), print(), and replace_epsi12().
std::vector<double> Heed::HeedMatterDef::epsi1 |
Real part of dielectric constant (e_1 - 1).
Definition at line 50 of file HeedMatterDef.h.
Referenced by Heed::EnTransfCS::EnTransfCS(), print(), and replace_epsi12().
std::vector<double> Heed::HeedMatterDef::epsi2 |
Imaginary part of dielectric constant.
Definition at line 52 of file HeedMatterDef.h.
Referenced by Heed::EnTransfCS::EnTransfCS(), print(), and replace_epsi12().
std::vector<double> Heed::HeedMatterDef::epsip |
Some plasma dielectric constant (not used, but just initialized for print)
Definition at line 48 of file HeedMatterDef.h.
Referenced by print().
double Heed::HeedMatterDef::F = 0. |
Fano factor.
Definition at line 38 of file HeedMatterDef.h.
Referenced by HeedMatterDef(), and print().
std::vector<double> Heed::HeedMatterDef::ICS |
Photoionization cross section per one atom(Mb).
Definition at line 44 of file HeedMatterDef.h.
Referenced by print().
MatterDef* Heed::HeedMatterDef::matter = nullptr |
Definition at line 28 of file HeedMatterDef.h.
Referenced by Heed::EnTransfCS::EnTransfCS(), Heed::HeedDeltaElectronCS::HeedDeltaElectronCS(), HeedMatterDef(), Heed::HeedParticle::physics(), Heed::HeedParticle_BGM::physics(), Heed::HeedPhoton::physics(), Heed::EnTransfCS::print(), and print().
double Heed::HeedMatterDef::min_ioniz_pot = 0. |
Minimum ionization potential. It is used only for switching off the Cherenkov radiation below it.
Definition at line 55 of file HeedMatterDef.h.
Referenced by Heed::EnTransfCS::EnTransfCS(), and print().
double Heed::HeedMatterDef::radiation_length = 0. |
Radiation Length.
Definition at line 35 of file HeedMatterDef.h.
Referenced by Heed::HeedDeltaElectronCS::HeedDeltaElectronCS(), and print().
double Heed::HeedMatterDef::Rutherford_const = 0. |
Const for Rutherford cross section (1/cm3).
Definition at line 36 of file HeedMatterDef.h.
Referenced by Heed::HeedDeltaElectronCS::HeedDeltaElectronCS(), and print().
|
staticconstexpr |
Flag affecting mixtures of atoms with different ionization potentials. If 1, all energy transfers what is absorbed even with the energy less than the potential of ionization of single atom, but more than the minimal potential of ionization of the mixture, should ionize. This is emulation of Jesse effect in extreme case. It is likely not realistic. So the recommended value is 0.
Definition at line 90 of file HeedMatterDef.h.
Referenced by Heed::EnTransfCS::EnTransfCS().
double Heed::HeedMatterDef::W = 0. |
Mean work per pair production, MeV.
Definition at line 37 of file HeedMatterDef.h.
Referenced by HeedMatterDef(), and print().
double Heed::HeedMatterDef::wpla = 0. |
double Heed::HeedMatterDef::xeldens = 0. |
Long. electron density MeV**2/cm (for x=1 cm).
Definition at line 33 of file HeedMatterDef.h.
Referenced by Heed::EnTransfCS::EnTransfCS(), and print().