]>
Commit | Line | Data |
---|---|---|
25819f29 | 1 | #ifndef ALIMUONVCLUSTERSTORE_H |
2 | #define ALIMUONVCLUSTERSTORE_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 AliMUONVClusterStore | |
11 | /// \brief Interface of a cluster container | |
12 | /// | |
13 | // Author Laurent Aphecetche, Subatech | |
14 | ||
15 | #ifndef ALIMUONVSTORE_H | |
16 | # include "AliMUONVStore.h" | |
17 | #endif | |
18 | ||
2060b217 | 19 | #ifndef ALIMUONVCLUSTER_H |
20 | # include "AliMUONVCluster.h" // must be there for covariant return type of FindObjet methods | |
21 | #endif | |
22 | ||
23 | class AliMUONVCluster; | |
25819f29 | 24 | |
25 | class AliMUONVClusterStore : public AliMUONVStore | |
26 | { | |
27 | public: | |
28 | AliMUONVClusterStore(); | |
29 | virtual ~AliMUONVClusterStore(); | |
30 | ||
31 | virtual Bool_t Add(TObject* object); | |
32 | ||
33 | /// Add a cluster object to the store | |
7332f213 | 34 | virtual AliMUONVCluster* Add(const AliMUONVCluster& Cluster) = 0; |
2060b217 | 35 | /// Create a new cluster with an unique ID and add it to the store |
36 | virtual AliMUONVCluster* Add(Int_t chamberId, Int_t detElemId, Int_t clusterIndex) = 0; | |
25819f29 | 37 | |
38 | using AliMUONVStore::Create; | |
39 | ||
40 | static AliMUONVClusterStore* Create(TTree& tree); | |
41 | ||
2060b217 | 42 | /// Create a cluster |
43 | virtual AliMUONVCluster* CreateCluster(Int_t chamberId, Int_t detElemId, Int_t clusterIndex) const = 0; | |
44 | ||
25819f29 | 45 | /// Return an iterator to loop over the whole store |
46 | virtual TIterator* CreateIterator() const = 0; | |
47 | ||
48 | /// Return an iterator to loop over the store in the given chamber range | |
49 | virtual TIterator* CreateChamberIterator(Int_t firstChamberId, Int_t lastChamberId) const = 0; | |
2060b217 | 50 | |
51 | /// Clear container | |
52 | virtual void Clear(Option_t* opt="") = 0; | |
53 | ||
25819f29 | 54 | /// Remove a cluster object to the store |
2060b217 | 55 | virtual AliMUONVCluster* Remove(AliMUONVCluster& cluster) = 0; |
25819f29 | 56 | |
2060b217 | 57 | using AliMUONVStore::FindObject; |
58 | ||
59 | // Find an object (default is the same as in AliMUONVStore) | |
60 | virtual AliMUONVCluster* FindObject(const TObject* object) const; | |
61 | ||
62 | // Find an object by its uniqueID (default is the same as in AliMUONVStore) | |
63 | virtual AliMUONVCluster* FindObject(UInt_t uniqueID) const; | |
25819f29 | 64 | |
65 | ClassDef(AliMUONVClusterStore,1) // Cluster container interface | |
66 | }; | |
67 | ||
68 | #endif | |
2060b217 | 69 |