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