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
Smear::Tracker Class Referenceabstract

A cylindrical tracking detector. More...

#include <Tracker.h>

Inheritance diagram for Smear::Tracker:
Smear::Smearer Smear::PlanarTracker Smear::RadialTracker

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...
 
- Public Member Functions inherited from Smear::Smearer
virtual ~Smearer ()
 Destructor. More...
 
virtual SmearerClone (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

- Public Attributes inherited from Smear::Smearer
Acceptance Accept
 

Detailed Description

A cylindrical tracking detector.

Implements both intrinsic and multiple-scattering resolution. Abstract base class: inheriting classes must implement L(), LPrime(), NPoints() and Accepts().

Definition at line 35 of file Tracker.h.

Constructor & Destructor Documentation

◆ Tracker()

Smear::Tracker::Tracker ( double  magneticField = 2.,
double  nRadiationLengths = 0.01,
double  resolution = 0.001 
)

Constructor.

Definition at line 32 of file Tracker.cxx.

◆ ~Tracker()

Smear::Tracker::~Tracker ( )
virtual

Destructor.

Definition at line 40 of file Tracker.cxx.

Member Function Documentation

◆ Accepts()

virtual bool Smear::Tracker::Accepts ( const erhic::VirtualParticle ) const
pure virtual

Returns true if the particle falls within the angular acceptance of the detector.

Implemented in Smear::PlanarTracker, and Smear::RadialTracker.

◆ GetThetaMax()

virtual double Smear::Tracker::GetThetaMax ( ) const
pure virtual

Returns the maximum theta of particles accepted by the tracker (radians).

Implemented in Smear::PlanarTracker, and Smear::RadialTracker.

◆ GetThetaMin()

virtual double Smear::Tracker::GetThetaMin ( ) const
pure virtual

Returns the minimum theta of particles accepted by the tracker (radians).

Implemented in Smear::PlanarTracker, and Smear::RadialTracker.

◆ IntrinsicContribution()

double Smear::Tracker::IntrinsicContribution ( const erhic::VirtualParticle p) const
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.

◆ L()

virtual double Smear::Tracker::L ( const erhic::VirtualParticle ) const
pure virtual

Returns the path length of the particle through the tracker in metres.

Implemented in Smear::PlanarTracker, and Smear::RadialTracker.

◆ LPrime()

virtual double Smear::Tracker::LPrime ( const erhic::VirtualParticle ) const
pure virtual

Returns the transverse path length of the particle through the tracker in metres.

Implemented in Smear::PlanarTracker, and Smear::RadialTracker.

◆ MultipleScatteringContribution()

double Smear::Tracker::MultipleScatteringContribution ( const erhic::VirtualParticle p) const
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.

◆ NPoints()

virtual int Smear::Tracker::NPoints ( const erhic::VirtualParticle ) const
pure virtual

Returns the number of measurement points for the particle.

Implemented in Smear::PlanarTracker, and Smear::RadialTracker.

◆ Resolution()

double Smear::Tracker::Resolution ( const erhic::VirtualParticle p) const
virtual

Returns the resolution at the kinematics of this particle.

Definition at line 72 of file Tracker.cxx.

◆ SetVertexConstraint()

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.

◆ Smear()

void Smear::Tracker::Smear ( const erhic::VirtualParticle pIn,
ParticleMCS pOut 
)
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.

Member Data Documentation

◆ Distribution

Distributor Smear::Tracker::Distribution
protected

Random distribution.

Definition at line 121 of file Tracker.h.

◆ mFactor

Int_t Smear::Tracker::mFactor
protected

Factor in intrinsic resolution calculation dependent on vertex constraint.

Definition at line 116 of file Tracker.h.

◆ mMagField

double Smear::Tracker::mMagField
protected

Magnetic field strength in Tesla.

Definition at line 118 of file Tracker.h.

◆ mNRadLengths

double Smear::Tracker::mNRadLengths
protected

Number of radiation lengths (dimensionless)

Definition at line 119 of file Tracker.h.

◆ mSigmaRPhi

double Smear::Tracker::mSigmaRPhi
protected

Point resolution.

Definition at line 120 of file Tracker.h.


The documentation for this class was generated from the following files: