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

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

+ Inheritance diagram for Smear::RadialTracker:
+ Collaboration diagram for Smear::RadialTracker:

Public Member Functions

 RadialTracker ()
 
 RadialTracker (double innerRadius, double outerRadius, double zMin, double zMax, double magneticField, double numberOfRadiationLengths, double sigmaRPhi, double numberOfPoints)
 
virtual ~RadialTracker ()
 
virtual RadialTrackerClone (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 mNFitPoints
 Number of fit points.
 
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 RadialTracker.h.

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

Constructor & Destructor Documentation

Smear::RadialTracker::RadialTracker ( )

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 32 of file RadialTracker.cxx.

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

Referenced by Clone().

+ Here is the caller graph for this function:

Smear::RadialTracker::RadialTracker ( double  innerRadius,
double  outerRadius,
double  zMin,
double  zMax,
double  magneticField,
double  numberOfRadiationLengths,
double  sigmaRPhi,
double  numberOfPoints 
)

Constructor for a tracker with arbitrary positioning along z.

Definition at line 41 of file RadialTracker.cxx.

View newest version in sPHENIX GitHub at line 41 of file RadialTracker.cxx

Smear::RadialTracker::~RadialTracker ( )
virtual

Destructor.

Definition at line 54 of file RadialTracker.cxx.

View newest version in sPHENIX GitHub at line 54 of file RadialTracker.cxx

Member Function Documentation

bool Smear::RadialTracker::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 152 of file RadialTracker.cxx.

View newest version in sPHENIX GitHub at line 152 of file RadialTracker.cxx

References NPoints().

+ Here is the call graph for this function:

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

Returns a new copy of this Tracker. The argument is not used.

Implements Smear::Smearer.

Definition at line 138 of file RadialTracker.h.

View newest version in sPHENIX GitHub at line 138 of file RadialTracker.h

References RadialTracker().

+ Here is the call graph for this function:

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

Compute the intersection point of the particle with an x-y plane at z. Returns the 3-vector of the intersetion point if the radius of the intersection is within (inner radius, outer radius), or (0, 0, NaN) if not.

Definition at line 82 of file RadialTracker.cxx.

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

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

Referenced by ComputePath().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

TVector3 Smear::RadialTracker::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 69 of file RadialTracker.cxx.

View newest version in sPHENIX GitHub at line 69 of file RadialTracker.cxx

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

Referenced by ComputePath().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

TVector3 Smear::RadialTracker::ComputePath ( const erhic::VirtualParticle p) const
protected

Computes the path vector, defined as (v2 - v1), where v1 and v2 are the position vectors of the particle's intersections with the cylinder's surface. Returns (0, 0, 0) for particles that don't intersect, or if something goes wrong.

Definition at line 95 of file RadialTracker.cxx.

View newest version in sPHENIX GitHub at line 95 of file RadialTracker.cxx

References ComputeIntersectionWithPlane(), ComputeIntersectionWithRadius(), mInnerRadius, mOuterRadius, mZMax, and mZMin.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

Implements Smear::Tracker.

Definition at line 170 of file RadialTracker.cxx.

View newest version in sPHENIX GitHub at line 170 of file RadialTracker.cxx

References mInnerRadius, mOuterRadius, and mZMin.

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

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

Implements Smear::Tracker.

Definition at line 162 of file RadialTracker.cxx.

View newest version in sPHENIX GitHub at line 162 of file RadialTracker.cxx

References mInnerRadius, mOuterRadius, and mZMax.

double Smear::RadialTracker::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 130 of file RadialTracker.cxx.

View newest version in sPHENIX GitHub at line 130 of file RadialTracker.cxx

References ComputePath().

+ Here is the call graph for this function:

double Smear::RadialTracker::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 135 of file RadialTracker.cxx.

View newest version in sPHENIX GitHub at line 135 of file RadialTracker.cxx

References ComputePath().

Referenced by NPoints().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Returns the number of measurement points for the particle.

Implements Smear::Tracker.

Definition at line 139 of file RadialTracker.cxx.

View newest version in sPHENIX GitHub at line 139 of file RadialTracker.cxx

References ComputePath(), LPrime(), mInnerRadius, mNFitPoints, mOuterRadius, and n.

Referenced by Accepts().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Print information about this device to standard output.

Definition at line 57 of file RadialTracker.cxx.

View newest version in sPHENIX GitHub at line 57 of file RadialTracker.cxx

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

Member Data Documentation

double Smear::RadialTracker::mInnerRadius
protected

Inner radius (m)

Definition at line 130 of file RadialTracker.h.

View newest version in sPHENIX GitHub at line 130 of file RadialTracker.h

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

double Smear::RadialTracker::mNFitPoints
protected

Number of fit points.

Definition at line 129 of file RadialTracker.h.

View newest version in sPHENIX GitHub at line 129 of file RadialTracker.h

Referenced by NPoints(), and Print().

double Smear::RadialTracker::mOuterRadius
protected

Outer radius (m)

Definition at line 131 of file RadialTracker.h.

View newest version in sPHENIX GitHub at line 131 of file RadialTracker.h

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

double Smear::RadialTracker::mZMax
protected

Upper (most positive) z face.

Definition at line 133 of file RadialTracker.h.

View newest version in sPHENIX GitHub at line 133 of file RadialTracker.h

Referenced by ComputeIntersectionWithRadius(), ComputePath(), GetThetaMin(), and Print().

double Smear::RadialTracker::mZMin
protected

Lower (most negative) z face.

Definition at line 132 of file RadialTracker.h.

View newest version in sPHENIX GitHub at line 132 of file RadialTracker.h

Referenced by ComputeIntersectionWithRadius(), ComputePath(), GetThetaMax(), and Print().


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