Line data Source code
1 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 : * See cxx source for full Copyright notice */
3 :
4 : // $Id$
5 : // $MpId: AliMpDEIterator.h,v 1.5 2006/05/24 13:58:16 ivana Exp $
6 :
7 : /// \ingroup management
8 : /// \class AliMpDEIterator
9 : /// \brief The iterator over detection elements
10 : ///
11 : /// It can iterate
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
15 : ///
16 : /// \author Ivana Hrivnacova, IPN Orsay
17 :
18 : #ifndef ALI_MP_DE_ITERATOR_H
19 : #define ALI_MP_DE_ITERATOR_H
20 :
21 : #include <TObject.h>
22 :
23 : #include <TArrayI.h>
24 :
25 : class AliMpDetElement;
26 : class TIterator;
27 : class TString;
28 :
29 : class AliMpDEIterator : public TObject {
30 :
31 : public:
32 : AliMpDEIterator();
33 : //AliMpDEIterator(const AliMpDEIterator& rhs);
34 : virtual ~AliMpDEIterator();
35 :
36 : // Operators
37 : //AliMpDEIterator& operator=(const AliMpDEIterator& rhs);
38 :
39 : // Methods for iterating over DE elements
40 : //
41 : void First();
42 : void First(Int_t chamberId);
43 : void Next();
44 : Bool_t IsDone() const;
45 :
46 : AliMpDetElement* CurrentDE() const;
47 : Int_t CurrentDEId() const;
48 :
49 : private:
50 : /// Not implemented
51 : AliMpDEIterator(const AliMpDEIterator& rhs);
52 : /// Not implemented
53 : AliMpDEIterator& operator=(const AliMpDEIterator& rhs);
54 :
55 : // data members
56 : AliMpDetElement* fCurrentDE; ///< current element in iteration
57 : TIterator* fIterator; ///< iterator
58 : Int_t fChamberId; ///< The iterated chamber
59 :
60 18 : ClassDef(AliMpDEIterator,0) // The iterator over valid detection element IDs
61 : };
62 :
63 : #endif //ALI_MP_DE_ITERATOR_H
64 :
65 :
66 :
67 :
68 :
69 :
70 :
71 :
72 :
73 :
74 :
75 :
76 :
77 :
78 :
|