Garfield++ 3.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include <MoleculeDef.h>
Public Member Functions | |
const std::string & | name () const |
const std::string & | notation () const |
const std::vector< long > & | qatom_ps () const |
long | qatom_ps (long n) const |
long | Z_total () const |
double | A_total () const |
long | tqatom () const |
const std::shared_ptr< VanDerWaals > & | vdw () const |
MoleculeDef () | |
MoleculeDef (const std::string &fname, const std::string &fnotation, long fqatom, const std::vector< std::string > &fatom_not, const std::vector< long > &fqatom_ps, std::shared_ptr< VanDerWaals > fvdw={}) | |
MoleculeDef (const std::string &fname, const std::string &fnotation, const std::string &fatom_not, long fqatom_ps, std::shared_ptr< VanDerWaals > fvdw={}) | |
MoleculeDef (const std::string &fname, const std::string &fnotation, const std::string &fatom_not1, long fqatom_ps1, const std::string &fatom_not2, long fqatom_ps2, std::shared_ptr< VanDerWaals > fvdw={}) | |
MoleculeDef (const std::string &fname, const std::string &fnotation, const std::string &fatom_not1, long fqatom_ps1, const std::string &fatom_not2, long fqatom_ps2, const std::string &fatom_not3, long fqatom_ps3, std::shared_ptr< VanDerWaals > fvdw={}) | |
~MoleculeDef () | |
void | print (std::ostream &file, int l) const |
void | verify () |
Check that there is no molecule with the same name in the container. | |
MoleculeDef * | 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 std::list< MoleculeDef * > & | get_logbook () |
static const std::list< MoleculeDef * > & | get_const_logbook () |
static MoleculeDef * | get_MoleculeDef (const std::string &fnotation) |
Definition of molecule as a mixture of atoms. Only the basic information: the name, the notation, the mean charge and atomic weight and the parameters of mixture class.
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 50 of file MoleculeDef.h.
Heed::MoleculeDef::MoleculeDef | ( | ) |
Definition at line 62 of file MoleculeDef.cpp.
Referenced by copy().
Heed::MoleculeDef::MoleculeDef | ( | const std::string & | fname, |
const std::string & | fnotation, | ||
long | fqatom, | ||
const std::vector< std::string > & | fatom_not, | ||
const std::vector< long > & | fqatom_ps, | ||
std::shared_ptr< VanDerWaals > | fvdw = {} |
||
) |
Definition at line 66 of file MoleculeDef.cpp.
Heed::MoleculeDef::MoleculeDef | ( | const std::string & | fname, |
const std::string & | fnotation, | ||
const std::string & | fatom_not, | ||
long | fqatom_ps, | ||
std::shared_ptr< VanDerWaals > | fvdw = {} |
||
) |
Definition at line 87 of file MoleculeDef.cpp.
Heed::MoleculeDef::MoleculeDef | ( | const std::string & | fname, |
const std::string & | fnotation, | ||
const std::string & | fatom_not1, | ||
long | fqatom_ps1, | ||
const std::string & | fatom_not2, | ||
long | fqatom_ps2, | ||
std::shared_ptr< VanDerWaals > | fvdw = {} |
||
) |
Definition at line 104 of file MoleculeDef.cpp.
Heed::MoleculeDef::MoleculeDef | ( | const std::string & | fname, |
const std::string & | fnotation, | ||
const std::string & | fatom_not1, | ||
long | fqatom_ps1, | ||
const std::string & | fatom_not2, | ||
long | fqatom_ps2, | ||
const std::string & | fatom_not3, | ||
long | fqatom_ps3, | ||
std::shared_ptr< VanDerWaals > | fvdw = {} |
||
) |
Definition at line 127 of file MoleculeDef.cpp.
Heed::MoleculeDef::~MoleculeDef | ( | ) |
Definition at line 225 of file MoleculeDef.cpp.
|
inline |
Definition at line 71 of file MoleculeDef.h.
Referenced by Heed::operator<<().
|
inline |
Definition at line 106 of file MoleculeDef.h.
|
static |
Initialize the logbook at the first request and keep it as internal static variable.
Definition at line 180 of file MoleculeDef.cpp.
|
static |
Definition at line 175 of file MoleculeDef.cpp.
Referenced by get_const_logbook(), get_MoleculeDef(), MoleculeDef(), printall(), verify(), and ~MoleculeDef().
|
static |
Return the address of the molecule with this name. If there is no molecule with this notation, the function returns NULL but does not terminate the program as that for AtomDef. Be careful.
Definition at line 184 of file MoleculeDef.cpp.
Referenced by Heed::GasDef::GasDef().
|
inline |
|
inline |
Definition at line 67 of file MoleculeDef.h.
Referenced by Heed::operator<<().
void Heed::MoleculeDef::print | ( | std::ostream & | file, |
int | l | ||
) | const |
Definition at line 152 of file MoleculeDef.cpp.
|
static |
Definition at line 156 of file MoleculeDef.cpp.
|
inline |
Definition at line 68 of file MoleculeDef.h.
Referenced by Heed::operator<<().
|
inline |
Definition at line 69 of file MoleculeDef.h.
|
inline |
Definition at line 72 of file MoleculeDef.h.
Referenced by Heed::operator<<().
|
inline |
void Heed::MoleculeDef::verify | ( | ) |
Check that there is no molecule with the same name in the container.
Definition at line 163 of file MoleculeDef.cpp.
Referenced by MoleculeDef().
|
inline |
Definition at line 70 of file MoleculeDef.h.
Referenced by Heed::operator<<().