]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTOTCAStoreIterator.h
extra bit for TPC and Global constrained flagging
[u/mrichter/AliRoot.git] / MUON / AliMUONTOTCAStoreIterator.h
1 #ifndef ALIMUONTOTCASTOREITERATOR_H
2 #define ALIMUONTOTCASTOREITERATOR_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 AliMUONTOTCAStoreIterator
11 /// \brief Iterator on a store composed of a TObjArray of TClonesArrays
12 /// 
13 //  Author: Laurent Aphecetche
14
15 #include "TIterator.h"
16
17 class TClonesArray;
18 class TObjArray;
19
20 class AliMUONTOTCAStoreIterator : public TIterator
21 {
22 public:
23   AliMUONTOTCAStoreIterator(const TObjArray* a, Int_t firstChamberId, Int_t lastChamberId);
24   AliMUONTOTCAStoreIterator(const AliMUONTOTCAStoreIterator& rhs);
25   AliMUONTOTCAStoreIterator& operator=(const TIterator& rhs);
26   AliMUONTOTCAStoreIterator& operator=(const AliMUONTOTCAStoreIterator& rhs);
27   virtual ~AliMUONTOTCAStoreIterator();
28     
29   virtual const TCollection* GetCollection() const;
30   
31   virtual TObject* Next();
32   
33   virtual void Reset(); 
34   
35 private:
36     void CopyTo(AliMUONTOTCAStoreIterator& destination) const;
37   
38 private:
39   const TObjArray* fkData; //!< Pointer to data accessor
40   Int_t fFirstChamberId;      //!< First chamber to iterate on
41   Int_t fLastChamberId;       //!< Last chamber to iterate on      
42   TClonesArray* fCurrentTCA;    //!< TClonesArray of the current chamber
43   Int_t fCurrentTCAIndex;      //!< Current position within fCurrentTCA array
44   Int_t fCurrentChamberId; //!< current chamber id
45   
46   ClassDef(AliMUONTOTCAStoreIterator,0) // Iterator on digits
47 };      
48
49 #endif