CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HelixTrajectory.h
Go to the documentation of this file.
1 
2 #ifndef FASTSIM_HELIXTRAJECTORY_H
3 #define FASTSIM_HELIXTRAJECTORY_H
4 
6 
7 
9 // Author: L. Vanelderen, S. Kurz
10 // Date: 29 May 2017
12 
13 
14 namespace fastsim
15 {
17 
21  class HelixTrajectory : public Trajectory
22  {
23  public:
25 
30  HelixTrajectory(const Particle & particle, double magneticFieldZ);
31 
33 
36  bool crosses(const BarrelSimplifiedGeometry & layer) const override;
37 
39 
46  double nextCrossingTimeC(const BarrelSimplifiedGeometry & layer, bool onLayer = false) const override;
47 
49 
52  void move(double deltaTimeC) override;
53 
55 
58  double getRadParticle(double phi) const;
59 
60  private:
61  const double radius_;
62  const double phi_;
63  const double centerX_;
65  const double centerY_;
66  const double centerR_;
67  const double minR_;
68  const double maxR_;
69  const double phiSpeed_;
70  };
71 }
72 
73 #endif
const double minR_
The minimal distance of the helix from the center of the tracker.
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.
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 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.
bool crosses(const BarrelSimplifiedGeometry &layer) const override
Check if an intersection of the trajectory with a barrel layer exists.
double nextCrossingTimeC(const BarrelSimplifiedGeometry &layer, bool onLayer=false) const override
Return delta time (t*c) of the next intersection of trajectory and barrel layer.
Definition the generic trajectory of a particle (base class for helix/straight trajectories).
Definition: Trajectory.h:29
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.
const double centerR_
Distance of the center of the helix from the center of the tracker.
Mathematical representation of a helix.