Surface.cxx
Go to the documentation of this file.
1 ///////////////////////////////////////////////////////////////////////
2 ///
3 /// \file Surface.cxx
4 ///
5 /// \brief Base class for Kalman filter surface.
6 ///
7 /// \author H. Greenlee
8 ///
9 ////////////////////////////////////////////////////////////////////////
10 
12 
13 namespace trkf {
14 
15  /// Default constructor.
17  {}
18 
19  /// Destructor.
21  {}
22 
23  /// Output operator.
24  std::ostream& operator<<(std::ostream& out, const Surface& surf)
25  {
26  return surf.Print(out);
27  }
28 
29  /// Calculate difference of two track parameter vectors.
30  /// This method has a default implementation which is just the numeric difference.
31  /// Surfaces that require a more sophisticated difference (e.g. phi-wrap difference)
32  /// should override this method.
33  TrackVector Surface::getDiff(const TrackVector& vec1, const TrackVector& vec2) const
34  {
35  return vec1 - vec2;
36  }
37 
38 } // end namespace trkf
virtual std::ostream & Print(std::ostream &out) const =0
Printout.
virtual TrackVector getDiff(const TrackVector &vec1, const TrackVector &vec2) const
Calculate difference of two track parameter vectors.
Definition: Surface.cxx:33
std::ostream & operator<<(std::ostream &out, const KGTrack &trg)
Output operator.
Definition: KGTrack.cxx:309
Base class for Kalman filter surface.
KVector< 5 >::type TrackVector
Track state vector, dimension 5.
Surface()
Default constructor.
Definition: Surface.cxx:16
virtual ~Surface()
Destructor.
Definition: Surface.cxx:20