CMS 3D CMS Logo

HelixTrajectory.h
Go to the documentation of this file.
1 
2 #ifndef FASTSIM_HELIXTRAJECTORY_H
3 #define FASTSIM_HELIXTRAJECTORY_H
4 
6 
8 // Author: L. Vanelderen, S. Kurz
9 // Date: 29 May 2017
11 
12 namespace fastsim {
14 
18  class HelixTrajectory : public Trajectory {
19  public:
21 
26  HelixTrajectory(const Particle& particle, double magneticFieldZ);
27 
29 
32  bool crosses(const BarrelSimplifiedGeometry& layer) const override;
33 
35 
42  double nextCrossingTimeC(const BarrelSimplifiedGeometry& layer, bool onLayer = false) const override;
43 
45 
48  void move(double deltaTimeC) override;
49 
51 
54  double getRadParticle(double phi) const;
55 
56  private:
57  const double radius_;
58  const double phi_;
59  const double centerX_;
61  const double centerY_;
62  const double centerR_;
63  const double minR_;
64  const double maxR_;
65  const double phiSpeed_;
66  };
67 } // namespace fastsim
68 
69 #endif
const double minR_
The minimal distance of the helix from the center of the tracker.
const double phi_
Ranges from 0 to 2PI: 0 corresponds to the positive X direction, phi increases counterclockwise.
const double radius_
The radius of the helix.
Implementation of a barrel detector layer (cylindrical).
const double centerY_
Y-coordinate of the center of the helix.
bool crosses(const BarrelSimplifiedGeometry &layer) const override
Check if an intersection of the trajectory with a barrel layer exists.
constexpr std::array< uint8_t, layerIndexSize > layer
const double maxR_
The maximum distance of the helix from the center of the tracker.
const double phiSpeed_
The angular speed of the particle on the helix trajectory.
Definition the generic trajectory of a particle (base class for helix/straight trajectories).
Definition: Trajectory.h:26
const double centerX_
X-coordinate of the center of the helix.
void move(double deltaTimeC) override
Move the particle along the helix trajectory for a given time.
HelixTrajectory(const Particle &particle, double magneticFieldZ)
Constructor.
double getRadParticle(double phi) const
Return distance of particle from center of the detector if it was at given angle phi of the helix...
const double centerR_
Distance of the center of the helix from the center of the tracker.
Mathematical representation of a helix.
double nextCrossingTimeC(const BarrelSimplifiedGeometry &layer, bool onLayer=false) const override
Return delta time (t*c) of the next intersection of trajectory and barrel layer.