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(),
107 return rotateToPlane(success, origin, target, dw2dw1);
114 return origpos + distance * origdir;
119 double distanceToPlane(
bool& success,
122 const Plane& target)
const;
132 double perpDistanceToPlane(
bool& success,
const Point_t& origpos,
const Plane& target)
const;
142 std::pair<double, double> distancePairToPlane(
bool& success,
145 const Plane& target)
const;
146 std::pair<double, double>
154 void apply_dedx(
double& pinv,
160 double& deriv)
const;
187 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
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>).
ChannelGroupService::Name Name
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.
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 ...
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)
Point_t propagatedPosByDistance(const Point_t &origpos, const Vector_t &origdir, double distance) const
Quick accesss to the propagated position given a distance.
double distance(double x1, double y1, double z1, double x2, double y2, double z2)
std::pair< double, double > distancePairToPlane(bool &success, const TrackState &origin, const Plane &target) const
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
ROOT::Math::SVector< Double32_t, 6 > SVector6
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