travex
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GenericEvent.h
Go to the documentation of this file.
1 #ifndef tvx_GenericEvent_h
2 #define tvx_GenericEvent_h
3 
4 #include <utility>
5 
6 
7 namespace tvx {
8 
9 
14 template<typename _TrackContainer, typename _HitContainer>
16 {
17 public:
18 
19  typedef _TrackContainer TrackContainer_t;
20  typedef _HitContainer HitContainer_t;
21  typedef std::pair< typename _HitContainer::iterator, bool> AddHitResult_t;
22 
23  virtual ~GenericEvent() {}
24 
25  virtual void AddTracks(const TrackContainer_t& tracks) = 0;
26  virtual void AddTrack(const typename TrackContainer_t::value_type& track) = 0;
27  virtual const TrackContainer_t& GetTracks() const = 0;
28 
29  virtual void AddHits(const HitContainer_t& hits) = 0;
30  virtual AddHitResult_t AddHit(const typename HitContainer_t::value_type& hit) = 0;
31  virtual const HitContainer_t& GetHits() const = 0;
32 };
33 
34 }
35 
36 #endif
Definition: Event.h:12
std::pair< typename _HitContainer::iterator, bool > AddHitResult_t
Definition: GenericEvent.h:21
virtual void AddTrack(const typename TrackContainer_t::value_type &track)=0
virtual const TrackContainer_t & GetTracks() const =0
virtual void AddTracks(const TrackContainer_t &tracks)=0
virtual const HitContainer_t & GetHits() const =0
virtual AddHitResult_t AddHit(const typename HitContainer_t::value_type &hit)=0
virtual void AddHits(const HitContainer_t &hits)=0
A templated abstract base class interface with a basic functionality common to all events recorded by...
Definition: GenericEvent.h:15
_TrackContainer TrackContainer_t
Definition: GenericEvent.h:19
_HitContainer HitContainer_t
Definition: GenericEvent.h:20
virtual ~GenericEvent()
Definition: GenericEvent.h:23