]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONClusterStoreV2Iterator.h
Create the magnetic field map in the reconstruction macros (Yuri)
[u/mrichter/AliRoot.git] / MUON / AliMUONClusterStoreV2Iterator.h
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