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