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
|
A cylindrical tracking detector. More...
#include <PlanarTracker.h>
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 PlanarTracker * | Clone (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... | |
![]() | |
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... | |
![]() | |
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 |
![]() | |
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... | |
![]() | |
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 | |
![]() | |
Acceptance | Accept |
A cylindrical tracking detector.
Implements both intrinsic and multiple-scattering resolution.
Definition at line 32 of file PlanarTracker.h.
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.
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.
|
virtual |
Destructor.
Definition at line 43 of file PlanarTracker.cxx.
|
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.
|
inlinevirtual |
Returns a new copy of this Tracker.
The argument is not used.
Implements Smear::Smearer.
Definition at line 124 of file PlanarTracker.h.
|
protected |
Definition at line 87 of file PlanarTracker.cxx.
|
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.
|
protected |
|
virtual |
Returns the maximum theta of particles accepted by the tracker (radians).
Implements Smear::Tracker.
Definition at line 66 of file PlanarTracker.cxx.
|
virtual |
Returns the minimum theta of particles accepted by the tracker (radians).
Implements Smear::Tracker.
Definition at line 58 of file PlanarTracker.cxx.
|
virtual |
Returns the path length of the particle through the tracker in metres.
Implements Smear::Tracker.
Definition at line 100 of file PlanarTracker.cxx.
|
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.
|
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.
|
virtual |
Print information about this device to standard output.
Definition at line 46 of file PlanarTracker.cxx.
|
protected |
Inner radius (m)
Definition at line 116 of file PlanarTracker.h.
|
protected |
Number of planes.
Definition at line 115 of file PlanarTracker.h.
|
protected |
Outer radius (m)
Definition at line 117 of file PlanarTracker.h.
|
protected |
Upper (most positive) z face.
Definition at line 119 of file PlanarTracker.h.
|
protected |
Lower (most negative) z face.
Definition at line 118 of file PlanarTracker.h.