]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONDataDigitIterator.h
Removing dependences on AliDAQ class (in raw)
[u/mrichter/AliRoot.git] / MUON / AliMUONDataDigitIterator.h
1 #ifndef ALIMUONDATADIGITITERATOR_H
2 #define ALIMUONDATADIGITITERATOR_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 AliMUONDataDigitIterator
11 /// \brief Iterator on digits (handled by AliMUONData).
12 /// 
13 //  Author: Laurent Aphecetche
14
15 #ifndef ALIMUONVDATAITERATOR_H
16 #  include "AliMUONVDataIterator.h"
17 #endif
18
19 class AliMUONData;
20 class TClonesArray;
21
22 class AliMUONDataDigitIterator : public AliMUONVDataIterator
23 {
24 public:
25   AliMUONDataDigitIterator(const AliMUONData* data, Int_t firstChamber, Int_t lastChamber);
26   AliMUONDataDigitIterator(const AliMUONDataDigitIterator& rhs);
27   AliMUONDataDigitIterator& operator=(const AliMUONDataDigitIterator& rhs);
28   virtual ~AliMUONDataDigitIterator();
29     
30   TObject* Next();
31   
32   void Reset(); 
33   
34   Bool_t Remove();
35   
36 private:
37     void CopyTo(AliMUONDataDigitIterator& destination) const;
38   
39 private:
40   const AliMUONData* fData; //!< Pointer to data accessor
41   Int_t fFirstChamber;      //!< First chamber to iterate on
42   Int_t fLastChamber;       //!< Last chamber to iterate on      
43   TClonesArray* fDigits;    //!< Digits of the current chamber
44   Int_t fCurrentDigit;      //!< Current position within fDigits array
45   Int_t fCurrentChamber;    //!< Current chamber
46   
47   ClassDef(AliMUONDataDigitIterator,0) // Iterator on digits
48 };      
49
50 #endif