eic-smear
1.0.3
A collection of ROOT classes for Monte Carlo events and a fast-smearing code simulating detector effects for the Electron-Ion Collider task force
|
Go to the documentation of this file.
10 #ifndef INCLUDE_EICSMEAR_SMEAR_TRACKER_H_
11 #define INCLUDE_EICSMEAR_SMEAR_TRACKER_H_
21 class VirtualParticle;
40 Tracker(
double magneticField = 2.,
double nRadiationLengths = 0.01,
41 double resolution = 0.001);
128 #endif // INCLUDE_EICSMEAR_SMEAR_TRACKER_H_
virtual double Resolution(const erhic::VirtualParticle &) const
Returns the resolution at the kinematics of this particle.
virtual bool Accepts(const erhic::VirtualParticle &) const =0
Returns true if the particle falls within the angular acceptance of the detector.
double mMagField
Magnetic field strength in Tesla.
virtual int NPoints(const erhic::VirtualParticle &) const =0
Returns the number of measurement points for the particle.
A cylindrical tracking detector.
virtual double GetThetaMin() const =0
Returns the minimum theta of particles accepted by the tracker (radians).
void SetVertexConstraint(bool constrain)
Set whether a vertex constraint should be used when calculating the intrinsic resolution.
double mSigmaRPhi
Point resolution.
double mNRadLengths
Number of radiation lengths (dimensionless)
Tracker(double magneticField=2., double nRadiationLengths=0.01, double resolution=0.001)
Constructor.
Abstract base class for a general particle.
Abstract base class for objects performing smearing.
A smeared Monte Carlo particle.
Distribution function for random sampling.
virtual ~Tracker()
Destructor.
Distributor Distribution
Random distribution.
virtual double LPrime(const erhic::VirtualParticle &) const =0
Returns the transverse path length of the particle through the tracker in metres.
virtual double IntrinsicContribution(const erhic::VirtualParticle &) const
The intrinsic resolution of the detector, depending on momentum, magnetic field, the detector dimensi...
Int_t mFactor
Factor in intrinsic resolution calculation dependent on vertex constraint.
virtual double GetThetaMax() const =0
Returns the maximum theta of particles accepted by the tracker (radians).
void Smear(const erhic::VirtualParticle &, ParticleMCS &)
Smear the properties of the input particle and store the smeared values in the ParticleMCS.
virtual double MultipleScatteringContribution(const erhic::VirtualParticle &) const
Multiple scattering contribution, given by delta(p)/p = 0.0136 * z * sqrt(NRL) / (0....
virtual double L(const erhic::VirtualParticle &) const =0
Returns the path length of the particle through the tracker in metres.