TrackTrajectoryAlg.h
Go to the documentation of this file.
1 //////////////////////////////////////////////////////////////////////
2 ///
3 /// TrackTrajectoryAlg class
4 ///
5 /// Bruce Baller, baller@fnal.gov
6 ///
7 /// Algorithm fitting a 3D trajectory through a set of hit pairs
8 ///
9 ////////////////////////////////////////////////////////////////////////
10 #ifndef TRACKTRAJECTORYALG_H
11 #define TRACKTRAJECTORYALG_H
12 
13 #include <array>
14 #include <vector>
15 
17 
20 namespace geo { struct WireID; }
21 
22 class TVector3;
23 
24 namespace trkf {
25 
27  public:
28 
29  void TrackTrajectory(std::array<std::vector<geo::WireID>,3> trkWID,
30  std::array<std::vector<double>,3> trkX,
31  std::array<std::vector<double>,3> trkXErr,
32  std::vector<TVector3>& TrajPos, std::vector<TVector3>& TrajDir);
33 
34  private:
35 
37 
38  double minX;
39  unsigned short minXPln;
40  double maxX;
41  unsigned short maxXPln;
42  bool prt;
43 
44  unsigned short fMaxTrajPoints; // maximum number of trajectory points
45  double fHitWidthFactor; // scales the number of trajectory points to the hit rms
46 
47 
49 
50  void ShortTrackTrajectory(std::array<std::vector<geo::WireID>,3> trkWID,
51  std::array<std::vector<double>,3> trkX,
52  std::array<std::vector<double>,3> trkXErr,
53  std::vector<TVector3>& TrajPos, std::vector<TVector3>& TrajDir);
54 
55  }; // class TrackTrajectoryAlg
56 
57 } // namespace trkf
58 
59 #endif // ifndef TRACKTRAJECTORYALG_H
TrackLineFitAlg fTrackLineFitAlg
art framework interface to geometry description
IDparameter< geo::WireID > WireID
Member type of validated geo::WireID parameter.
auto array(Array const &a)
Returns a manipulator which will print the specified array.
Definition: DumpUtils.h:228
art::ServiceHandle< geo::Geometry const > geom
LArSoft geometry interface.
Definition: ChannelGeo.h:16