30 void SetBeta(
const double beta);
54 virtual bool NewTrack(
const double x0,
const double y0,
const double z0,
55 const double t0,
const double dx0,
const double dy0,
56 const double dz0) = 0;
64 virtual bool GetCluster(
double& xcls,
double& ycls,
double& zcls,
65 double& tcls,
int& n,
double& e,
double& extra) = 0;
100 void PlotNewTrack(
const double x0,
const double y0,
const double z0);
101 void PlotCluster(
const double x0,
const double y0,
const double z0);
Abstract base class for track generation.
double GetMass() const
Get the mass [eV / c2] of the projectile.
double GetKineticEnergy() const
double GetBetaGamma() const
void EnablePlotting(ViewDrift *viewer)
void SetBetaGamma(const double bg)
Set the relative momentum of the particle.
double GetCharge() const
Get the charge of the projectile.
virtual double GetClusterDensity()
void SetSensor(Sensor *s)
void SetKineticEnergy(const double ekin)
Set the kinetic energy of the particle.
virtual ~Track()
Destructor.
void SetMomentum(const double p)
Set the particle momentum.
virtual void SetParticle(const std::string &part)
Set the type of particle.
std::string m_particleName
void PlotCluster(const double x0, const double y0, const double z0)
virtual bool NewTrack(const double x0, const double y0, const double z0, const double t0, const double dx0, const double dy0, const double dz0)=0
void SetEnergy(const double e)
Set the particle energy.
void SetGamma(const double gamma)
Set the Lorentz factor of the particle.
void SetBeta(const double beta)
Set the speed ( ) of the particle.
double GetMomentum() const
virtual double GetStoppingPower()
Get the stopping power (mean energy loss [eV] per cm).
void PlotNewTrack(const double x0, const double y0, const double z0)
virtual bool GetCluster(double &xcls, double &ycls, double &zcls, double &tcls, int &n, double &e, double &extra)=0
Visualize drift lines and tracks.