1#ifndef G_TRACK_ELECTRON
2#define G_TRACK_ELECTRON
20 virtual void SetParticle(
const std::string& particle);
22 virtual bool NewTrack(
const double x0,
const double y0,
const double z0,
23 const double t0,
const double dx0,
const double dy0,
26 virtual bool GetCluster(
double& xcls,
double& ycls,
double& zcls,
27 double& tcls,
int& ncls,
double& ecls,
double& extra);
36 double m_x = 0., m_y = 0., m_z = 0., m_t = 0.;
37 double m_dx = 0., m_dy = 0., m_dz = 1.;
47 double x0Dens, x1Dens;
57 std::vector<component> m_components;
64 std::vector<electron> m_electrons;
67 std::string m_mediumName =
"";
69 double m_mediumDensity = 0.;
73 bool SetupGas(Medium* gas);
74 bool UpdateCrossSection();
Ionization calculation based on MIP program (S. Biagi).
virtual void SetParticle(const std::string &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.