CMS 3D CMS Logo

StraightTrajectory.h
Go to the documentation of this file.
1 #ifndef FASTSIM_STRAIGHTTRAJECTORY_H
2 #define FASTSIM_STRAIGHTTRAJECTORY_H
3 
5 
6 
8 // Author: L. Vanelderen, S. Kurz
9 // Date: 29 May 2017
11 
12 
13 namespace fastsim
14 {
16 
20  {
21  public:
23  /*
24  \param particle A (usually uncharged) particle (or charged particle with very high pT so that trajectory can be considered straight).
25  */
26  StraightTrajectory(const Particle & particle) : Trajectory(particle) {;}
27 
29 
34  bool crosses(const BarrelSimplifiedGeometry & layer) const override {return true;}
35 
37 
43  double nextCrossingTimeC(const BarrelSimplifiedGeometry & layer, bool onLayer = false) const override;
44 
46 
49  void move(double deltaTimeC) override;
50  };
51 }
52 
53 #endif
Implementation of a barrel detector layer (cylindrical).
Mathematical representation of a straight trajectory.
Definition the generic trajectory of a particle (base class for helix/straight trajectories).
Definition: Trajectory.h:29
StraightTrajectory(const Particle &particle)
Constructor.
double nextCrossingTimeC(const BarrelSimplifiedGeometry &layer, bool onLayer=false) const override
Return delta time (t*c) of the next intersection of trajectory and barrel layer.
bool crosses(const BarrelSimplifiedGeometry &layer) const override
Check if an intersection of the trajectory with a barrel layer exists.
void move(double deltaTimeC) override
Move the particle along the helix trajectory for a given time.