Line data Source code
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 :
21 : class AliMUONClusterStoreV2Iterator : public TIterator
22 : {
23 : public:
24 : AliMUONClusterStoreV2Iterator(const AliMUONClusterStoreV2* store,
25 : Int_t firstChamberId, Int_t lastChamberId);
26 :
27 : virtual ~AliMUONClusterStoreV2Iterator();
28 :
29 : TObject* Next();
30 :
31 : void Reset();
32 :
33 : /// Return 0 as we're not dealing with TCollection objects really
34 0 : virtual const TCollection* GetCollection() const { return 0x0; }
35 :
36 : private:
37 : TObject* NextInCurrentChamber() const;
38 :
39 : private:
40 : /// Not implemented
41 : AliMUONClusterStoreV2Iterator(const AliMUONClusterStoreV2Iterator& rhs);
42 : /// Not implemented
43 : AliMUONClusterStoreV2Iterator& operator=(const AliMUONClusterStoreV2Iterator& rhs);
44 : /// Overriden TIterator virtual operator=
45 : AliMUONClusterStoreV2Iterator& operator=(const TIterator& rhs);
46 :
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
52 :
53 18 : ClassDef(AliMUONClusterStoreV2Iterator,0) // Implementation of TIterator
54 : };
55 :
56 : #endif
|