]>
Commit | Line | Data |
---|---|---|
2060b217 | 1 | #ifndef ALIMUONCLUSTERSTOREV2ITERATOR_H |
2 | #define ALIMUONCLUSTERSTOREV2ITERATOR_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 base | |
10 | /// \class AliMUONClusterStoreV2Iterator | |
11 | /// \brief Base implementation of TIterator for AliMUONClusterStoreV2 | |
12 | /// | |
13 | // Author Philippe Pillot, Subatech | |
14 | ||
15 | #ifndef ROOT_TIterator | |
16 | # include "TIterator.h" | |
17 | #endif | |
18 | ||
19 | class AliMUONClusterStoreV2; | |
20 | class TExMapIter; | |
21 | ||
22 | class AliMUONClusterStoreV2Iterator : public TIterator | |
23 | { | |
24 | public: | |
25 | AliMUONClusterStoreV2Iterator(const AliMUONClusterStoreV2* store, | |
26 | Int_t firstChamberId, Int_t lastChamberId); | |
27 | AliMUONClusterStoreV2Iterator(const AliMUONClusterStoreV2Iterator& rhs); | |
28 | AliMUONClusterStoreV2Iterator& operator=(const AliMUONClusterStoreV2Iterator& rhs); | |
29 | TIterator& operator=(const TIterator& rhs); | |
30 | ||
31 | virtual ~AliMUONClusterStoreV2Iterator(); | |
32 | ||
33 | TObject* Next(); | |
34 | ||
35 | void Reset(); | |
36 | ||
37 | /// Return 0 as we're not dealing with TCollection objects really | |
38 | virtual const TCollection* GetCollection() const { return 0x0; } | |
39 | ||
40 | private: | |
41 | TObject* NextInCurrentChamber() const; | |
42 | ||
43 | private: | |
44 | const AliMUONClusterStoreV2* fStore; ///< store to iterate upon | |
45 | Int_t fFirstChamberId; ///< first chamber | |
46 | Int_t fLastChamberId; ///< last chamber | |
47 | Int_t fCurrentChamberId; ///< current chamber | |
48 | TExMapIter* fChamberIterator; ///< helper iterator | |
49 | ||
50 | ClassDef(AliMUONClusterStoreV2Iterator,0) // Implementation of TIterator | |
51 | }; | |
52 | ||
53 | #endif |