1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpDEIterator.h,v 1.5 2006/05/24 13:58:16 ivana Exp $
7 /// \ingroup management
8 /// \class AliMpDEIterator
9 /// \brief The iterator over detection elements
12 /// - over all detection elements, if started with First() function;
13 /// - or over detection elements in a selected chamber, if started with
14 /// First(Int_t chamberId) function \n
16 /// \author Ivana Hrivnacova, IPN Orsay
18 #ifndef ALI_MP_DE_ITERATOR_H
19 #define ALI_MP_DE_ITERATOR_H
26 class AliMpDetElement;
31 class AliMpDEIterator : public TObject {
35 AliMpDEIterator(const AliMpDEIterator& rhs);
36 virtual ~AliMpDEIterator();
39 AliMpDEIterator& operator=(const AliMpDEIterator& rhs);
41 // Methods for iterating over DE elements
44 void First(Int_t chamberId);
46 Bool_t IsDone() const;
48 AliMpDetElement* CurrentDE() const;
49 Int_t CurrentDEId() const;
53 AliMpDetElement* GetDetElement(Int_t index) const;
56 AliMpDEStore* fDEStore; ///< DE store
57 Int_t fIndex; ///< Current DE index
58 Int_t fChamberId; ///< The iterated chamber
60 ClassDef(AliMpDEIterator,0) // The iterator over valid detection element IDs
63 #endif //ALI_MP_DE_ITERATOR_H