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

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

+ Inheritance diagram for Smear::PlanarTracker:
+ Collaboration diagram for Smear::PlanarTracker:

Public Member Functions

 PlanarTracker ()
 
 PlanarTracker (double innerRadius, double outerRadius, double zMin, double zMax, double magneticField, double nRadiationLengths, double sigmaRPhi, double nPlanes)
 
virtual ~PlanarTracker ()
 
virtual PlanarTrackerClone (const char *="") const
 
virtual void Print (Option_t *="") const
 
double L (const erhic::VirtualParticle &) const
 
double LPrime (const erhic::VirtualParticle &) const
 
virtual int NPoints (const erhic::VirtualParticle &) const
 
virtual bool Accepts (const erhic::VirtualParticle &) const
 
virtual double GetThetaMin () const
 
virtual double GetThetaMax () const
 
- Public Member Functions inherited from Smear::Tracker
 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 &)
 
void SetVertexConstraint (bool constrain)
 
- Public Member Functions inherited from Smear::Smearer
virtual ~Smearer ()
 

Protected Member Functions

TVector3 ComputeIntersectionWithRadius (const erhic::VirtualParticle &, double radius) const
 
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
 
virtual double IntrinsicContribution (const erhic::VirtualParticle &) const
 

Protected Attributes

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

Definition at line 32 of file PlanarTracker.h.

View newest version in sPHENIX GitHub at line 32 of file PlanarTracker.h

Constructor & Destructor Documentation

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.

View newest version in sPHENIX GitHub at line 21 of file PlanarTracker.cxx

Referenced by Clone().

+ Here is the caller graph for this function:

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.

View newest version in sPHENIX GitHub at line 30 of file PlanarTracker.cxx

Smear::PlanarTracker::~PlanarTracker ( )
virtual

Destructor.

Definition at line 43 of file PlanarTracker.cxx.

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

Member Function Documentation

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.

View newest version in sPHENIX GitHub at line 160 of file PlanarTracker.cxx

References NPoints().

+ Here is the call graph for this function:

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.

View newest version in sPHENIX GitHub at line 124 of file PlanarTracker.h

References PlanarTracker().

+ Here is the call graph for this function:

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

Definition at line 87 of file PlanarTracker.cxx.

View newest version in sPHENIX GitHub at line 87 of file PlanarTracker.cxx

References erhic::VirtualParticle::GetTheta(), erhic::VirtualParticle::GetVertex(), mInnerRadius, and mOuterRadius.

+ Here is the call graph for this function:

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.

View newest version in sPHENIX GitHub at line 74 of file PlanarTracker.cxx

References erhic::VirtualParticle::GetTheta(), erhic::VirtualParticle::GetVertex(), mZMax, mZMin, and z.

+ Here is the call graph for this function:

TVector3 Smear::PlanarTracker::ComputePath ( const erhic::VirtualParticle ) const
protected
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.

View newest version in sPHENIX GitHub at line 66 of file PlanarTracker.cxx

References mInnerRadius, mOuterRadius, and mZMin.

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.

View newest version in sPHENIX GitHub at line 58 of file PlanarTracker.cxx

References mInnerRadius, mOuterRadius, and mZMax.

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.

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

References erhic::VirtualParticle::GetTheta(), mInnerRadius, mNPlanes, mOuterRadius, mZMax, mZMin, NPoints(), pi, r1, and r2.

+ Here is the call graph for this function:

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.

View newest version in sPHENIX GitHub at line 124 of file PlanarTracker.cxx

References erhic::VirtualParticle::GetTheta(), mInnerRadius, mNPlanes, mOuterRadius, mZMax, mZMin, NPoints(), pi, r1, and r2.

+ Here is the call graph for this function:

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.

View newest version in sPHENIX GitHub at line 143 of file PlanarTracker.cxx

References erhic::VirtualParticle::GetTheta(), mInnerRadius, mNPlanes, mOuterRadius, mZMax, mZMin, n, and pi.

Referenced by Accepts(), L(), and LPrime().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Print information about this device to standard output.

Definition at line 46 of file PlanarTracker.cxx.

View newest version in sPHENIX GitHub at line 46 of file PlanarTracker.cxx

References mInnerRadius, Smear::Tracker::mMagField, mNPlanes, Smear::Tracker::mNRadLengths, mOuterRadius, Smear::Tracker::mSigmaRPhi, mZMax, and mZMin.

Member Data Documentation

double Smear::PlanarTracker::mInnerRadius
protected

Inner radius (m)

Definition at line 116 of file PlanarTracker.h.

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

Referenced by ComputeIntersectionWithPlane(), GetThetaMax(), GetThetaMin(), L(), LPrime(), NPoints(), and Print().

double Smear::PlanarTracker::mNPlanes
protected

Number of planes.

Definition at line 115 of file PlanarTracker.h.

View newest version in sPHENIX GitHub at line 115 of file PlanarTracker.h

Referenced by L(), LPrime(), NPoints(), and Print().

double Smear::PlanarTracker::mOuterRadius
protected

Outer radius (m)

Definition at line 117 of file PlanarTracker.h.

View newest version in sPHENIX GitHub at line 117 of file PlanarTracker.h

Referenced by ComputeIntersectionWithPlane(), GetThetaMax(), GetThetaMin(), L(), LPrime(), NPoints(), and Print().

double Smear::PlanarTracker::mZMax
protected

Upper (most positive) z face.

Definition at line 119 of file PlanarTracker.h.

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

Referenced by ComputeIntersectionWithRadius(), GetThetaMin(), L(), LPrime(), NPoints(), and Print().

double Smear::PlanarTracker::mZMin
protected

Lower (most negative) z face.

Definition at line 118 of file PlanarTracker.h.

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

Referenced by ComputeIntersectionWithRadius(), GetThetaMax(), L(), LPrime(), NPoints(), and Print().


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