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 
7 // Author: L. Vanelderen, S. Kurz
8 // Date: 29 May 2017
10 
11 namespace fastsim {
13 
16  class StraightTrajectory : public Trajectory {
17  public:
19  /*
20  \param particle A (usually uncharged) particle (or charged particle with very high pT so that trajectory can be considered straight).
21  */
22  StraightTrajectory(const Particle& particle) : Trajectory(particle) { ; }
23 
25  /*
26  \param trajectory StraightTrajectory does not have any special attribues so it can be copied right away
27  */
28  StraightTrajectory(const Trajectory& trajectory) : Trajectory(trajectory) { ; }
29 
31 
36  bool crosses(const BarrelSimplifiedGeometry& layer) const override { return true; }
37 
39 
45  double nextCrossingTimeC(const BarrelSimplifiedGeometry& layer, bool onLayer = false) const override;
46 
48 
51  void move(double deltaTimeC) override;
52  };
53 } // namespace fastsim
54 
55 #endif
fastsim::StraightTrajectory::crosses
bool crosses(const BarrelSimplifiedGeometry &layer) const override
Check if an intersection of the trajectory with a barrel layer exists.
Definition: StraightTrajectory.h:36
Trajectory.h
fastsim::StraightTrajectory::StraightTrajectory
StraightTrajectory(const Trajectory &trajectory)
Use Copy Constructor.
Definition: StraightTrajectory.h:28
fastsim::BarrelSimplifiedGeometry
Implementation of a barrel detector layer (cylindrical).
Definition: BarrelSimplifiedGeometry.h:22
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
fastsim::StraightTrajectory::StraightTrajectory
StraightTrajectory(const Particle &particle)
Constructor.
Definition: StraightTrajectory.h:22
fastsim::Trajectory
Definition the generic trajectory of a particle (base class for helix/straight trajectories).
Definition: Trajectory.h:26
fastsim::StraightTrajectory::move
void move(double deltaTimeC) override
Move the particle along the helix trajectory for a given time.
Definition: StraightTrajectory.cc:71
Particle
Definition: Particle.py:1
fastsim
Definition: BarrelSimplifiedGeometry.h:15
fastsim::StraightTrajectory::nextCrossingTimeC
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: StraightTrajectory.cc:8
fastsim::StraightTrajectory
Mathematical representation of a straight trajectory.
Definition: StraightTrajectory.h:16