AliRoot Core  3abf5b4 (3abf5b4)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONClusterStoreV1.h
Go to the documentation of this file.
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 
13 // Author Laurent Aphecetche, Subatech
14 
15 #ifndef ALIMUONVCLUSTERSTORE_H
16 # include "AliMUONVClusterStore.h"
17 #endif
18 
19 class TObjArray;
20 class TClonesArray;
21 
23 {
24 public:
28  virtual ~AliMUONClusterStoreV1();
29 
30  virtual AliMUONClusterStoreV1* Create() const { return new AliMUONClusterStoreV1; }
31 
32  virtual AliMUONVCluster* CreateCluster(Int_t /*chamberId*/, Int_t detElemId, Int_t /*clusterIndex*/) const;
33 
35 
36  virtual AliMUONVCluster* Add(const AliMUONVCluster& Cluster);
37  virtual AliMUONVCluster* Add(Int_t chamberId, Int_t detElemId, Int_t /*clusterIndex*/);
38 
40  virtual Bool_t CanConnect() const { return kTRUE; }
41 
42  virtual TIterator* CreateIterator() const;
43 
44  virtual TIterator* CreateChamberIterator(Int_t firstChamberId, Int_t lastChamberId) const;
45 
46  virtual Bool_t Connect(TTree& tree, Bool_t alone=kTRUE) const;
47 
48  virtual void Clear(Option_t* opt="");
49 
51 
52  virtual Int_t GetSize() const;
53 
54  virtual AliMUONVCluster* Remove(AliMUONVCluster& cluster);
55 
56 private:
57 
58  TClonesArray* ChamberClusters(Int_t chamberId) const;
59  TObject** ChamberClustersPtr(Int_t chamberId) const;
60  //AliMUONVCluster* Find(Int_t clusterId, Int_t& index) const;
61 
62 private:
64 
65  ClassDef(AliMUONClusterStoreV1,1) // Implementation of VClusterStore
66 };
67 
68 #endif
69 
#define TObjArray
TObjArray * fClusters
! Array of TClonesArray of VClusters
virtual Int_t GetSize() const =0
The number of objects stored.
TObject ** ChamberClustersPtr(Int_t chamberId) const
TTree * tree
virtual AliMUONVCluster * Add(const AliMUONVCluster &Cluster)
Add a cluster object to the store.
virtual AliMUONClusterStoreV1 * Create() const
Create an empty copy of this.
virtual Bool_t Add(TObject *object)
Add an object to the store.
virtual TIterator * CreateIterator() const
Return an iterator to loop over the whole store.
abstract base class for clusters
Implementation of VClusterStore.
virtual Bool_t Connect(TTree &tree, Bool_t alone=kTRUE) const
Connect us to a TTree (only valid if CanConnect()==kTRUE)
virtual void Clear(Option_t *opt="")
Clear container.
Interface of a cluster container.
virtual TIterator * CreateChamberIterator(Int_t firstChamberId, Int_t lastChamberId) const
Return an iterator to loop over the store in the given chamber range.
virtual AliMUONVCluster * Remove(AliMUONVCluster &cluster)
Remove a cluster object to the store.
virtual AliMUONVCluster * CreateCluster(Int_t, Int_t detElemId, Int_t) const
Create a cluster.
virtual Int_t GetSize() const
The number of objects stored.
AliMUONClusterStoreV1 & operator=(const AliMUONClusterStoreV1 &rhs)
virtual Bool_t CanConnect() const
Whether the Connect(TTree&) method is implemented.
TClonesArray * ChamberClusters(Int_t chamberId) const