LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
KETrack.h
Go to the documentation of this file.
1 
21 #ifndef KETRACK_H
22 #define KETRACK_H
23 
25 #include <optional>
26 
27 namespace trkf {
28 
29  class KETrack : public KTrack {
30  public:
32  KETrack();
33 
35  KETrack(const std::shared_ptr<const Surface>& psurf);
36 
38  KETrack(const std::shared_ptr<const Surface>& psurf,
39  const TrackVector& vec,
40  const TrackError& err,
42  int pdg = 0);
43 
45  KETrack(const KTrack& trk, const TrackError& err);
46 
48  virtual ~KETrack();
49 
50  // Accessors.
51 
52  const TrackError& getError() const { return fErr; }
53  double PointingError() const;
54 
55  // Modifiers.
56 
57  TrackError& getError() { return fErr; }
58  void setError(const TrackError& err) { fErr = err; }
59 
61  std::optional<double> combineTrack(const KETrack& tre);
62 
64  virtual std::ostream& Print(std::ostream& out, bool doTitle = true) const;
65 
66  private:
67  // Attributes.
68 
70  };
71 }
72 
73 #endif
const TrackError & getError() const
Track error matrix.
Definition: KETrack.h:52
TrackDirection
Track direction enum.
Definition: Surface.h:54
double PointingError() const
Pointing error (radians).
Definition: KETrack.cxx:66
TrackError & getError()
Modifiable error matrix.
Definition: KETrack.h:57
KSymMatrix< 5 >::type TrackError
Track error matrix, dimension 5x5.
KETrack()
Default constructor.
Definition: KETrack.cxx:18
void setError(const TrackError &err)
Set error matrix.
Definition: KETrack.h:58
virtual ~KETrack()
Destructor.
Definition: KETrack.cxx:56
std::optional< double > combineTrack(const KETrack &tre)
Combine two tracks.
Definition: KETrack.cxx:87
KVector< 5 >::type TrackVector
Track state vector, dimension 5.
TDirectory * dir
Definition: macro.C:5
TrackError fErr
Track error matrix.
Definition: KETrack.h:69
virtual std::ostream & Print(std::ostream &out, bool doTitle=true) const
Printout.
Definition: KETrack.cxx:179
Basic Kalman filter track class, without error.