1#ifndef G_TRACK_ELECTRON
2#define G_TRACK_ELECTRON
28 bool NewTrack(
const double x0,
const double y0,
const double z0,
29 const double t0,
const double dx0,
const double dy0,
30 const double dz0)
override;
62 static bool Setup(Medium* gas, std::vector<Parameters>& par,
63 std::vector<double>& frac);
64 static bool Update(
const double density,
const double beta2,
65 const std::vector<Parameters>& par,
66 const std::vector<double>& frac, std::vector<double>& prob,
67 double& mfp,
double& dedx);
static bool Setup(Medium *gas, std::vector< Parameters > &par, std::vector< double > &frac)
void SetParticle(const std::string &particle) override
Set the type of charged particle.
static double Esec(const double e0, const Parameters &par)
const std::vector< Cluster > & GetClusters() const
bool NewTrack(const double x0, const double y0, const double z0, const double t0, const double dx0, const double dy0, const double dz0) override
Calculate a new track starting from (x0, y0, z0) at time t0 in direction (dx0, dy0,...
double GetClusterDensity() override
Get the cluster density (number of ionizing collisions per cm or inverse mean free path for ionizatio...
static double Delta(const double x, const Parameters &par)
double GetStoppingPower() override
Get the stopping power (mean energy loss [eV] per cm).
static bool Update(const double density, const double beta2, const std::vector< Parameters > &par, const std::vector< double > &frac, std::vector< double > &prob, double &mfp, double &dedx)
virtual ~TrackElectron()
Destructor.
TrackElectron()
Constructor.
std::vector< Cluster > m_clusters
Track()=delete
Default constructor.