1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
6 /// \ingroup management
7 /// \class AliMpDEIterator
8 /// \brief The iterator over valid detection element IDs
10 /// The valid detection element Ids are defined in the files denames*.dat. \n
12 /// - over all valid detection elements, if started with First() function;
13 /// - or over detection elements in a selected module, if started with
14 /// First(Int_t moduleId) function \n
16 /// Author: Ivana Hrivnacova, IPN Orsay
18 #ifndef ALI_MP_DE_ITERATOR_H
19 #define ALI_MP_DE_ITERATOR_H
21 #include "AliMpStationType.h"
28 class AliMpDEIterator : public TObject {
32 AliMpDEIterator(const AliMpDEIterator& rhs);
33 virtual ~AliMpDEIterator();
36 AliMpDEIterator& operator=(const AliMpDEIterator& rhs);
38 // Methods for iterating over DE elements
41 void First(Int_t moduleId);
43 Bool_t IsDone() const;
44 Int_t CurrentDE() const;
48 static Bool_t ReadDEIds(AliMpStationType station);
49 static void ReadData();
51 // static data members
52 static const Int_t fgkMaxNofDetElements; // Maximum number of DEs
53 static TArrayI fgDetElemIds; // DE Ids
54 static Int_t fgNofDetElemIds; // Number of DE Ids
57 Int_t fIndex; // Current DE index
58 Int_t fModuleId; // The iterated module
60 ClassDef(AliMpDEIterator,0) // MUON Factory for Chambers and Segmentation
63 #endif //ALI_MP_DE_ITERATOR_H