1#ifndef G_TRACK_ELECTRON
2#define G_TRACK_ELECTRON
21 virtual void SetParticle(
const std::string& particle);
23 virtual bool NewTrack(
const double x0,
const double y0,
const double z0,
24 const double t0,
const double dx0,
const double dy0,
27 virtual bool GetCluster(
double& xcls,
double& ycls,
double& zcls,
double& tcls,
28 int& ncls,
double& ecls,
double& extra);
37 double m_x, m_y, m_z, m_t;
38 double m_dx, m_dy, m_dz;
48 double x0Dens, x1Dens;
58 std::vector<component> m_components;
65 std::vector<electron> m_electrons;
68 std::string m_mediumName;
70 double m_mediumDensity;
74 bool SetupGas(Medium* gas);
75 bool UpdateCrossSection();
Ionization calculation based on MIP program (S. Biagi).
virtual void SetParticle(const std::string &particle)
Set the type of particle.
virtual double GetClusterDensity()
virtual bool NewTrack(const double x0, const double y0, const double z0, const double t0, const double dx0, const double dy0, const double dz0)
virtual bool GetCluster(double &xcls, double &ycls, double &zcls, double &tcls, int &ncls, double &ecls, double &extra)
virtual double GetStoppingPower()
Get the stopping power (mean energy loss [eV] per cm).
Abstract base class for track generation.