19 Track(
const std::string& name);
43 void SetBeta(
const double beta);
74 virtual bool NewTrack(
const double x0,
const double y0,
const double z0,
75 const double t0,
const double dx0,
const double dy0,
76 const double dz0) = 0;
84 virtual bool GetCluster(
double& xc,
double& yc,
double& zc,
double& tc,
85 int& nc,
double& ec,
double& extra) = 0;
123 void PlotNewTrack(
const double x0,
const double y0,
const double z0);
124 void PlotCluster(
const double x0,
const double y0,
const double z0);
126 static std::array<double, 3>
StepBfield(
const double dt,
const double qoverm,
127 const double vmag,
double bx,
double by,
double bz,
128 std::array<double, 3>& dir);
double GetMass() const
Get the mass [eV / c2] of the projectile.
double GetKineticEnergy() const
Return the kinetic energy of the projectile.
void DisablePlotting()
Switch off plotting.
double GetEnergy() const
Return the particle energy.
double GetBetaGamma() const
Return the of the projectile.
void EnablePlotting(ViewDrift *viewer)
Switch on plotting.
void SetBetaGamma(const double bg)
Set the relative momentum of the particle.
double GetBeta() const
Return the speed ( ) of the projectile.
double GetGamma() const
Return the Lorentz factor of the projectile.
double GetCharge() const
Get the charge of the projectile.
virtual double GetClusterDensity()
void SetSensor(Sensor *s)
Set the sensor through which to transport the particle.
void SetKineticEnergy(const double ekin)
Set the kinetic energy of the particle.
virtual ~Track()
Destructor.
static std::array< double, 3 > StepBfield(const double dt, const double qoverm, const double vmag, double bx, double by, double bz, std::array< double, 3 > &dir)
void SetMomentum(const double p)
Set the particle momentum.
virtual void SetParticle(const std::string &part)
void EnableDebugging()
Switch on debugging messages.
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.
virtual bool GetCluster(double &xc, double &yc, double &zc, double &tc, int &nc, double &ec, double &extra)=0
Track()=delete
Default constructor.
void SetBeta(const double beta)
Set the speed ( ) of the particle.
double GetMomentum() const
Return the particle momentum.
virtual double GetStoppingPower()
Get the stopping power (mean energy loss [eV] per cm).
void DisableDebugging()
Switch off debugging messages.
void PlotNewTrack(const double x0, const double y0, const double z0)
Visualize drift lines and tracks.