1 #ifndef ALIMUONCLUSTERSTOREV2ITERATOR_H
2 #define ALIMUONCLUSTERSTOREV2ITERATOR_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONClusterStoreV2Iterator
11 /// \brief Base implementation of TIterator for AliMUONClusterStoreV2
13 // Author Philippe Pillot, Subatech
15 #ifndef ROOT_TIterator
16 # include "TIterator.h"
19 class AliMUONClusterStoreV2;
21 class AliMUONClusterStoreV2Iterator : public TIterator
24 AliMUONClusterStoreV2Iterator(const AliMUONClusterStoreV2* store,
25 Int_t firstChamberId, Int_t lastChamberId);
27 virtual ~AliMUONClusterStoreV2Iterator();
33 /// Return 0 as we're not dealing with TCollection objects really
34 virtual const TCollection* GetCollection() const { return 0x0; }
37 TObject* NextInCurrentChamber() const;
41 AliMUONClusterStoreV2Iterator(const AliMUONClusterStoreV2Iterator& rhs);
43 AliMUONClusterStoreV2Iterator& operator=(const AliMUONClusterStoreV2Iterator& rhs);
44 /// Overriden TIterator virtual operator=
45 AliMUONClusterStoreV2Iterator& operator=(const TIterator& rhs);
47 const AliMUONClusterStoreV2* fkStore; ///< store to iterate upon
48 Int_t fFirstChamberId; ///< first chamber
49 Int_t fLastChamberId; ///< last chamber
50 Int_t fCurrentChamberId; ///< current chamber
51 TIterator* fChamberIterator; ///< helper iterator
53 ClassDef(AliMUONClusterStoreV2Iterator,0) // Implementation of TIterator