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::PlanarTracker Class Reference

A cylindrical tracking detector. More...

#include <PlanarTracker.h>

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

Public Member Functions

 PlanarTracker ()
 Default constructor. More...
 
 PlanarTracker (double innerRadius, double outerRadius, double zMin, double zMax, double magneticField, double nRadiationLengths, double sigmaRPhi, double nPlanes)
 Constructor for a tracker with arbitrary positioning along z. More...
 
virtual ~PlanarTracker ()
 Destructor. More...
 
virtual PlanarTrackerClone (const char *="") const
 Returns a new copy of this Tracker. More...
 
virtual void Print (Option_t *="") const
 Print information about this device to standard output. More...
 
double L (const erhic::VirtualParticle &) const
 Returns the path length of the particle through the tracker in metres. More...
 
double LPrime (const erhic::VirtualParticle &) const
 Returns the transverse path length of the particle through the tracker in metres. More...
 
virtual int NPoints (const erhic::VirtualParticle &) const
 Returns the number of measurement points for the particle. More...
 
virtual bool Accepts (const erhic::VirtualParticle &) const
 Returns true if the particle falls within the angular acceptance defined via the input parameters. More...
 
virtual double GetThetaMin () const
 Returns the minimum theta of particles accepted by the tracker (radians). More...
 
virtual double GetThetaMax () const
 Returns the maximum theta of particles accepted by the tracker (radians). More...
 
- Public Member Functions inherited from Smear::Tracker
 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...
 
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...
 

Protected Member Functions

TVector3 ComputeIntersectionWithRadius (const erhic::VirtualParticle &, double radius) const
 Compute the intersection point of the particle with a radial surface. More...
 
TVector3 ComputeIntersectionWithPlane (const erhic::VirtualParticle &, double z) const
 
TVector3 ComputePath (const erhic::VirtualParticle &) const
 
- Protected Member Functions inherited from Smear::Tracker
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

double mNPlanes
 Number of planes. More...
 
double mInnerRadius
 Inner radius (m) More...
 
double mOuterRadius
 Outer radius (m) More...
 
double mZMin
 Lower (most negative) z face. More...
 
double mZMax
 Upper (most positive) z face. More...
 
- Protected Attributes inherited from Smear::Tracker
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.

Definition at line 32 of file PlanarTracker.h.

Constructor & Destructor Documentation

◆ PlanarTracker() [1/2]

Smear::PlanarTracker::PlanarTracker ( )

Default constructor.

B = 2, NRL = 0.03, sigma(r-phi) = 0.001, N = 25, inner radius = 0.25 m, outer radius = 1 m, length = 6 m.

Definition at line 21 of file PlanarTracker.cxx.

◆ PlanarTracker() [2/2]

Smear::PlanarTracker::PlanarTracker ( double  innerRadius,
double  outerRadius,
double  zMin,
double  zMax,
double  magneticField,
double  nRadiationLengths,
double  sigmaRPhi,
double  nPlanes 
)

Constructor for a tracker with arbitrary positioning along z.

Definition at line 30 of file PlanarTracker.cxx.

◆ ~PlanarTracker()

Smear::PlanarTracker::~PlanarTracker ( )
virtual

Destructor.

Definition at line 43 of file PlanarTracker.cxx.

Member Function Documentation

◆ Accepts()

bool Smear::PlanarTracker::Accepts ( const erhic::VirtualParticle p) const
virtual

Returns true if the particle falls within the angular acceptance defined via the input parameters.

This is defined as the particle's transverse path length being greater than half of (outer radius - inner radius) / number of fit points i.e. the particle has to pass through enough of the detector to cause at least one measureable point.

Implements Smear::Tracker.

Definition at line 160 of file PlanarTracker.cxx.

◆ Clone()

PlanarTracker * Smear::PlanarTracker::Clone ( const char *  = "") const
inlinevirtual

Returns a new copy of this Tracker.

The argument is not used.

Implements Smear::Smearer.

Definition at line 124 of file PlanarTracker.h.

◆ ComputeIntersectionWithPlane()

TVector3 Smear::PlanarTracker::ComputeIntersectionWithPlane ( const erhic::VirtualParticle p,
double  z 
) const
protected

Definition at line 87 of file PlanarTracker.cxx.

◆ ComputeIntersectionWithRadius()

TVector3 Smear::PlanarTracker::ComputeIntersectionWithRadius ( const erhic::VirtualParticle p,
double  radius 
) const
protected

Compute the intersection point of the particle with a radial surface.

Returns the 3-vector of the intersection point if the z of the intersection is within (zmin, zmax) of this detector, or (0, 0, NaN) if not.

Definition at line 74 of file PlanarTracker.cxx.

◆ ComputePath()

TVector3 Smear::PlanarTracker::ComputePath ( const erhic::VirtualParticle ) const
protected

◆ GetThetaMax()

double Smear::PlanarTracker::GetThetaMax ( ) const
virtual

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

Implements Smear::Tracker.

Definition at line 66 of file PlanarTracker.cxx.

◆ GetThetaMin()

double Smear::PlanarTracker::GetThetaMin ( ) const
virtual

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

Implements Smear::Tracker.

Definition at line 58 of file PlanarTracker.cxx.

◆ L()

double Smear::PlanarTracker::L ( const erhic::VirtualParticle p) const
virtual

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

Implements Smear::Tracker.

Definition at line 100 of file PlanarTracker.cxx.

◆ LPrime()

double Smear::PlanarTracker::LPrime ( const erhic::VirtualParticle p) const
virtual

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

Implements Smear::Tracker.

Definition at line 124 of file PlanarTracker.cxx.

◆ NPoints()

int Smear::PlanarTracker::NPoints ( const erhic::VirtualParticle p) const
virtual

Returns the number of measurement points for the particle.

This is the number of planes hit in the planar tracker for the particle.

Implements Smear::Tracker.

Definition at line 143 of file PlanarTracker.cxx.

◆ Print()

void Smear::PlanarTracker::Print ( Option_t *  = "") const
virtual

Print information about this device to standard output.

Definition at line 46 of file PlanarTracker.cxx.

Member Data Documentation

◆ mInnerRadius

double Smear::PlanarTracker::mInnerRadius
protected

Inner radius (m)

Definition at line 116 of file PlanarTracker.h.

◆ mNPlanes

double Smear::PlanarTracker::mNPlanes
protected

Number of planes.

Definition at line 115 of file PlanarTracker.h.

◆ mOuterRadius

double Smear::PlanarTracker::mOuterRadius
protected

Outer radius (m)

Definition at line 117 of file PlanarTracker.h.

◆ mZMax

double Smear::PlanarTracker::mZMax
protected

Upper (most positive) z face.

Definition at line 119 of file PlanarTracker.h.

◆ mZMin

double Smear::PlanarTracker::mZMin
protected

Lower (most negative) z face.

Definition at line 118 of file PlanarTracker.h.


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