]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTrackStoreV1.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackStoreV1.h
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   virtual Bool_t CanConnect() const { return kTRUE; }
36   
37   virtual Bool_t Connect(TTree& tree, Bool_t alone=kTRUE) const;
38
39   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     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   ClassDef(AliMUONTrackStoreV1,1) // Implementation of AliMUONVTrackStore
67 };
68
69 #endif