]>
Commit | Line | Data |
---|---|---|
5f91c9e8 | 1 | // $Id$ |
2 | // Category: basic | |
3 | // | |
4 | // Class AliMpTransformPadIterator | |
5 | // ------------------------------- | |
6 | // Composite of iterator and transformer. | |
7 | // Transforms returned pad. | |
dbe945cc | 8 | // Included in AliRoot: 2003/05/02 |
5f91c9e8 | 9 | // Authors: David Guez, Ivana Hrivnacova; IPN Orsay |
10 | ||
11 | #include "AliMpTransformPadIterator.h" | |
2998a151 | 12 | #include "AliMpTransformer.h" |
5f91c9e8 | 13 | |
14 | ClassImp(AliMpTransformPadIterator) | |
15 | ||
16 | //______________________________________________________________________________ | |
17 | AliMpTransformPadIterator::AliMpTransformPadIterator(AliMpVPadIterator* it, | |
18 | const AliMpTransformer* transformer) | |
19 | : AliMpVPadIterator(), | |
20 | fIterator(it), | |
21 | fkTransformer(transformer) | |
22 | { | |
23 | // Standard constructor | |
24 | } | |
25 | ||
26 | //______________________________________________________________________________ | |
27 | AliMpTransformPadIterator::AliMpTransformPadIterator( | |
28 | const AliMpTransformPadIterator& right) | |
29 | : AliMpVPadIterator(right) | |
30 | { | |
31 | // Copy constructor | |
32 | ||
33 | *this = right; | |
34 | } | |
35 | ||
36 | //______________________________________________________________________________ | |
37 | AliMpTransformPadIterator::AliMpTransformPadIterator() | |
38 | : AliMpVPadIterator(), | |
39 | fIterator(0), | |
40 | fkTransformer(0) | |
41 | { | |
42 | // Default constructor | |
43 | } | |
44 | ||
45 | //______________________________________________________________________________ | |
46 | AliMpTransformPadIterator::~AliMpTransformPadIterator() | |
47 | { | |
48 | // Destructor | |
49 | // Not owner of its components, does not delete them. | |
50 | } | |
51 | ||
52 | // | |
53 | // operators | |
54 | // | |
55 | ||
56 | //______________________________________________________________________________ | |
57 | AliMpTransformPadIterator& | |
58 | AliMpTransformPadIterator::operator = (const AliMpTransformPadIterator& right) | |
59 | { | |
60 | // assignement operator | |
61 | ||
62 | // check assignement to self | |
63 | if (this == &right) return *this; | |
64 | ||
65 | // base class assignement | |
66 | TObject::operator=(right); | |
67 | ||
68 | fIterator = right.fIterator; | |
69 | fkTransformer = right.fkTransformer; | |
70 | ||
71 | return *this; | |
72 | } | |
73 | ||
74 | // | |
75 | // public methods | |
76 | // | |
77 | ||
78 | //______________________________________________________________________________ | |
79 | void AliMpTransformPadIterator::First() | |
80 | { | |
81 | // Reset the iterator, so that it points to the first available | |
82 | // pad in the area | |
83 | ||
84 | fIterator->First(); | |
85 | } | |
86 | ||
87 | //______________________________________________________________________________ | |
88 | void AliMpTransformPadIterator::Next() | |
89 | { | |
90 | // Move the iterator to the next valid pad. | |
91 | // --- | |
92 | ||
93 | fIterator->Next(); | |
94 | } | |
95 | ||
96 | //______________________________________________________________________________ | |
97 | Bool_t AliMpTransformPadIterator::IsDone() const | |
98 | { | |
99 | // | |
100 | ||
101 | return fIterator->IsDone(); | |
102 | } | |
103 | ||
104 | ||
105 | //______________________________________________________________________________ | |
106 | AliMpPad AliMpTransformPadIterator::CurrentItem() const | |
107 | { | |
108 | // Returns current pad with applied transformation. | |
109 | // --- | |
110 | ||
111 | return fkTransformer->Transform(fIterator->CurrentItem()); | |
112 | } | |
113 | ||
114 | //______________________________________________________________________________ | |
115 | void AliMpTransformPadIterator::Invalidate() | |
116 | { | |
117 | // Set iterator to invalid state. | |
118 | // --- | |
119 | ||
120 | fIterator->Invalidate(); | |
121 | } | |
122 |