Line data Source code
1 : #ifndef ALIMUONVTRACKSTORE_H
2 : #define ALIMUONVTRACKSTORE_H
3 :
4 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 : * See cxx source for full Copyright notice */
6 :
7 : // $Id$
8 :
9 : /// \ingroup rec
10 : /// \class AliMUONVTrackStore
11 : /// \brief Base class of a track container
12 : ///
13 : // Author Laurent Aphecetche, Subatech
14 :
15 : #ifndef ALIMUONVSTORE_H
16 : # include "AliMUONVStore.h"
17 : #endif
18 :
19 : class AliMUONTrack;
20 :
21 0 : class AliMUONVTrackStore : public AliMUONVStore
22 : {
23 : public:
24 : AliMUONVTrackStore();
25 : virtual ~AliMUONVTrackStore();
26 :
27 : /// Add an object, if of the right type
28 : virtual Bool_t Add(TObject* object);
29 :
30 : /// Add a track
31 : virtual AliMUONTrack* Add(const AliMUONTrack& track) = 0;
32 :
33 : /// Remove a track from the store
34 : virtual AliMUONTrack* Remove(AliMUONTrack& track) = 0;
35 :
36 : using AliMUONVStore::Create;
37 :
38 : /// Create a store from the tree (if possible).
39 : static AliMUONVTrackStore* Create(TTree& tree);
40 :
41 : /// Create an iterator to loop over tracks
42 : virtual TIterator* CreateIterator() const = 0;
43 :
44 : using AliMUONVStore::GetSize;
45 :
46 18 : ClassDef(AliMUONVTrackStore,1) // Base class of a track store
47 : };
48 :
49 : #endif
|