travex
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GenericTrack.h
Go to the documentation of this file.
1 #ifndef tvx_GenericTrack_h
2 #define tvx_GenericTrack_h
3 
4 
5 namespace tvx {
6 
7 
12 template<class _GenericEvent, class _TrackNodeContainer>
14 {
15 public:
16 
17  typedef _GenericEvent Event_t;
18  typedef typename _GenericEvent::AddHitResult_t AddHitResult_t;
19  typedef typename _GenericEvent::HitContainer_t HitContainer_t;
20  typedef _TrackNodeContainer TrackNodeContainer_t;
21 
22  virtual ~GenericTrack() {}
23 
24  virtual Event_t* GetParentEvent() = 0;
25  virtual const TrackNodeContainer_t& GetNodes() const = 0;
26  virtual double GetEnergyLosses() const = 0;
27  virtual AddHitResult_t AddToParentEvent(const typename HitContainer_t::value_type& hit) = 0;
28 };
29 
30 }
31 
32 #endif
_GenericEvent::HitContainer_t HitContainer_t
Definition: GenericTrack.h:19
virtual double GetEnergyLosses() const =0
Definition: Event.h:12
virtual ~GenericTrack()
Definition: GenericTrack.h:22
_GenericEvent::AddHitResult_t AddHitResult_t
Definition: GenericTrack.h:18
virtual AddHitResult_t AddToParentEvent(const typename HitContainer_t::value_type &hit)=0
_TrackNodeContainer TrackNodeContainer_t
Definition: GenericTrack.h:20
virtual Event_t * GetParentEvent()=0
virtual const TrackNodeContainer_t & GetNodes() const =0
A templated abstract base class interface with a basic functionality common to all tracks reconstruct...
Definition: GenericTrack.h:13
_GenericEvent Event_t
Definition: GenericTrack.h:17