Go to the documentation of this file.
2 #ifndef FASTSIM_HELIXTRAJECTORY_H
3 #define FASTSIM_HELIXTRAJECTORY_H
48 void move(
double deltaTimeC)
override;
bool crosses(const BarrelSimplifiedGeometry &layer) const override
Check if an intersection of the trajectory with a barrel layer exists.
const double radius_
The radius of the 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.
const double phi_
Ranges from 0 to 2PI: 0 corresponds to the positive X direction, phi increases counterclockwise.
const double maxR_
The maximum distance of the helix from the center of the tracker.
Implementation of a barrel detector layer (cylindrical).
constexpr std::array< uint8_t, layerIndexSize > layer
Mathematical representation of a helix.
const double centerY_
Y-coordinate of the center of the helix.
const double phiSpeed_
The angular speed of the particle on the helix trajectory.
HelixTrajectory(const Particle &particle, double magneticFieldZ)
Constructor.
Definition the generic trajectory of a particle (base class for helix/straight trajectories).
const double centerR_
Distance of the center of the helix from the center of the tracker.
void move(double deltaTimeC) override
Move the particle along the helix trajectory for a given time.
const double minR_
The minimal distance of the helix from the center of the tracker.
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 centerX_
X-coordinate of the center of the helix.