12 #include <corsika/framework/geometry/PhysicalGeometry.hpp> 13 #include <corsika/framework/geometry/BaseTrajectory.hpp> 44 , timeLength_(timeLength)
45 , timeStep_(timeLength)
46 , initialVelocity_(theLine.getVelocity(
TimeType::zero()))
47 , finalVelocity_(theLine.getVelocity(timeLength)) {}
69 , timeLength_(timeLength)
71 , initialVelocity_(initialV)
72 , finalVelocity_(finalV) {}
74 Line const& getLine()
const {
return line_; }
76 Point getPosition(
double const u)
const {
return line_.getPosition(timeLength_ * u); }
81 return getVelocity(u).normalized();
88 template <
typename Particle>
105 void setFinalVelocity(
VelocityVector const& v) { finalVelocity_ = v; }
117 #include <corsika/detail/framework/geometry/StraightTrajectory.inl>
LengthType getDistance(double const u) const
! total length along straight trajectory
Import and extend the phys::units package.
TimeType getTime(Particle const &particle, double const u) const
! time at the start (u=0) or at the end (u=1) of the track of a particle
A Line describes a movement in three dimensional space.
StraightTrajectory(Line const &theLine, TimeType timeLength)
`, since they are used everywhere as integral part of the framework.
TimeType getDuration(double const u=1) const
! duration along potentially bend trajectory
void setDuration(TimeType const limit)
! set new duration along potentially bend trajectory.
void setLength(LengthType const limit)
! set new duration along potentially bend trajectory.
LengthType getLength(double const u=1) const
! total length along potentially bend trajectory
StraightTrajectory(Line const &theLine, TimeType const timeLength, TimeType const timeStep, VelocityVector const &initialV, VelocityVector const &finalV)
A Trajectory is a description of a momvement of an object in three-dimensional space that describes t...
This implements a straight trajectory between two points.