Garfield++ 3.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include <MatterDef.h>
Public Member Functions | |
MatterDef () | |
MatterDef (const std::string &fname, const std::string &fnotation, long fqatom, const std::vector< std::string > &fatom_not, const std::vector< double > &fweight_quan, double fdensity, double ftemperature) | |
MatterDef (const std::string &fname, const std::string &fnotation, const std::string &fatom_not, double fdensity, double ftemperature) | |
MatterDef (const std::string &fname, const std::string &fnotation, const std::string &fatom_not1, double fweight_quan1, const std::string &fatom_not2, double fweight_quan2, double fdensity, double ftemperature) | |
MatterDef (const std::string &fname, const std::string &fnotation, const std::string &fatom_not1, double fweight_quan1, const std::string &fatom_not2, double fweight_quan2, const std::string &fatom_not3, double fweight_quan3, double fdensity, double ftemperature) | |
virtual | ~MatterDef () |
const std::string & | name () const |
const std::string & | notation () const |
double | density () const |
double | temperature () const |
double | I_eff () const |
void | verify () |
Check that there is no matter with the same name in the container. | |
void | print (std::ostream &file, int l) const |
MatterDef * | copy () const |
Public Member Functions inherited from Heed::AtomMixDef | |
AtomMixDef ()=default | |
Default constructor. | |
AtomMixDef (unsigned long fqatom, const std::vector< std::string > &fatom_not, const std::vector< double > &fweight_quan) | |
AtomMixDef (unsigned long fqatom, const std::vector< std::string > &fatom_not, const std::vector< long > &fweight_quan) | |
AtomMixDef (const std::string &fatom_not) | |
AtomMixDef (const std::string &fatom_not1, double fweight_quan1, const std::string &fatom_not2, double fweight_quan2) | |
AtomMixDef (const std::string &fatom_not1, double fweight_quan1, const std::string &fatom_not2, double fweight_quan2, const std::string &fatom_not3, double fweight_quan3) | |
AtomMixDef (const std::string &fatom_not1, double fweight_quan1, const std::string &fatom_not2, double fweight_quan2, const std::string &fatom_not3, double fweight_quan3, const std::string &fatom_not4, double fweight_quan4) | |
void | print (std::ostream &file, int l) const |
long | qatom () const |
const std::vector< AtomDef * > & | atom () const |
AtomDef * | atom (long n) const |
const std::vector< double > & | weight_quan () const |
const std::vector< double > & | weight_mass () const |
double | weight_quan (long n) const |
double | weight_mass (long n) const |
double | Z_mean () const |
double | A_mean () const |
double | inv_A_mean () const |
double | mean_ratio_Z_to_A () const |
double | NumberOfElectronsInGram () const |
Static Public Member Functions | |
static void | printall (std::ostream &file) |
static void | verify (const std::string &fname, const std::string &fnotation) |
static std::list< MatterDef * > & | get_logbook () |
static const std::list< MatterDef * > & | get_const_logbook () |
static MatterDef * | get_MatterDef (const std::string &fnotation) |
Definition of matter (material or any media). Only the basic information: the name, the notation, the atomic mixture, temperature, density, effective ionization potential.
The principle of definitions of matters is the same as for atoms: a dictionary or a database. See details there. But the logbook is different, of course.
1998-2004 I. Smirnov
Definition at line 18 of file MatterDef.h.
Heed::MatterDef::MatterDef | ( | ) |
Definition at line 12 of file MatterDef.cpp.
Referenced by copy(), and Heed::GasDef::GasDef().
Heed::MatterDef::MatterDef | ( | const std::string & | fname, |
const std::string & | fnotation, | ||
long | fqatom, | ||
const std::vector< std::string > & | fatom_not, | ||
const std::vector< double > & | fweight_quan, | ||
double | fdensity, | ||
double | ftemperature | ||
) |
Definition at line 16 of file MatterDef.cpp.
Heed::MatterDef::MatterDef | ( | const std::string & | fname, |
const std::string & | fnotation, | ||
const std::string & | fatom_not, | ||
double | fdensity, | ||
double | ftemperature | ||
) |
Definition at line 31 of file MatterDef.cpp.
Heed::MatterDef::MatterDef | ( | const std::string & | fname, |
const std::string & | fnotation, | ||
const std::string & | fatom_not1, | ||
double | fweight_quan1, | ||
const std::string & | fatom_not2, | ||
double | fweight_quan2, | ||
double | fdensity, | ||
double | ftemperature | ||
) |
Definition at line 45 of file MatterDef.cpp.
Heed::MatterDef::MatterDef | ( | const std::string & | fname, |
const std::string & | fnotation, | ||
const std::string & | fatom_not1, | ||
double | fweight_quan1, | ||
const std::string & | fatom_not2, | ||
double | fweight_quan2, | ||
const std::string & | fatom_not3, | ||
double | fweight_quan3, | ||
double | fdensity, | ||
double | ftemperature | ||
) |
Definition at line 60 of file MatterDef.cpp.
|
virtual |
Definition at line 140 of file MatterDef.cpp.
|
inline |
Definition at line 66 of file MatterDef.h.
|
inline |
Definition at line 51 of file MatterDef.h.
Referenced by Heed::HeedDeltaElectronCS::HeedDeltaElectronCS(), Heed::operator<<(), and Heed::HeedPhoton::physics().
|
static |
Definition at line 116 of file MatterDef.cpp.
|
static |
Initialize the logbook at the first request and keep it as internal static variable.
Definition at line 111 of file MatterDef.cpp.
Referenced by get_const_logbook(), get_MatterDef(), MatterDef(), printall(), verify(), and ~MatterDef().
|
static |
Return the adress of the matter with this notation if it is registered. Otherwise return NULL.
Definition at line 120 of file MatterDef.cpp.
Referenced by Heed::HeedMatterDef::HeedMatterDef().
|
inline |
|
inline |
|
inline |
Definition at line 50 of file MatterDef.h.
Referenced by Heed::operator<<().
void Heed::MatterDef::print | ( | std::ostream & | file, |
int | l | ||
) | const |
Definition at line 100 of file MatterDef.cpp.
Referenced by Heed::HeedMatterDef::print().
|
static |
Definition at line 104 of file MatterDef.cpp.
|
inline |
Definition at line 52 of file MatterDef.h.
Referenced by Heed::operator<<().
void Heed::MatterDef::verify | ( | ) |
Check that there is no matter with the same name in the container.
Definition at line 77 of file MatterDef.cpp.
Referenced by Heed::GasDef::GasDef(), and MatterDef().
|
static |
Definition at line 89 of file MatterDef.cpp.