Line data Source code
1 : #ifndef ALIMUONTRACKSTOREV1_H
2 : #define ALIMUONTRACKSTOREV1_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 AliMUONTrackStoreV1
11 : /// \brief Implementation of AliMUONVTrackStore
12 : ///
13 : // Author Laurent Aphecetche
14 :
15 : #ifndef ALIMUONVTRACKSTORE_H
16 : # include "AliMUONVTrackStore.h"
17 : #endif
18 :
19 : class TClonesArray;
20 :
21 : class AliMUONTrackStoreV1 : public AliMUONVTrackStore
22 : {
23 : public:
24 : AliMUONTrackStoreV1();
25 : AliMUONTrackStoreV1(TRootIOCtor* dummy);
26 : virtual ~AliMUONTrackStoreV1();
27 :
28 : using AliMUONVTrackStore::Add;
29 :
30 : virtual AliMUONTrack* Add(const AliMUONTrack& track);
31 :
32 : virtual AliMUONTrack* Remove(AliMUONTrack& track);
33 :
34 : /// Whether the Connect(TTree&) method is implemented
35 0 : virtual Bool_t CanConnect() const { return kTRUE; }
36 :
37 : virtual Bool_t Connect(TTree& tree, Bool_t alone=kTRUE) const;
38 :
39 0 : virtual AliMUONTrackStoreV1* Create() const { return new AliMUONTrackStoreV1; }
40 :
41 : virtual TIterator* CreateIterator() const;
42 :
43 : virtual void Clear(Option_t* opt="");
44 :
45 : using AliMUONVTrackStore::GetSize;
46 :
47 : virtual Int_t GetSize() const;
48 :
49 : private:
50 : /// Return the tracks array
51 : TClonesArray* Tracks() const { return fTracks; }
52 :
53 : void CreateTracks();
54 :
55 : /// Return the address of the tracks array
56 0 : TClonesArray** TracksPtr() const { return const_cast<TClonesArray**>(&fTracks); }
57 :
58 : /// Not implemented
59 : AliMUONTrackStoreV1(const AliMUONTrackStoreV1&);
60 : /// Not implemented
61 : AliMUONTrackStoreV1& operator=(const AliMUONTrackStoreV1&);
62 :
63 : private:
64 : TClonesArray* fTracks; ///< Internal array
65 :
66 18 : ClassDef(AliMUONTrackStoreV1,1) // Implementation of AliMUONVTrackStore
67 : };
68 :
69 : #endif
|