1 #ifndef FASTSIM_TRAJECTORY_H 2 #define FASTSIM_TRAJECTORY_H 17 class SimplifiedGeometry;
18 class BarrelSimplifiedGeometry;
19 class ForwardSimplifiedGeometry;
85 virtual void move(
double deltaTimeC) = 0;
Implementation of a forward detector layer (disk).
Implementation of a generic detector layer (base class for forward/barrel layers).
double nextCrossingTimeC(const SimplifiedGeometry &layer, bool onLayer=false) const
Return delta time (t*c) of the next intersection of trajectory and generic layer. ...
virtual void move(double deltaTimeC)=0
Move the particle along the trajectory for a given time.
Implementation of a barrel detector layer (cylindrical).
const math::XYZTLorentzVector & getPosition()
Simple getter: return position of the particle that was used to create trajectory.
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
const math::XYZTLorentzVector & getMomentum()
Simple getter: return momentum of the particle that was used to create trajectory.
math::XYZTLorentzVector position_
position of the particle that was used to create trajectory
Trajectory(const fastsim::Particle &particle)
Constructor of base class.
virtual bool crosses(const BarrelSimplifiedGeometry &layer) const =0
Check if trajectory crosses a barrel layer.
Definition the generic trajectory of a particle (base class for helix/straight trajectories).
static std::unique_ptr< Trajectory > createTrajectory(const fastsim::Particle &particle, const double magneticFieldZ)
Calls constructor of derived classes.
Definition of a generic FastSim Particle which can be propagated through the detector (formerly Parti...
math::XYZTLorentzVector momentum_
momentum of the particle that was used to create trajectory