Line data Source code
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 18 : ClassDef(AliMUONTOTCAStoreIterator,0) // Iterator on digits
47 : };
48 :
49 : #endif
|