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
RadialTracker.h
Go to the documentation of this file.
1 
10 #ifndef INCLUDE_EICSMEAR_SMEAR_RADIALTRACKER_H_
11 #define INCLUDE_EICSMEAR_SMEAR_RADIALTRACKER_H_
12 
13 #include <Rtypes.h> // For ClassDef
14 
15 #include "eicsmear/smear/Smear.h" // KinType
16 #include "eicsmear/smear/Tracker.h"
17 
18 namespace erhic {
19 
20 class VirtualParticle;
21 
22 } // namespace erhic
23 
24 namespace Smear {
25 
26 class ParticleMCS;
27 
32 class RadialTracker : public Tracker {
33  public:
39  RadialTracker();
40 
44  RadialTracker(double innerRadius, double outerRadius,
45  double zMin, double zMax,
46  double magneticField, double numberOfRadiationLengths,
47  double sigmaRPhi, double numberOfPoints);
48 
52  virtual ~RadialTracker();
53 
58  virtual RadialTracker* Clone(const char* = "") const;
59 
63  virtual void Print(Option_t* = "") const;
64 
68  double L(const erhic::VirtualParticle&) const;
69 
74  double LPrime(const erhic::VirtualParticle&) const;
75 
79  virtual int NPoints(const erhic::VirtualParticle&) const;
80 
89  virtual bool Accepts(const erhic::VirtualParticle&) const;
90 
94  virtual double GetThetaMin() const;
95 
99  virtual double GetThetaMax() const;
100 
101  protected:
109  double radius) const;
110 
118  double z) const;
119 
127  TVector3 ComputePath(const erhic::VirtualParticle&) const;
128 
129  double mNFitPoints;
130  double mInnerRadius;
131  double mOuterRadius;
132  double mZMin;
133  double mZMax;
134 
135  ClassDef(Smear::RadialTracker, 1)
136 };
137 
138 inline RadialTracker* RadialTracker::Clone(const char*) const {
139  return new RadialTracker(*this);
140 }
141 
142 } // namespace Smear
143 
144 #endif // INCLUDE_EICSMEAR_SMEAR_RADIALTRACKER_H_
Smear::RadialTracker::mZMin
double mZMin
Lower (most negative) z face.
Definition: RadialTracker.h:132
Smear
Definition: Acceptance.cxx:16
Smear::RadialTracker::Accepts
virtual bool Accepts(const erhic::VirtualParticle &) const
Returns true if the particle falls within the angular acceptance defined via the input parameters.
Definition: RadialTracker.cxx:152
erhic
Definition: EventDis.cxx:14
Smear::RadialTracker::ComputeIntersectionWithPlane
TVector3 ComputeIntersectionWithPlane(const erhic::VirtualParticle &, double z) const
Compute the intersection point of the particle with an x-y plane at z.
Definition: RadialTracker.cxx:82
Smear::RadialTracker::mInnerRadius
double mInnerRadius
Inner radius (m)
Definition: RadialTracker.h:130
Smear::RadialTracker
A cylindrical tracking detector.
Definition: RadialTracker.h:32
Smear::RadialTracker::L
double L(const erhic::VirtualParticle &) const
Returns the path length of the particle through the tracker in metres.
Definition: RadialTracker.cxx:130
Smear::RadialTracker::GetThetaMin
virtual double GetThetaMin() const
Returns the minimum theta of particles accepted by the tracker (radians).
Definition: RadialTracker.cxx:162
Tracker.h
Smear::RadialTracker::mOuterRadius
double mOuterRadius
Outer radius (m)
Definition: RadialTracker.h:131
Smear::RadialTracker::~RadialTracker
virtual ~RadialTracker()
Destructor.
Definition: RadialTracker.cxx:54
Smear::RadialTracker::Print
virtual void Print(Option_t *="") const
Print information about this device to standard output.
Definition: RadialTracker.cxx:57
Smear::RadialTracker::RadialTracker
RadialTracker()
Default constructor.
Definition: RadialTracker.cxx:32
Smear::RadialTracker::ComputeIntersectionWithRadius
TVector3 ComputeIntersectionWithRadius(const erhic::VirtualParticle &, double radius) const
Compute the intersection point of the particle with a radial surface.
Definition: RadialTracker.cxx:69
Smear::Tracker
A cylindrical tracking detector.
Definition: Tracker.h:35
Smear.h
Smear::RadialTracker::ComputePath
TVector3 ComputePath(const erhic::VirtualParticle &) const
Computes the path vector, defined as (v2 - v1), where v1 and v2 are the position vectors of the parti...
Definition: RadialTracker.cxx:95
Smear::RadialTracker::LPrime
double LPrime(const erhic::VirtualParticle &) const
Returns the transverse path length of the particle through the tracker in metres.
Definition: RadialTracker.cxx:135
erhic::VirtualParticle
Abstract base class for a general particle.
Definition: VirtualParticle.h:23
Smear::RadialTracker::mNFitPoints
double mNFitPoints
Number of fit points.
Definition: RadialTracker.h:129
Smear::RadialTracker::NPoints
virtual int NPoints(const erhic::VirtualParticle &) const
Returns the number of measurement points for the particle.
Definition: RadialTracker.cxx:139
Smear::RadialTracker::Clone
virtual RadialTracker * Clone(const char *="") const
Returns a new copy of this Tracker.
Definition: RadialTracker.h:138
Smear::RadialTracker::GetThetaMax
virtual double GetThetaMax() const
Returns the maximum theta of particles accepted by the tracker (radians).
Definition: RadialTracker.cxx:170
Smear::RadialTracker::mZMax
double mZMax
Upper (most positive) z face.
Definition: RadialTracker.h:133