Line data Source code
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 :
19 : #ifndef ALIMUONVCLUSTER_H
20 : # include "AliMUONVCluster.h" // must be there for covariant return type of FindObjet methods
21 : #endif
22 :
23 : class AliMUONVCluster;
24 :
25 0 : 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
34 : virtual AliMUONVCluster* Add(const AliMUONVCluster& Cluster) = 0;
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;
37 :
38 : using AliMUONVStore::Create;
39 :
40 : static AliMUONVClusterStore* Create(TTree& tree);
41 :
42 : /// Create a cluster
43 : virtual AliMUONVCluster* CreateCluster(Int_t chamberId, Int_t detElemId, Int_t clusterIndex) const = 0;
44 :
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;
50 :
51 : /// Clear container
52 : virtual void Clear(Option_t* opt="") = 0;
53 :
54 : /// Remove a cluster object to the store
55 : virtual AliMUONVCluster* Remove(AliMUONVCluster& cluster) = 0;
56 :
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;
64 :
65 18 : ClassDef(AliMUONVClusterStore,1) // Cluster container interface
66 : };
67 :
68 : #endif
69 :
|