Garfield++ v2r0
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 constructor. | |
HeedMatterDef (EnergyMesh *fenergy_mesh, MatterDef *amatter, AtomPhotoAbsCS *faapacs[], double fW=0.0, double fF=standard_factor_Fano) | |
HeedMatterDef (EnergyMesh *fenergy_mesh, GasDef *agas, MolecPhotoAbsCS *fampacs[], double fW=0.0, double fF=standard_factor_Fano) | |
HeedMatterDef (EnergyMesh *fenergy_mesh, const std::string &gas_notation, MolecPhotoAbsCS *fampacs[], double fW=0.0, double fF=standard_factor_Fano) | |
void | replace_epsi12 (const std::string &file_name) |
virtual void | print (std::ostream &file, int l) const |
virtual HeedMatterDef * | copy () const |
Public Member Functions inherited from Heed::RegPassivePtr | |
RegPassivePtr (void) | |
RegPassivePtr (char fs_ban_del, char fs_ban_sub, char fs_ban_cop=0) | |
RegPassivePtr (const RegPassivePtr &f) | |
RegPassivePtr & | operator= (const RegPassivePtr &f) |
CountPP_ns::CountPassivePtr * | book (void) const |
void | clear_pointers (void) const |
virtual RegPassivePtr * | copy () const |
virtual | ~RegPassivePtr () |
virtual void | print (std::ostream &file, int l=1) const |
void | set_s_ban_del (char fs_ban_del) |
char | get_s_ban_del (void) const |
void | set_s_ban_sub (char fs_ban_sub) |
char | get_s_ban_sub (void) const |
void | set_s_ban_cop (char fs_ban_cop) |
char | get_s_ban_cop (void) const |
void | set_s_allow_del_at_zero_count (char fs_allow_del_at_zero_count) |
char | get_s_allow_del_at_zero_count (void) const |
long | get_total_number_of_references (void) const |
Public Attributes | |
PassivePtr< MatterDef > | matter |
std::vector< PassivePtr< const AtomPhotoAbsCS > > | apacs |
double | eldens_cm_3 |
Electron density cm**-3. | |
double | eldens |
Electron density MeV**3. | |
double | xeldens |
Long. electron density MeV**2/cm (for x=1 cm). | |
double | wpla |
Squared plasma energy;. | |
double | radiation_length |
Radiation Length. | |
double | Rutherford_const |
Const for Rutherford cross section (1/cm3). | |
double | W |
Mean work per pair production, MeV. | |
double | F |
Fano factor. | |
PassivePtr< EnergyMesh > | energy_mesh |
std::vector< double > | ACS |
Photoabsorbtion 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 |
Static Public Attributes | |
static const int | s_use_mixture_thresholds = 0 |
Additional Inherited Members | |
Static Public Member Functions inherited from Heed::RegPassivePtr | |
static void | set_s_ban_del_ignore (char fs_ban_del_ignore) |
static char | get_s_ban_del_ignore (void) |
static void | set_s_print_adr_cpp (char fs_print_adr_cpp) |
static char | get_s_print_adr_cpp (void) |
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 27 of file HeedMatterDef.h.
Heed::HeedMatterDef::HeedMatterDef | ( | ) |
Default constructor.
Definition at line 19 of file HeedMatterDef.cpp.
Referenced by copy().
Heed::HeedMatterDef::HeedMatterDef | ( | EnergyMesh * | fenergy_mesh, |
MatterDef * | amatter, | ||
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 29 of file HeedMatterDef.cpp.
Heed::HeedMatterDef::HeedMatterDef | ( | EnergyMesh * | fenergy_mesh, |
GasDef * | agas, | ||
MolecPhotoAbsCS * | fampacs[], | ||
double | fW = 0.0 , |
||
double | fF = standard_factor_Fano |
||
) |
Definition at line 63 of file HeedMatterDef.cpp.
Heed::HeedMatterDef::HeedMatterDef | ( | EnergyMesh * | fenergy_mesh, |
const std::string & | gas_notation, | ||
MolecPhotoAbsCS * | fampacs[], | ||
double | fW = 0.0 , |
||
double | fF = standard_factor_Fano |
||
) |
Definition at line 121 of file HeedMatterDef.cpp.
|
inlinevirtual |
Reimplemented from Heed::RegPassivePtr.
Definition at line 84 of file HeedMatterDef.h.
|
virtual |
Reimplemented from Heed::RegPassivePtr.
Definition at line 361 of file HeedMatterDef.cpp.
void Heed::HeedMatterDef::replace_epsi12 | ( | const std::string & | file_name | ) |
Definition at line 311 of file HeedMatterDef.cpp.
std::vector<double> Heed::HeedMatterDef::ACS |
Photoabsorbtion cross section per one atom(Mb).
Definition at line 44 of file HeedMatterDef.h.
Referenced by print().
std::vector<PassivePtr<const AtomPhotoAbsCS> > Heed::HeedMatterDef::apacs |
Definition at line 30 of file HeedMatterDef.h.
Referenced by HeedMatterDef(), Heed::HeedParticle::physics(), Heed::HeedParticle_BGM::physics(), Heed::HeedPhoton::physics(), Heed::HeedPhoton::physics_after_new_speed(), and print().
double Heed::HeedMatterDef::eldens |
double Heed::HeedMatterDef::eldens_cm_3 |
PassivePtr<EnergyMesh> Heed::HeedMatterDef::energy_mesh |
Definition at line 40 of file HeedMatterDef.h.
Referenced by Heed::HeedParticle::physics(), Heed::HeedParticle_BGM::physics(), print(), and replace_epsi12().
std::vector<double> Heed::HeedMatterDef::epsi1 |
Real part of dielectric constant (e_1 - 1).
Definition at line 51 of file HeedMatterDef.h.
Referenced by print(), and replace_epsi12().
std::vector<double> Heed::HeedMatterDef::epsi2 |
Imaginary part of dielectric constant.
Definition at line 53 of file HeedMatterDef.h.
Referenced by print(), and replace_epsi12().
std::vector<double> Heed::HeedMatterDef::epsip |
Some plasma dielectric constant (not used, but just initialized for print)
Definition at line 49 of file HeedMatterDef.h.
Referenced by print().
double Heed::HeedMatterDef::F |
Fano factor.
Definition at line 39 of file HeedMatterDef.h.
Referenced by Garfield::TrackHeed::GetFanoFactor(), HeedMatterDef(), and print().
std::vector<double> Heed::HeedMatterDef::ICS |
Photoionization cross section per one atom(Mb).
Definition at line 45 of file HeedMatterDef.h.
Referenced by print().
PassivePtr<MatterDef> Heed::HeedMatterDef::matter |
Definition at line 29 of file HeedMatterDef.h.
Referenced by HeedMatterDef(), Heed::HeedParticle::physics(), Heed::HeedParticle_BGM::physics(), Heed::HeedPhoton::physics(), and print().
double Heed::HeedMatterDef::min_ioniz_pot |
Minimum ionization potential. It is used only for switching off the Cherenkov radiation below it.
Definition at line 56 of file HeedMatterDef.h.
Referenced by print().
double Heed::HeedMatterDef::radiation_length |
double Heed::HeedMatterDef::Rutherford_const |
Const for Rutherford cross section (1/cm3).
Definition at line 37 of file HeedMatterDef.h.
Referenced by print().
|
static |
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 92 of file HeedMatterDef.h.
double Heed::HeedMatterDef::W |
Mean work per pair production, MeV.
Definition at line 38 of file HeedMatterDef.h.
Referenced by Garfield::TrackHeed::GetW(), HeedMatterDef(), and print().
double Heed::HeedMatterDef::wpla |
double Heed::HeedMatterDef::xeldens |
Long. electron density MeV**2/cm (for x=1 cm).
Definition at line 34 of file HeedMatterDef.h.
Referenced by print().