#include "AliMpSectorAreaHPadIterator.h"
#include "AliMpSectorSegmentation.h"
#include "AliMpConstants.h"
#include <Riostream.h>
ClassImp(AliMpSectorAreaHPadIterator)
AliMpSectorAreaHPadIterator::AliMpSectorAreaHPadIterator(
const AliMpSectorSegmentation* segmentation,
const AliMpArea& area)
: AliMpVPadIterator(),
fkSegmentation(segmentation),
fkArea(area),
fCurrentPad(AliMpPad::Invalid()),
fCurrentRowPosition(0.)
{
}
AliMpSectorAreaHPadIterator::AliMpSectorAreaHPadIterator(
const AliMpSectorAreaHPadIterator& right)
: AliMpVPadIterator(right),
fkSegmentation(0),
fkArea(AliMpArea()),
fCurrentPad(AliMpPad::Invalid()),
fCurrentRowPosition(0.)
{
*this = right;
}
AliMpSectorAreaHPadIterator::AliMpSectorAreaHPadIterator()
: AliMpVPadIterator(),
fkSegmentation(0),
fkArea(AliMpArea()),
fCurrentPad(AliMpPad::Invalid()),
fCurrentRowPosition(0.)
{
}
AliMpSectorAreaHPadIterator::~AliMpSectorAreaHPadIterator()
{
}
AliMpSectorAreaHPadIterator&
AliMpSectorAreaHPadIterator::operator = (const AliMpSectorAreaHPadIterator& right)
{
if (this == &right) return *this;
AliMpVPadIterator::operator=(right);
fkSegmentation = right.fkSegmentation;
fkArea = right.fkArea;
fCurrentPad = right.fCurrentPad;
fCurrentRowPosition = right.fCurrentRowPosition;
return *this;
}
Bool_t AliMpSectorAreaHPadIterator::IsValid() const
{
return fCurrentPad.IsValid() ;
}
void AliMpSectorAreaHPadIterator::MoveUp()
{
Double_t dy = fkSegmentation->GetMinPadDimensionY();
while ( ! fCurrentPad.IsValid() &&
fCurrentRowPosition + dy < fkArea.UpBorder() )
{
fCurrentRowPosition += 2.*dy;
fCurrentPad
= fkSegmentation->PadByDirection(fkArea.LeftBorder(), fCurrentRowPosition,
fkArea.RightBorder());
}
}
void AliMpSectorAreaHPadIterator::First()
{
if ( ! fkSegmentation ) {
Fatal("First", "Segmentation is not defined");
return;
}
fCurrentRowPosition = fkArea.DownBorder();
Double_t posx, posy;
fkArea.LeftDownCorner(posx, posy);
fCurrentPad = fkSegmentation->PadByDirection(posx, posy, fkArea.RightBorder());
MoveUp();
if (fCurrentPad.IsValid()) fCurrentRowPosition = fCurrentPad.GetPositionY();
}
void AliMpSectorAreaHPadIterator::Next()
{
if ( ! IsValid() ) return;
fCurrentPad
= fkSegmentation->PadByDirection(
fCurrentPad.GetPositionX() + fCurrentPad.GetDimensionX() +
AliMpConstants::LengthStep(),
fCurrentPad.GetPositionY(),
fkArea.RightBorder());
if ( fCurrentPad.IsValid() ) return;
MoveUp();
}
Bool_t AliMpSectorAreaHPadIterator::IsDone() const
{
return !IsValid();
}
AliMpPad AliMpSectorAreaHPadIterator::CurrentItem () const
{
return fCurrentPad;
}
void AliMpSectorAreaHPadIterator::Invalidate()
{
fCurrentPad = AliMpPad::Invalid();
fCurrentRowPosition = 0;
}
AliMpSectorAreaHPadIterator.cxx:1 AliMpSectorAreaHPadIterator.cxx:2 AliMpSectorAreaHPadIterator.cxx:3 AliMpSectorAreaHPadIterator.cxx:4 AliMpSectorAreaHPadIterator.cxx:5 AliMpSectorAreaHPadIterator.cxx:6 AliMpSectorAreaHPadIterator.cxx:7 AliMpSectorAreaHPadIterator.cxx:8 AliMpSectorAreaHPadIterator.cxx:9 AliMpSectorAreaHPadIterator.cxx:10 AliMpSectorAreaHPadIterator.cxx:11 AliMpSectorAreaHPadIterator.cxx:12 AliMpSectorAreaHPadIterator.cxx:13 AliMpSectorAreaHPadIterator.cxx:14 AliMpSectorAreaHPadIterator.cxx:15 AliMpSectorAreaHPadIterator.cxx:16 AliMpSectorAreaHPadIterator.cxx:17 AliMpSectorAreaHPadIterator.cxx:18 AliMpSectorAreaHPadIterator.cxx:19 AliMpSectorAreaHPadIterator.cxx:20 AliMpSectorAreaHPadIterator.cxx:21 AliMpSectorAreaHPadIterator.cxx:22 AliMpSectorAreaHPadIterator.cxx:23 AliMpSectorAreaHPadIterator.cxx:24 AliMpSectorAreaHPadIterator.cxx:25 AliMpSectorAreaHPadIterator.cxx:26 AliMpSectorAreaHPadIterator.cxx:27 AliMpSectorAreaHPadIterator.cxx:28 AliMpSectorAreaHPadIterator.cxx:29 AliMpSectorAreaHPadIterator.cxx:30 AliMpSectorAreaHPadIterator.cxx:31 AliMpSectorAreaHPadIterator.cxx:32 AliMpSectorAreaHPadIterator.cxx:33 AliMpSectorAreaHPadIterator.cxx:34 AliMpSectorAreaHPadIterator.cxx:35 AliMpSectorAreaHPadIterator.cxx:36 AliMpSectorAreaHPadIterator.cxx:37 AliMpSectorAreaHPadIterator.cxx:38 AliMpSectorAreaHPadIterator.cxx:39 AliMpSectorAreaHPadIterator.cxx:40 AliMpSectorAreaHPadIterator.cxx:41 AliMpSectorAreaHPadIterator.cxx:42 AliMpSectorAreaHPadIterator.cxx:43 AliMpSectorAreaHPadIterator.cxx:44 AliMpSectorAreaHPadIterator.cxx:45 AliMpSectorAreaHPadIterator.cxx:46 AliMpSectorAreaHPadIterator.cxx:47 AliMpSectorAreaHPadIterator.cxx:48 AliMpSectorAreaHPadIterator.cxx:49 AliMpSectorAreaHPadIterator.cxx:50 AliMpSectorAreaHPadIterator.cxx:51 AliMpSectorAreaHPadIterator.cxx:52 AliMpSectorAreaHPadIterator.cxx:53 AliMpSectorAreaHPadIterator.cxx:54 AliMpSectorAreaHPadIterator.cxx:55 AliMpSectorAreaHPadIterator.cxx:56 AliMpSectorAreaHPadIterator.cxx:57 AliMpSectorAreaHPadIterator.cxx:58 AliMpSectorAreaHPadIterator.cxx:59 AliMpSectorAreaHPadIterator.cxx:60 AliMpSectorAreaHPadIterator.cxx:61 AliMpSectorAreaHPadIterator.cxx:62 AliMpSectorAreaHPadIterator.cxx:63 AliMpSectorAreaHPadIterator.cxx:64 AliMpSectorAreaHPadIterator.cxx:65 AliMpSectorAreaHPadIterator.cxx:66 AliMpSectorAreaHPadIterator.cxx:67 AliMpSectorAreaHPadIterator.cxx:68 AliMpSectorAreaHPadIterator.cxx:69 AliMpSectorAreaHPadIterator.cxx:70 AliMpSectorAreaHPadIterator.cxx:71 AliMpSectorAreaHPadIterator.cxx:72 AliMpSectorAreaHPadIterator.cxx:73 AliMpSectorAreaHPadIterator.cxx:74 AliMpSectorAreaHPadIterator.cxx:75 AliMpSectorAreaHPadIterator.cxx:76 AliMpSectorAreaHPadIterator.cxx:77 AliMpSectorAreaHPadIterator.cxx:78 AliMpSectorAreaHPadIterator.cxx:79 AliMpSectorAreaHPadIterator.cxx:80 AliMpSectorAreaHPadIterator.cxx:81 AliMpSectorAreaHPadIterator.cxx:82 AliMpSectorAreaHPadIterator.cxx:83 AliMpSectorAreaHPadIterator.cxx:84 AliMpSectorAreaHPadIterator.cxx:85 AliMpSectorAreaHPadIterator.cxx:86 AliMpSectorAreaHPadIterator.cxx:87 AliMpSectorAreaHPadIterator.cxx:88 AliMpSectorAreaHPadIterator.cxx:89 AliMpSectorAreaHPadIterator.cxx:90 AliMpSectorAreaHPadIterator.cxx:91 AliMpSectorAreaHPadIterator.cxx:92 AliMpSectorAreaHPadIterator.cxx:93 AliMpSectorAreaHPadIterator.cxx:94 AliMpSectorAreaHPadIterator.cxx:95 AliMpSectorAreaHPadIterator.cxx:96 AliMpSectorAreaHPadIterator.cxx:97 AliMpSectorAreaHPadIterator.cxx:98 AliMpSectorAreaHPadIterator.cxx:99 AliMpSectorAreaHPadIterator.cxx:100 AliMpSectorAreaHPadIterator.cxx:101 AliMpSectorAreaHPadIterator.cxx:102 AliMpSectorAreaHPadIterator.cxx:103 AliMpSectorAreaHPadIterator.cxx:104 AliMpSectorAreaHPadIterator.cxx:105 AliMpSectorAreaHPadIterator.cxx:106 AliMpSectorAreaHPadIterator.cxx:107 AliMpSectorAreaHPadIterator.cxx:108 AliMpSectorAreaHPadIterator.cxx:109 AliMpSectorAreaHPadIterator.cxx:110 AliMpSectorAreaHPadIterator.cxx:111 AliMpSectorAreaHPadIterator.cxx:112 AliMpSectorAreaHPadIterator.cxx:113 AliMpSectorAreaHPadIterator.cxx:114 AliMpSectorAreaHPadIterator.cxx:115 AliMpSectorAreaHPadIterator.cxx:116 AliMpSectorAreaHPadIterator.cxx:117 AliMpSectorAreaHPadIterator.cxx:118 AliMpSectorAreaHPadIterator.cxx:119 AliMpSectorAreaHPadIterator.cxx:120 AliMpSectorAreaHPadIterator.cxx:121 AliMpSectorAreaHPadIterator.cxx:122 AliMpSectorAreaHPadIterator.cxx:123 AliMpSectorAreaHPadIterator.cxx:124 AliMpSectorAreaHPadIterator.cxx:125 AliMpSectorAreaHPadIterator.cxx:126 AliMpSectorAreaHPadIterator.cxx:127 AliMpSectorAreaHPadIterator.cxx:128 AliMpSectorAreaHPadIterator.cxx:129 AliMpSectorAreaHPadIterator.cxx:130 AliMpSectorAreaHPadIterator.cxx:131 AliMpSectorAreaHPadIterator.cxx:132 AliMpSectorAreaHPadIterator.cxx:133 AliMpSectorAreaHPadIterator.cxx:134 AliMpSectorAreaHPadIterator.cxx:135 AliMpSectorAreaHPadIterator.cxx:136 AliMpSectorAreaHPadIterator.cxx:137 AliMpSectorAreaHPadIterator.cxx:138 AliMpSectorAreaHPadIterator.cxx:139 AliMpSectorAreaHPadIterator.cxx:140 AliMpSectorAreaHPadIterator.cxx:141 AliMpSectorAreaHPadIterator.cxx:142 AliMpSectorAreaHPadIterator.cxx:143 AliMpSectorAreaHPadIterator.cxx:144 AliMpSectorAreaHPadIterator.cxx:145 AliMpSectorAreaHPadIterator.cxx:146 AliMpSectorAreaHPadIterator.cxx:147 AliMpSectorAreaHPadIterator.cxx:148 AliMpSectorAreaHPadIterator.cxx:149 AliMpSectorAreaHPadIterator.cxx:150 AliMpSectorAreaHPadIterator.cxx:151 AliMpSectorAreaHPadIterator.cxx:152 AliMpSectorAreaHPadIterator.cxx:153 AliMpSectorAreaHPadIterator.cxx:154 AliMpSectorAreaHPadIterator.cxx:155 AliMpSectorAreaHPadIterator.cxx:156 AliMpSectorAreaHPadIterator.cxx:157 AliMpSectorAreaHPadIterator.cxx:158 AliMpSectorAreaHPadIterator.cxx:159 AliMpSectorAreaHPadIterator.cxx:160 AliMpSectorAreaHPadIterator.cxx:161 AliMpSectorAreaHPadIterator.cxx:162 AliMpSectorAreaHPadIterator.cxx:163 AliMpSectorAreaHPadIterator.cxx:164 AliMpSectorAreaHPadIterator.cxx:165 AliMpSectorAreaHPadIterator.cxx:166 AliMpSectorAreaHPadIterator.cxx:167 AliMpSectorAreaHPadIterator.cxx:168 AliMpSectorAreaHPadIterator.cxx:169 AliMpSectorAreaHPadIterator.cxx:170 AliMpSectorAreaHPadIterator.cxx:171 AliMpSectorAreaHPadIterator.cxx:172 AliMpSectorAreaHPadIterator.cxx:173 AliMpSectorAreaHPadIterator.cxx:174 AliMpSectorAreaHPadIterator.cxx:175 AliMpSectorAreaHPadIterator.cxx:176 AliMpSectorAreaHPadIterator.cxx:177 AliMpSectorAreaHPadIterator.cxx:178 AliMpSectorAreaHPadIterator.cxx:179 AliMpSectorAreaHPadIterator.cxx:180 AliMpSectorAreaHPadIterator.cxx:181 AliMpSectorAreaHPadIterator.cxx:182 AliMpSectorAreaHPadIterator.cxx:183 AliMpSectorAreaHPadIterator.cxx:184 AliMpSectorAreaHPadIterator.cxx:185 AliMpSectorAreaHPadIterator.cxx:186 AliMpSectorAreaHPadIterator.cxx:187 AliMpSectorAreaHPadIterator.cxx:188 AliMpSectorAreaHPadIterator.cxx:189 AliMpSectorAreaHPadIterator.cxx:190 AliMpSectorAreaHPadIterator.cxx:191 AliMpSectorAreaHPadIterator.cxx:192 AliMpSectorAreaHPadIterator.cxx:193 AliMpSectorAreaHPadIterator.cxx:194 AliMpSectorAreaHPadIterator.cxx:195 AliMpSectorAreaHPadIterator.cxx:196 AliMpSectorAreaHPadIterator.cxx:197 AliMpSectorAreaHPadIterator.cxx:198 AliMpSectorAreaHPadIterator.cxx:199 AliMpSectorAreaHPadIterator.cxx:200 AliMpSectorAreaHPadIterator.cxx:201 AliMpSectorAreaHPadIterator.cxx:202 AliMpSectorAreaHPadIterator.cxx:203 AliMpSectorAreaHPadIterator.cxx:204 AliMpSectorAreaHPadIterator.cxx:205 AliMpSectorAreaHPadIterator.cxx:206 AliMpSectorAreaHPadIterator.cxx:207 AliMpSectorAreaHPadIterator.cxx:208 AliMpSectorAreaHPadIterator.cxx:209 AliMpSectorAreaHPadIterator.cxx:210 AliMpSectorAreaHPadIterator.cxx:211 AliMpSectorAreaHPadIterator.cxx:212 AliMpSectorAreaHPadIterator.cxx:213 AliMpSectorAreaHPadIterator.cxx:214 AliMpSectorAreaHPadIterator.cxx:215