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
|
A cylindrical tracking detector. More...
#include <Tracker.h>
Public Member Functions | |
Tracker (double magneticField=2., double nRadiationLengths=0.01, double resolution=0.001) | |
Constructor. More... | |
virtual | ~Tracker () |
Destructor. More... | |
virtual double | Resolution (const erhic::VirtualParticle &) const |
Returns the resolution at the kinematics of this particle. More... | |
void | Smear (const erhic::VirtualParticle &, ParticleMCS &) |
Smear the properties of the input particle and store the smeared values in the ParticleMCS. More... | |
virtual double | L (const erhic::VirtualParticle &) const =0 |
Returns the path length of the particle through the tracker in metres. More... | |
virtual double | LPrime (const erhic::VirtualParticle &) const =0 |
Returns the transverse path length of the particle through the tracker in metres. More... | |
virtual int | NPoints (const erhic::VirtualParticle &) const =0 |
Returns the number of measurement points for the particle. More... | |
virtual bool | Accepts (const erhic::VirtualParticle &) const =0 |
Returns true if the particle falls within the angular acceptance of the detector. More... | |
virtual double | GetThetaMin () const =0 |
Returns the minimum theta of particles accepted by the tracker (radians). More... | |
virtual double | GetThetaMax () const =0 |
Returns the maximum theta of particles accepted by the tracker (radians). More... | |
void | SetVertexConstraint (bool constrain) |
Set whether a vertex constraint should be used when calculating the intrinsic resolution. More... | |
![]() | |
virtual | ~Smearer () |
Destructor. More... | |
virtual Smearer * | Clone (const char *="") const =0 |
Inherited from TObject. More... | |
Protected Member Functions | |
virtual double | MultipleScatteringContribution (const erhic::VirtualParticle &) const |
Multiple scattering contribution, given by delta(p)/p = 0.0136 * z * sqrt(NRL) / (0.3 * B * L * beta) z = charge, NRL = # radiation lengths, B = mag field, L = track length, beta = particle velocity. More... | |
virtual double | IntrinsicContribution (const erhic::VirtualParticle &) const |
The intrinsic resolution of the detector, depending on momentum, magnetic field, the detector dimensions, the number of fit points and the point resolution. More... | |
Protected Attributes | |
Int_t | mFactor |
Factor in intrinsic resolution calculation dependent on vertex constraint. More... | |
double | mMagField |
Magnetic field strength in Tesla. More... | |
double | mNRadLengths |
Number of radiation lengths (dimensionless) More... | |
double | mSigmaRPhi |
Point resolution. More... | |
Distributor | Distribution |
Random distribution. More... | |
Additional Inherited Members | |
![]() | |
Acceptance | Accept |
A cylindrical tracking detector.
Implements both intrinsic and multiple-scattering resolution. Abstract base class: inheriting classes must implement L(), LPrime(), NPoints() and Accepts().
Smear::Tracker::Tracker | ( | double | magneticField = 2. , |
double | nRadiationLengths = 0.01 , |
||
double | resolution = 0.001 |
||
) |
Constructor.
Definition at line 32 of file Tracker.cxx.
|
virtual |
Destructor.
Definition at line 40 of file Tracker.cxx.
|
pure virtual |
Returns true if the particle falls within the angular acceptance of the detector.
Implemented in Smear::PlanarTracker, and Smear::RadialTracker.
|
pure virtual |
Returns the maximum theta of particles accepted by the tracker (radians).
Implemented in Smear::PlanarTracker, and Smear::RadialTracker.
|
pure virtual |
Returns the minimum theta of particles accepted by the tracker (radians).
Implemented in Smear::PlanarTracker, and Smear::RadialTracker.
|
protectedvirtual |
The intrinsic resolution of the detector, depending on momentum, magnetic field, the detector dimensions, the number of fit points and the point resolution.
Definition at line 55 of file Tracker.cxx.
|
pure virtual |
Returns the path length of the particle through the tracker in metres.
Implemented in Smear::PlanarTracker, and Smear::RadialTracker.
|
pure virtual |
Returns the transverse path length of the particle through the tracker in metres.
Implemented in Smear::PlanarTracker, and Smear::RadialTracker.
|
protectedvirtual |
Multiple scattering contribution, given by delta(p)/p = 0.0136 * z * sqrt(NRL) / (0.3 * B * L * beta) z = charge, NRL = # radiation lengths, B = mag field, L = track length, beta = particle velocity.
Definition at line 43 of file Tracker.cxx.
|
pure virtual |
Returns the number of measurement points for the particle.
Implemented in Smear::PlanarTracker, and Smear::RadialTracker.
|
virtual |
Returns the resolution at the kinematics of this particle.
Definition at line 72 of file Tracker.cxx.
void Smear::Tracker::SetVertexConstraint | ( | bool | constrain | ) |
Set whether a vertex constraint should be used when calculating the intrinsic resolution.
Without it a factor of sqrt(720) is included in the resolution; with it the factor is sqrt(320). By defuault no constraint is assumed.
Definition at line 100 of file Tracker.cxx.
|
virtual |
Smear the properties of the input particle and store the smeared values in the ParticleMCS.
Implements Smear::Smearer.
Definition at line 82 of file Tracker.cxx.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |