1 #ifndef TRACKSTATEPROPAGATOR_H 2 #define TRACKSTATEPROPAGATOR_H 13 class DetectorPropertiesData;
49 Comment(
"Minimum propagation step length guaranteed."),
53 Comment(
"Maximum propagation step length based on fraction of energy loss."),
57 Comment(
"Maximum number of iterations when applying material effects."),
61 Name(
"wrongDirDistTolerance"),
62 Comment(
"Allowed propagation distance in the wrong direction."),
66 Comment(
"Propagate error on 1/p or not (in order to avoid infs, it should be set to false " 67 "when 1/p not updated)."),
80 double wrongDirDistTolerance,
89 p().wrongDirDistTolerance(),
106 return rotateToPlane(success, origin, target, dw2dw1);
112 double distance)
const 114 return origpos + distance * origdir;
118 double distanceToPlane(
bool& success,
122 const Plane& target)
const;
130 double perpDistanceToPlane(
bool& success,
const Point_t& origpos,
const Plane& target)
const;
139 std::pair<double, double> distancePairToPlane(
bool& success,
143 const Plane& target)
const;
146 const Plane& target)
const 153 void apply_dedx(
double& pinv,
159 double& deriv)
const;
182 double& dw2dw1)
const;
Class for track parameters (and errors) defined on a recob::tracking::Plane.
double perpDistanceToPlane(bool &success, const TrackState &origin, const Plane &target) const
Distance of a TrackState (Point) to a Plane along the direction orthogonal to the Plane...
int fMaxNit
Maximum number of iterations.
const Vector_t & momentum() const
momentum of the track
recob::tracking::SMatrixSym55 SMatrixSym55
TrackStatePropagator(Parameters const &p)
Constructor from Parameters (fhicl::Table<Config>).
Class for propagation of a trkf::TrackState to a recob::tracking::Plane.
recob::tracking::Point_t Point_t
double fMinStep
Minimum propagation step length guaranteed.
const Point_t & position() const
position of the track
double fTcut
Maximum delta ray energy for dE/dx.
PropDirection
Propagation direction enum.
recob::tracking::SVector6 SVector6
TrackState rotateToPlane(bool &success, const TrackState &origin, const Plane &target) const
Rotation of a TrackState to a Plane (zero distance propagation)
ROOT::Math::SVector< Double32_t, 6 > SVector6
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< Coord_t >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space. See recob::tracking::Coord_t for more details on the ...
Point_t propagatedPosByDistance(const Point_t &origpos, const Vector_t &origdir, double distance) const
Quick accesss to the propagated position given a distance.
std::pair< double, double > distancePairToPlane(bool &success, const TrackState &origin, const Plane &target) const
Return both direction types in one go.
General LArSoft Utilities.
const detinfo::LArProperties * larprop
Class defining a plane for tracking. It provides various functionalities to convert track parameters ...
bool fPropPinvErr
Propagate error on 1/p or not (in order to avoid infs, it should be set to false when 1/p not updated...
double fWrongDirDistTolerance
Allowed propagation distance in the wrong direction.
double distanceToPlane(bool &success, const TrackState &origin, const Plane &target) const
Distance of a TrackState (Point and Vector) to a Plane, along the TrackState direction.
cout<< "-> Edep in the target
double fMaxElossFrac
Maximum propagation step length based on fraction of energy loss.
recob::tracking::Plane Plane
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< Coord_t >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space. See recob::tracking::Coord_t for more detai...
recob::tracking::Vector_t Vector_t
constexpr Point origin()
Returns a origin position with a point of the specified type.
double getTcut() const
get Tcut parameter used in DetectorPropertiesService Eloss method