Garfield++ 3.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include <particle_def.h>
Public Member Functions | |
particle_def () | |
particle_def (const std::string &fname, const std::string &fnotation, double fmass, double fcharge, int flepton_n, int fbarion_n, float fspin, const spin_def &fisospin) | |
particle_def (const std::string &fname, const std::string &fnotation, double fmass, double fcharge, int flepton_n, int fbarion_n, float fspin, float fisospin_total, float fisospin_proj) | |
particle_def (const particle_def &f) | |
particle_def | anti_particle (const particle_def &p) |
Function for making an anti-particle. | |
particle_def (const std::string &fname, const std::string &fnotation, particle_def &p) | |
Create anti-particle through the call of anti_particle(p) | |
~particle_def () | |
void | print (std::ostream &file, int l) const |
void | set_mass (const double m) |
void | set_charge (const double z) |
void | verify () |
Check that there is no particle with the same name in the container. | |
Static Public Member Functions | |
static void | printall (std::ostream &file) |
static std::list< particle_def * > & | get_logbook () |
static const std::list< particle_def * > & | get_const_logbook () |
static particle_def * | get_particle_def (const std::string &fnotation) |
Public Attributes | |
std::string | name = "none" |
std::string | notation = "none" |
Short name to make data summary files short. | |
double | mass = 0. |
double | charge = 0. |
int | lepton_n = 0 |
int | baryon_n = 0 |
float | spin = 0. |
spin_def | isospin |
Definition of particles. Only the basic information: the name, the notation, the mass, the charge, and other auxiliary data.
The organization is similar to AtomDef from directory matter, with the exception that the internal data are not declared as private. Of course, the user should not change them.
The principle of definitions of particles is dictionary or a database: the particles are not repeated, each particle is presented in the total system no more than one time. The system knows each particle presented in it. The particle characteristics can be obtained by literal notation. The system declines the secondary initialization. The copying is not declined. When the user program wants to refer to particle, it has to use either char* (string) notation, or pointer (or reference) to one of these objects. The user pogram can initialize the new particles. The standard particles are initiated right here, below.
1999 - 2004, I. Smirnov
Definition at line 42 of file particle_def.h.
|
inline |
Definition at line 54 of file particle_def.h.
Referenced by anti_particle(), and particle_def().
Heed::particle_def::particle_def | ( | const std::string & | fname, |
const std::string & | fnotation, | ||
double | fmass, | ||
double | fcharge, | ||
int | flepton_n, | ||
int | fbarion_n, | ||
float | fspin, | ||
const spin_def & | fisospin | ||
) |
Definition at line 78 of file particle_def.cpp.
|
inline |
Definition at line 60 of file particle_def.h.
|
inline |
Definition at line 67 of file particle_def.h.
Heed::particle_def::particle_def | ( | const std::string & | fname, |
const std::string & | fnotation, | ||
particle_def & | p | ||
) |
Create anti-particle through the call of anti_particle(p)
Definition at line 94 of file particle_def.cpp.
|
inline |
Definition at line 79 of file particle_def.h.
particle_def Heed::particle_def::anti_particle | ( | const particle_def & | p | ) |
Function for making an anti-particle.
Definition at line 106 of file particle_def.cpp.
Referenced by particle_def().
|
static |
Definition at line 117 of file particle_def.cpp.
|
static |
Initialize the logbook at the first request and keep it as internal static variable.
Definition at line 112 of file particle_def.cpp.
Referenced by get_const_logbook(), get_particle_def(), particle_def(), Heed::particle_type::particle_type(), printall(), and ~particle_def().
|
static |
Return the address of particle with this name if it is registered in system, or NULL otherwise.
Definition at line 121 of file particle_def.cpp.
void Heed::particle_def::print | ( | std::ostream & | file, |
int | l | ||
) | const |
Definition at line 133 of file particle_def.cpp.
|
static |
Definition at line 136 of file particle_def.cpp.
void Heed::particle_def::set_charge | ( | const double | z | ) |
void Heed::particle_def::set_mass | ( | const double | m | ) |
Definition at line 129 of file particle_def.cpp.
Referenced by Garfield::TrackHeed::NewTrack().
|
inline |
Check that there is no particle with the same name in the container.
Definition at line 95 of file particle_def.h.
Referenced by particle_def().
int Heed::particle_def::baryon_n = 0 |
Definition at line 51 of file particle_def.h.
Referenced by anti_particle(), Heed::operator<<(), and particle_def().
double Heed::particle_def::charge = 0. |
Definition at line 48 of file particle_def.h.
Referenced by anti_particle(), Heed::eparticle::force(), Heed::operator<<(), particle_def(), and set_charge().
spin_def Heed::particle_def::isospin |
Definition at line 53 of file particle_def.h.
Referenced by anti_particle(), Heed::operator<<(), and particle_def().
int Heed::particle_def::lepton_n = 0 |
Definition at line 50 of file particle_def.h.
Referenced by anti_particle(), Heed::operator<<(), and particle_def().
double Heed::particle_def::mass = 0. |
Definition at line 47 of file particle_def.h.
Referenced by anti_particle(), Heed::operator<<(), particle_def(), Heed::HeedParticle::physics(), Heed::HeedParticle_BGM::physics(), and set_mass().
std::string Heed::particle_def::name = "none" |
Definition at line 44 of file particle_def.h.
Referenced by anti_particle(), Heed::operator<<(), and particle_def().
std::string Heed::particle_def::notation = "none" |
Short name to make data summary files short.
Definition at line 46 of file particle_def.h.
Referenced by anti_particle(), Heed::operator<<(), particle_def(), and Heed::particle_type::print_notation().
float Heed::particle_def::spin = 0. |
Definition at line 52 of file particle_def.h.
Referenced by anti_particle(), Heed::operator<<(), and particle_def().