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 valid detection element IDs
11 /// The valid detection element Ids are defined in the files denames*.dat. \n
13 /// - over all valid detection elements, if started with First() function;
14 /// - or over detection elements in a selected chamber, if started with
15 /// First(Int_t chamberId) function \n
17 /// \author Ivana Hrivnacova, IPN Orsay
19 #ifndef ALI_MP_DE_ITERATOR_H
20 #define ALI_MP_DE_ITERATOR_H
24 #include "AliMpStationType.h"
30 class AliMpDEIterator : public TObject {
34 AliMpDEIterator(const AliMpDEIterator& rhs);
35 virtual ~AliMpDEIterator();
38 AliMpDEIterator& operator=(const AliMpDEIterator& rhs);
40 // Methods for iterating over DE elements
43 void First(Int_t chamberId);
45 Bool_t IsDone() const;
46 Int_t CurrentDE() const;
50 static Bool_t ReadDEIds(AliMpStationType station);
51 static void ReadData();
53 // static data members
54 static const Int_t fgkMaxNofDetElements; ///< Maximum number of DEs
55 static TArrayI fgDetElemIds; ///< DE Ids
56 static Int_t fgNofDetElemIds; ///< Number of DE Ids
59 Int_t fIndex; ///< Current DE index
60 Int_t fChamberId; ///< The iterated chamber
62 ClassDef(AliMpDEIterator,0) // The iterator over valid detection element IDs
65 #endif //ALI_MP_DE_ITERATOR_H