1 #ifndef ALIMUONVCLUSTERSTORE_H
2 #define ALIMUONVCLUSTERSTORE_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONVClusterStore
11 /// \brief Interface of a cluster container
13 // Author Laurent Aphecetche, Subatech
15 #ifndef ALIMUONVSTORE_H
16 # include "AliMUONVStore.h"
19 class AliMUONRawCluster;
21 class AliMUONVClusterStore : public AliMUONVStore
24 AliMUONVClusterStore();
25 virtual ~AliMUONVClusterStore();
27 virtual Bool_t Add(TObject* object);
29 /// Add a cluster object to the store
30 virtual Bool_t Add(const AliMUONRawCluster& Cluster) = 0;
32 using AliMUONVStore::Create;
34 static AliMUONVClusterStore* Create(TTree& tree);
36 /// Return an iterator to loop over the whole store
37 virtual TIterator* CreateIterator() const = 0;
39 /// Return an iterator to loop over the store in the given chamber range
40 virtual TIterator* CreateChamberIterator(Int_t firstChamberId, Int_t lastChamberId) const = 0;
42 /// Remove a cluster object to the store
43 virtual AliMUONRawCluster* Remove(AliMUONRawCluster& cluster) = 0;
45 using AliMUONVStore::GetSize;
47 ClassDef(AliMUONVClusterStore,1) // Cluster container interface