Legacy implementation of AliMUONVClusterStore (Laurent)
[u/mrichter/AliRoot.git] / MUON / AliMUONClusterStoreV1.h
1 #ifndef ALIMUONCLUSTERSTOREV1_H
2 #define ALIMUONCLUSTERSTOREV1_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 AliMUONClusterStoreV1
11 /// \brief Implementation of VClusterStore
12 /// 
13 // Author Laurent Aphecetche, Subatech
14
15 #ifndef ALIMUONVCLUSTERSTORE_H
16 #  include "AliMUONVClusterStore.h"
17 #endif
18
19 class TObjArray;
20 class TClonesArray;
21
22 class AliMUONClusterStoreV1 : public AliMUONVClusterStore
23 {
24 public:
25   AliMUONClusterStoreV1();
26   AliMUONClusterStoreV1(const AliMUONClusterStoreV1& rhs);
27   AliMUONClusterStoreV1& operator=(const AliMUONClusterStoreV1& rhs);  
28   virtual ~AliMUONClusterStoreV1();
29   
30   virtual AliMUONClusterStoreV1* Create() const { return new AliMUONClusterStoreV1; }
31   
32   using AliMUONVClusterStore::Add;
33   
34   virtual Bool_t Add(const AliMUONRawCluster& Cluster);
35
36   /// Whether the Connect(TTree&) method is implemented
37   virtual Bool_t CanConnect() const { return kTRUE; }
38   
39   virtual TIterator* CreateIterator() const;
40
41   virtual TIterator* CreateChamberIterator(Int_t firstChamberId, Int_t lastChamberId) const;
42   
43   virtual Bool_t Connect(TTree& tree, Bool_t alone=kTRUE) const;
44
45   virtual void Clear(Option_t* opt="");
46   
47   using AliMUONVClusterStore::GetSize;
48   
49   virtual Int_t GetSize() const;
50
51   virtual AliMUONRawCluster* Remove(AliMUONRawCluster& cluster);
52
53 private:
54
55   TClonesArray* ChamberClusters(Int_t chamberId) const;
56   TObject** ChamberClustersPtr(Int_t chamberId) const;
57   //AliMUONRawCluster* Find(Int_t clusterId, Int_t& index) const;
58   
59 private:
60   TObjArray* fClusters; //!< Array of TClonesArray of RawClusters
61   
62   ClassDef(AliMUONClusterStoreV1,1) // Implementation of VClusterStore
63 };
64
65 #endif