30#ifndef GarfieldPhysics_h
31#define GarfieldPhysics_h 1
48 double x_cm,
double y_cm,
double z_cm,
double dx,
double dy,
50 : fParticleName(particleName),
51 fEkin_MeV(ekin_eV / 1000000),
72 std::string fParticleName;
73 double fEkin_MeV, fTime, fx_mm, fy_mm, fz_mm, fdx, fdy, fdz;
83 void DoIt(std::string particleName,
double ekin_MeV,
double time,
double x_cm,
84 double y_cm,
double z_cm,
double dx,
double dy,
double dz);
86 void AddParticleName(
const std::string particleName,
double ekin_min_MeV,
87 double ekin_max_MeV, std::string program);
89 std::string program =
"garfield");
91 std::string program =
"garfield");
93 std::string program =
"garfield");
95 std::string program =
"garfield");
101 createSecondariesInGeant4 = flag;
104 return createSecondariesInGeant4;
120 std::string fIonizationModel;
130 std::vector<GarfieldParticle*>* fSecondaryParticles;
132 bool createSecondariesInGeant4;
133 double fEnergyDeposit;
134 double fAvalancheSize;
std::pair< double, double > EnergyRange_MeV
std::map< const std::string, EnergyRange_MeV > MapParticlesEnergy
std::string getParticleName()
GarfieldParticle(std::string particleName, double ekin_eV, double time, double x_cm, double y_cm, double z_cm, double dx, double dy, double dz)
double GetMaxEnergyMeVParticle(std::string name, std::string program="garfield")
bool GetCreateSecondariesInGeant4()
void DeleteSecondaryParticles()
static GarfieldPhysics * GetInstance()
std::vector< GarfieldParticle * > * GetSecondaryParticles()
void SetIonizationModel(std::string model, bool useDefaults=true)
double GetMinEnergyMeVParticle(std::string name, std::string program="garfield")
void AddParticleName(const std::string particleName, double ekin_min_MeV, double ekin_max_MeV, std::string program)
std::string GetIonizationModel()
double GetEnergyDeposit_MeV()
void DoIt(std::string particleName, double ekin_MeV, double time, double x_cm, double y_cm, double z_cm, double dx, double dy, double dz)
bool FindParticleNameEnergy(std::string name, double ekin_MeV, std::string program="garfield")
void EnableCreateSecondariesInGeant4(bool flag)
double GetAvalancheSize()
bool FindParticleName(const std::string name, std::string program="garfield")
Generate tracks using Heed++.