1 #ifndef ALIMUONTOTCASTOREITERATOR_H
2 #define ALIMUONTOTCASTOREITERATOR_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONTOTCAStoreIterator
11 /// \brief Iterator on a store composed of a TObjArray of TClonesArrays
13 // Author: Laurent Aphecetche
15 #include "TIterator.h"
20 class AliMUONTOTCAStoreIterator : public TIterator
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();
29 virtual const TCollection* GetCollection() const;
31 virtual TObject* Next();
36 void CopyTo(AliMUONTOTCAStoreIterator& destination) const;
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
46 ClassDef(AliMUONTOTCAStoreIterator,0) // Iterator on digits