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
PlanarTracker.h
Go to the documentation of this file.
1 
10 #ifndef INCLUDE_EICSMEAR_SMEAR_PLANARTRACKER_H_
11 #define INCLUDE_EICSMEAR_SMEAR_PLANARTRACKER_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 PlanarTracker : public Tracker {
33  public:
39  PlanarTracker();
40 
44  PlanarTracker(double innerRadius, double outerRadius,
45  double zMin, double zMax,
46  double magneticField, double nRadiationLengths,
47  double sigmaRPhi, double nPlanes);
48 
52  virtual ~PlanarTracker();
53 
58  virtual PlanarTracker* 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 
80  virtual int NPoints(const erhic::VirtualParticle&) const;
81 
90  virtual bool Accepts(const erhic::VirtualParticle&) const;
91 
95  virtual double GetThetaMin() const;
96 
100  virtual double GetThetaMax() const;
101 
102  protected:
110  double radius) const;
112  double z) const;
113  TVector3 ComputePath(const erhic::VirtualParticle&) const;
114 
115  double mNPlanes;
116  double mInnerRadius;
117  double mOuterRadius;
118  double mZMin;
119  double mZMax;
120 
121  ClassDef(Smear::PlanarTracker, 1)
122 };
123 
124 inline PlanarTracker* PlanarTracker::Clone(const char*) const {
125  return new PlanarTracker(*this);
126 }
127 
128 } // namespace Smear
129 
130 #endif // INCLUDE_EICSMEAR_SMEAR_PLANARTRACKER_H_
Smear
Definition: Acceptance.cxx:16
Smear::PlanarTracker
A cylindrical tracking detector.
Definition: PlanarTracker.h:32
erhic
Definition: EventDis.cxx:14
Tracker.h
Smear::PlanarTracker::Clone
virtual PlanarTracker * Clone(const char *="") const
Returns a new copy of this Tracker.
Definition: PlanarTracker.h:124
Smear::PlanarTracker::NPoints
virtual int NPoints(const erhic::VirtualParticle &) const
Returns the number of measurement points for the particle.
Definition: PlanarTracker.cxx:143
Smear::Tracker
A cylindrical tracking detector.
Definition: Tracker.h:35
Smear.h
Smear::PlanarTracker::L
double L(const erhic::VirtualParticle &) const
Returns the path length of the particle through the tracker in metres.
Definition: PlanarTracker.cxx:100
Smear::PlanarTracker::PlanarTracker
PlanarTracker()
Default constructor.
Definition: PlanarTracker.cxx:21
Smear::PlanarTracker::LPrime
double LPrime(const erhic::VirtualParticle &) const
Returns the transverse path length of the particle through the tracker in metres.
Definition: PlanarTracker.cxx:124
erhic::VirtualParticle
Abstract base class for a general particle.
Definition: VirtualParticle.h:23
Smear::PlanarTracker::~PlanarTracker
virtual ~PlanarTracker()
Destructor.
Definition: PlanarTracker.cxx:43
Smear::PlanarTracker::GetThetaMax
virtual double GetThetaMax() const
Returns the maximum theta of particles accepted by the tracker (radians).
Definition: PlanarTracker.cxx:66
Smear::PlanarTracker::Print
virtual void Print(Option_t *="") const
Print information about this device to standard output.
Definition: PlanarTracker.cxx:46
Smear::PlanarTracker::mNPlanes
double mNPlanes
Number of planes.
Definition: PlanarTracker.h:115
Smear::PlanarTracker::ComputeIntersectionWithPlane
TVector3 ComputeIntersectionWithPlane(const erhic::VirtualParticle &, double z) const
Definition: PlanarTracker.cxx:87
Smear::PlanarTracker::ComputeIntersectionWithRadius
TVector3 ComputeIntersectionWithRadius(const erhic::VirtualParticle &, double radius) const
Compute the intersection point of the particle with a radial surface.
Definition: PlanarTracker.cxx:74
Smear::PlanarTracker::Accepts
virtual bool Accepts(const erhic::VirtualParticle &) const
Returns true if the particle falls within the angular acceptance defined via the input parameters.
Definition: PlanarTracker.cxx:160
Smear::PlanarTracker::GetThetaMin
virtual double GetThetaMin() const
Returns the minimum theta of particles accepted by the tracker (radians).
Definition: PlanarTracker.cxx:58
Smear::PlanarTracker::ComputePath
TVector3 ComputePath(const erhic::VirtualParticle &) const
Smear::PlanarTracker::mInnerRadius
double mInnerRadius
Inner radius (m)
Definition: PlanarTracker.h:116
Smear::PlanarTracker::mZMax
double mZMax
Upper (most positive) z face.
Definition: PlanarTracker.h:119
Smear::PlanarTracker::mZMin
double mZMin
Lower (most negative) z face.
Definition: PlanarTracker.h:118
Smear::PlanarTracker::mOuterRadius
double mOuterRadius
Outer radius (m)
Definition: PlanarTracker.h:117