travex
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GenericTrackNode.h
Go to the documentation of this file.
1 #ifndef tvx_GenericTrackNode_h
2 #define tvx_GenericTrackNode_h
3 
4 
5 namespace tvx {
6 
7 
14 template<class _Coordinates, class _TrackNodeHitContainer>
16 {
17 public:
18 
19  typedef _Coordinates Coordinates_t;
20  typedef _TrackNodeHitContainer TrackNodeHitContainer_t;
21  typedef typename _TrackNodeHitContainer::value_type Hit_t;
22 
23  virtual ~GenericTrackNode() {}
24 
25  virtual const Coordinates_t& GetPosition() const = 0;
26  virtual const Coordinates_t& GetMomentum() const = 0;
27  virtual const Coordinates_t& GetError() const = 0;
28  virtual const Coordinates_t& GetProjError() const = 0;
29  virtual const Hit_t* GetAcceptedHit() const = 0;
30  virtual const TrackNodeHitContainer_t& GetCandidateHits() const = 0;
31 
32  friend bool operator< (const GenericTrackNode& lhs, const GenericTrackNode& rhs)
33  {
34  return lhs.GetPosition() < rhs.GetPosition();
35  }
36 };
37 
38 
39 }
40 
41 #endif
virtual const Coordinates_t & GetError() const =0
_TrackNodeHitContainer::value_type Hit_t
Definition: Event.h:12
virtual const TrackNodeHitContainer_t & GetCandidateHits() const =0
virtual const Hit_t * GetAcceptedHit() const =0
_TrackNodeHitContainer TrackNodeHitContainer_t
virtual const Coordinates_t & GetMomentum() const =0
A templated abstract base class interface with a basic functionality common to all track nodes identi...
virtual const Coordinates_t & GetProjError() const =0
_Coordinates Coordinates_t
virtual const Coordinates_t & GetPosition() const =0
friend bool operator<(const GenericTrackNode &lhs, const GenericTrackNode &rhs)