new functionality and new class added
[u/mrichter/AliRoot.git] / MUON / AliMUONDigitStoreVImplIterator.h
1 #ifndef ALIMUONDIGITSTOREVIMPLITERATOR_H
2 #define ALIMUONDIGITSTOREVIMPLITERATOR_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 AliMUONDigitStoreVImplIterator
11 /// \brief Base implementation of TIterator for AliMUONDigitStoreVImpl
12 /// 
13 // Author Laurent Aphecetche
14
15 #ifndef ROOT_TIterator
16 #  include "TIterator.h"
17 #endif
18
19 class AliMUONDigitStoreVImpl;
20 class AliMUONVCalibParam;
21
22 class AliMUONDigitStoreVImplIterator : public TIterator
23 {
24 public:
25   AliMUONDigitStoreVImplIterator(const AliMUONDigitStoreVImpl* store);
26   AliMUONDigitStoreVImplIterator(const AliMUONDigitStoreVImpl* store,
27                               Int_t firstDetElemId,
28                               Int_t lastDetElemId,
29                               Int_t cathode=2);
30   
31   virtual ~AliMUONDigitStoreVImplIterator();
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   /// Not implemented
42   AliMUONDigitStoreVImplIterator(const AliMUONDigitStoreVImplIterator& rhs);
43   /// Not implemented
44   AliMUONDigitStoreVImplIterator& operator=(const AliMUONDigitStoreVImplIterator& rhs);
45   /// Overriden TIterator virtual operator=
46   AliMUONDigitStoreVImplIterator& operator=(const TIterator& rhs);
47
48   const AliMUONDigitStoreVImpl* fkStore; //!< store to iterate upon
49   Int_t fFirstDetElemId; //!< first de
50   Int_t fLastDetElemId; //!< last de
51   Int_t fCathode; //!< cathode (-1 for both)
52   TIterator* fStoreIterator; //!< helper iterator
53   AliMUONVCalibParam* fCurrentCalibParam; //!< current CalibParam
54   Int_t fCurrentCalibParamIndex; //!< current index in fCurrentCalibParam
55   
56   ClassDef(AliMUONDigitStoreVImplIterator,1) // Implementation of AliMUONVDataIterator
57 };
58
59 #endif