EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Smear::Tracker Class Referenceabstract

#include <eic-smear/blob/master/include/eicsmear/smear/Tracker.h>

+ Inheritance diagram for Smear::Tracker:
+ Collaboration diagram for Smear::Tracker:

Public Member Functions

 Tracker (double magneticField=2., double nRadiationLengths=0.01, double resolution=0.001)
 
virtual ~Tracker ()
 
virtual double Resolution (const erhic::VirtualParticle &) const
 
void Smear (const erhic::VirtualParticle &, ParticleMCS &)
 
virtual double L (const erhic::VirtualParticle &) const =0
 
virtual double LPrime (const erhic::VirtualParticle &) const =0
 
virtual int NPoints (const erhic::VirtualParticle &) const =0
 
virtual bool Accepts (const erhic::VirtualParticle &) const =0
 
virtual double GetThetaMin () const =0
 
virtual double GetThetaMax () const =0
 
void SetVertexConstraint (bool constrain)
 
- Public Member Functions inherited from Smear::Smearer
virtual ~Smearer ()
 
virtual SmearerClone (const char *="") const =0
 

Protected Member Functions

virtual double MultipleScatteringContribution (const erhic::VirtualParticle &) const
 
virtual double IntrinsicContribution (const erhic::VirtualParticle &) const
 

Protected Attributes

Int_t mFactor
 
double mMagField
 Magnetic field strength in Tesla.
 
double mNRadLengths
 Number of radiation lengths (dimensionless)
 
double mSigmaRPhi
 Point resolution.
 
Distributor Distribution
 Random distribution.
 

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.

View newest version in sPHENIX GitHub at line 35 of file Tracker.h

Constructor & Destructor Documentation

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

Constructor.

Definition at line 32 of file Tracker.cxx.

View newest version in sPHENIX GitHub at line 32 of file Tracker.cxx

Smear::Tracker::~Tracker ( )
virtual

Destructor.

Definition at line 40 of file Tracker.cxx.

View newest version in sPHENIX GitHub at line 40 of file Tracker.cxx

Member Function Documentation

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.

Referenced by Resolution(), and Smear().

+ Here is the caller graph for this function:

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.

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.

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.

View newest version in sPHENIX GitHub at line 55 of file Tracker.cxx

References erhic::VirtualParticle::GetP(), LPrime(), mFactor, mMagField, mSigmaRPhi, and NPoints().

Referenced by Resolution().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

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.

Referenced by IntrinsicContribution(), and MultipleScatteringContribution().

+ Here is the caller graph for this function:

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.

View newest version in sPHENIX GitHub at line 43 of file Tracker.cxx

References erhic::VirtualParticle::Get4Vector(), erhic::VirtualParticle::GetP(), LPrime(), mMagField, and mNRadLengths.

Referenced by Resolution().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

Referenced by IntrinsicContribution().

+ Here is the caller graph for this function:

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.

View newest version in sPHENIX GitHub at line 72 of file Tracker.cxx

References Accepts(), IntrinsicContribution(), and MultipleScatteringContribution().

Referenced by Smear().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

View newest version in sPHENIX GitHub at line 100 of file Tracker.cxx

References mFactor.

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.

View newest version in sPHENIX GitHub at line 82 of file Tracker.cxx

References Smear::Smearer::Accept, Accepts(), Distribution, Smear::Distributor::Generate(), Smear::ParticleMCS::GetP(), Smear::GetVariable(), Smear::ParticleMCS::HandleBogusValues(), Smear::Acceptance::Is(), Smear::kP, Resolution(), Smear::ParticleMCS::SetVariable(), and y.

+ Here is the call graph for this function:

Member Data Documentation

Distributor Smear::Tracker::Distribution
protected

Random distribution.

Definition at line 121 of file Tracker.h.

View newest version in sPHENIX GitHub at line 121 of file Tracker.h

Referenced by Smear().

Int_t Smear::Tracker::mFactor
protected

Factor in intrinsic resolution calculation dependent on vertex constraint.

Definition at line 116 of file Tracker.h.

View newest version in sPHENIX GitHub at line 116 of file Tracker.h

Referenced by IntrinsicContribution(), and SetVertexConstraint().

double Smear::Tracker::mMagField
protected

Magnetic field strength in Tesla.

Definition at line 118 of file Tracker.h.

View newest version in sPHENIX GitHub at line 118 of file Tracker.h

Referenced by IntrinsicContribution(), MultipleScatteringContribution(), Smear::PlanarTracker::Print(), and Smear::RadialTracker::Print().

double Smear::Tracker::mNRadLengths
protected

Number of radiation lengths (dimensionless)

Definition at line 119 of file Tracker.h.

View newest version in sPHENIX GitHub at line 119 of file Tracker.h

Referenced by MultipleScatteringContribution(), Smear::PlanarTracker::Print(), and Smear::RadialTracker::Print().

double Smear::Tracker::mSigmaRPhi
protected

Point resolution.

Definition at line 120 of file Tracker.h.

View newest version in sPHENIX GitHub at line 120 of file Tracker.h

Referenced by IntrinsicContribution(), Smear::PlanarTracker::Print(), and Smear::RadialTracker::Print().


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