1 #ifndef TrajectoryStateOnSurface_H 2 #define TrajectoryStateOnSurface_H 42 Base(
std::forward<Base>(rh)){}
54 template<
typename... Args>
67 return data().hasError();
71 return data().freeTrajectoryState();
81 return data().globalParameters();
84 return data().globalPosition();
87 return data().globalMomentum();
90 return data().globalDirection();
93 return data().charge();
96 return data().signedInverseMomentum();
99 return data().transverseCurvature();
102 return data().cartesianError();
105 return data().curvilinearError();
108 return data().localParameters();
111 return data().localPosition();
114 return data().localMomentum();
117 return data().localDirection();
120 return data().localError();
123 return data().surface();
134 return data().components();
141 return data().surfaceSide();
150 const SurfaceType& aSurface,
159 SurfaceSide side) {
unsharedData().update(p, err, side);}
169 const SurfaceType& aSurface,
TrajectoryStateOnSurface(TrajectoryStateOnSurface &&rh)
void rescaleError(double factor)
~TrajectoryStateOnSurface()
void update(const LocalTrajectoryParameters &p, SurfaceSide side)
TrackCharge charge() const
TrajectoryStateOnSurface & operator=(TrajectoryStateOnSurface const &rh)
std::ostream & operator<<(std::ostream &os, const TrajectoryStateOnSurface &tsos)
const LocalTrajectoryParameters & localParameters() const
CurvilinearTrajectoryError & setCurvilinearError()
LocalVector localDirection() const
LocalPoint localPosition() const
const CurvilinearTrajectoryError & curvilinearError() const
const CartesianTrajectoryError cartesianError() const
GlobalPoint globalPosition() const
BasicTrajectoryState::Proxy Base
std::shared_ptr< T > pointer
const MagneticField * magneticField() const
ProxyBase11 & operator=(std::shared_ptr< U > p)
BasicTrajectoryState BTSOS
LocalVector localMomentum() const
TrajectoryStateOnSurface(BasicTrajectoryState *p)
const SurfaceType & surface() const
void swap(TrajectoryStateOnSurface &rh)
std::vector< TrajectoryStateOnSurface > Components
FreeTrajectoryState const * freeTrajectoryState(bool withErrors=true) const
BasicTrajectoryState::SurfaceType SurfaceType
SurfaceSide surfaceSide() const
Position relative to material, defined relative to momentum vector.
FreeTrajectoryState const * freeState(bool withErrors=true) const
void update(const LocalTrajectoryParameters &p, const SurfaceType &aSurface, const MagneticField *field, SurfaceSide side=SurfaceSideDefinition::atCenterOfSurface)
TrajectoryStateOnSurface(TrajectoryStateOnSurface const &rh)
void swap(ProxyBase11 &other) noexcept
TrajectoryStateOnSurface(TrajectoryStateOnSurface &rh)
const LocalTrajectoryError & localError() const
BasicTrajectoryState::Components Components
TrajectoryStateOnSurface()
BasicTrajectoryState::SurfaceSide SurfaceSide
const GlobalTrajectoryParameters & globalParameters() const
TrajectoryStateOnSurface(Base::pointer p)
Constructor from one of the basic states.
double signedInverseMomentum() const
GlobalVector globalMomentum() const
TrajectoryStateOnSurface & operator=(TrajectoryStateOnSurface &&rh)
TrajectoryStateOnSurface(Args &&...args)
void update(const LocalTrajectoryParameters &p, const LocalTrajectoryError &err, SurfaceSide side)
TrajectoryStateOnSurface(BasicSingleTrajectoryState *p)
Components const & components() const
GlobalVector globalDirection() const
double transverseCurvature() const