EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <eic-smear/blob/master/include/eicsmear/smear/Tracker.h>
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 Smearer * | Clone (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 |
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
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
|
virtual |
Destructor.
Definition at line 40 of file Tracker.cxx.
View newest version in sPHENIX GitHub 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.
Referenced by Resolution(), and Smear().
|
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.
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().
|
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.
Referenced by IntrinsicContribution(), and MultipleScatteringContribution().
|
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().
|
pure virtual |
Returns the number of measurement points for the particle.
Implemented in Smear::PlanarTracker, and Smear::RadialTracker.
Referenced by IntrinsicContribution().
|
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().
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.
|
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.
|
protected |
|
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().
|
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().
|
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().
|
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().