#include "AliMpMotifPositionPadIterator.h"
#include "AliMpMotifPosition.h"
#include "AliMpMotifType.h"
#include "AliMpConnection.h"
#include "AliMpEncodePair.h"
ClassImp(AliMpMotifPositionPadIterator)
AliMpMotifPositionPadIterator::AliMpMotifPositionPadIterator():
AliMpVPadIterator(),
fkMotifPos(0),
fIterator()
{
}
AliMpMotifPositionPadIterator::AliMpMotifPositionPadIterator(
const AliMpMotifPosition* motifPos)
: AliMpVPadIterator(),
fkMotifPos(motifPos),
fIterator(motifPos->GetMotif()->GetMotifType())
{
}
AliMpMotifPositionPadIterator::AliMpMotifPositionPadIterator(
const AliMpMotifPositionPadIterator& right)
: AliMpVPadIterator(right),
fkMotifPos(right.fkMotifPos),
fIterator(right.fIterator)
{
}
AliMpMotifPositionPadIterator::~AliMpMotifPositionPadIterator()
{
}
AliMpMotifPositionPadIterator&
AliMpMotifPositionPadIterator::operator = (const AliMpMotifPositionPadIterator& right)
{
if (this == &right) return *this;
AliMpVPadIterator::operator=(right);
fkMotifPos = right.fkMotifPos;
fIterator = right.fIterator;
return *this;
}
Bool_t AliMpMotifPositionPadIterator::IsValid() const
{
return (fkMotifPos!=0) && (!fIterator.IsDone());
}
void AliMpMotifPositionPadIterator::First()
{
if (!fkMotifPos) {
Invalidate();
return ;
}
fIterator.First();
return;
}
void AliMpMotifPositionPadIterator::Next()
{
fIterator.Next();
}
Bool_t AliMpMotifPositionPadIterator::IsDone() const
{
return !IsValid();
}
AliMpPad AliMpMotifPositionPadIterator::CurrentItem() const
{
if (!fkMotifPos)
return AliMpPad::Invalid();
else {
MpPair_t ind = fIterator.CurrentItem().GetIndices();
AliMpMotifType* mt = fkMotifPos->GetMotif()->GetMotifType();
AliMpConnection* connect =
mt->FindConnectionByLocalIndices(ind);
Double_t posx, posy;
fkMotifPos->GetMotif()->PadPositionLocal(ind, posx, posy);
posx += fkMotifPos->GetPositionX();
posy += fkMotifPos->GetPositionY();
Double_t dx, dy;
fkMotifPos->GetMotif()->GetPadDimensionsByIndices(ind, dx, dy);
return AliMpPad(
fkMotifPos->GetID(),connect->GetManuChannel(),
fkMotifPos->GlobalIndices(ind),
posx, posy, dx, dy);
}
}
void AliMpMotifPositionPadIterator::Invalidate()
{
fIterator.Invalidate();
}
AliMpMotifPositionPadIterator.cxx:1 AliMpMotifPositionPadIterator.cxx:2 AliMpMotifPositionPadIterator.cxx:3 AliMpMotifPositionPadIterator.cxx:4 AliMpMotifPositionPadIterator.cxx:5 AliMpMotifPositionPadIterator.cxx:6 AliMpMotifPositionPadIterator.cxx:7 AliMpMotifPositionPadIterator.cxx:8 AliMpMotifPositionPadIterator.cxx:9 AliMpMotifPositionPadIterator.cxx:10 AliMpMotifPositionPadIterator.cxx:11 AliMpMotifPositionPadIterator.cxx:12 AliMpMotifPositionPadIterator.cxx:13 AliMpMotifPositionPadIterator.cxx:14 AliMpMotifPositionPadIterator.cxx:15 AliMpMotifPositionPadIterator.cxx:16 AliMpMotifPositionPadIterator.cxx:17 AliMpMotifPositionPadIterator.cxx:18 AliMpMotifPositionPadIterator.cxx:19 AliMpMotifPositionPadIterator.cxx:20 AliMpMotifPositionPadIterator.cxx:21 AliMpMotifPositionPadIterator.cxx:22 AliMpMotifPositionPadIterator.cxx:23 AliMpMotifPositionPadIterator.cxx:24 AliMpMotifPositionPadIterator.cxx:25 AliMpMotifPositionPadIterator.cxx:26 AliMpMotifPositionPadIterator.cxx:27 AliMpMotifPositionPadIterator.cxx:28 AliMpMotifPositionPadIterator.cxx:29 AliMpMotifPositionPadIterator.cxx:30 AliMpMotifPositionPadIterator.cxx:31 AliMpMotifPositionPadIterator.cxx:32 AliMpMotifPositionPadIterator.cxx:33 AliMpMotifPositionPadIterator.cxx:34 AliMpMotifPositionPadIterator.cxx:35 AliMpMotifPositionPadIterator.cxx:36 AliMpMotifPositionPadIterator.cxx:37 AliMpMotifPositionPadIterator.cxx:38 AliMpMotifPositionPadIterator.cxx:39 AliMpMotifPositionPadIterator.cxx:40 AliMpMotifPositionPadIterator.cxx:41 AliMpMotifPositionPadIterator.cxx:42 AliMpMotifPositionPadIterator.cxx:43 AliMpMotifPositionPadIterator.cxx:44 AliMpMotifPositionPadIterator.cxx:45 AliMpMotifPositionPadIterator.cxx:46 AliMpMotifPositionPadIterator.cxx:47 AliMpMotifPositionPadIterator.cxx:48 AliMpMotifPositionPadIterator.cxx:49 AliMpMotifPositionPadIterator.cxx:50 AliMpMotifPositionPadIterator.cxx:51 AliMpMotifPositionPadIterator.cxx:52 AliMpMotifPositionPadIterator.cxx:53 AliMpMotifPositionPadIterator.cxx:54 AliMpMotifPositionPadIterator.cxx:55 AliMpMotifPositionPadIterator.cxx:56 AliMpMotifPositionPadIterator.cxx:57 AliMpMotifPositionPadIterator.cxx:58 AliMpMotifPositionPadIterator.cxx:59 AliMpMotifPositionPadIterator.cxx:60 AliMpMotifPositionPadIterator.cxx:61 AliMpMotifPositionPadIterator.cxx:62 AliMpMotifPositionPadIterator.cxx:63 AliMpMotifPositionPadIterator.cxx:64 AliMpMotifPositionPadIterator.cxx:65 AliMpMotifPositionPadIterator.cxx:66 AliMpMotifPositionPadIterator.cxx:67 AliMpMotifPositionPadIterator.cxx:68 AliMpMotifPositionPadIterator.cxx:69 AliMpMotifPositionPadIterator.cxx:70 AliMpMotifPositionPadIterator.cxx:71 AliMpMotifPositionPadIterator.cxx:72 AliMpMotifPositionPadIterator.cxx:73 AliMpMotifPositionPadIterator.cxx:74 AliMpMotifPositionPadIterator.cxx:75 AliMpMotifPositionPadIterator.cxx:76 AliMpMotifPositionPadIterator.cxx:77 AliMpMotifPositionPadIterator.cxx:78 AliMpMotifPositionPadIterator.cxx:79 AliMpMotifPositionPadIterator.cxx:80 AliMpMotifPositionPadIterator.cxx:81 AliMpMotifPositionPadIterator.cxx:82 AliMpMotifPositionPadIterator.cxx:83 AliMpMotifPositionPadIterator.cxx:84 AliMpMotifPositionPadIterator.cxx:85 AliMpMotifPositionPadIterator.cxx:86 AliMpMotifPositionPadIterator.cxx:87 AliMpMotifPositionPadIterator.cxx:88 AliMpMotifPositionPadIterator.cxx:89 AliMpMotifPositionPadIterator.cxx:90 AliMpMotifPositionPadIterator.cxx:91 AliMpMotifPositionPadIterator.cxx:92 AliMpMotifPositionPadIterator.cxx:93 AliMpMotifPositionPadIterator.cxx:94 AliMpMotifPositionPadIterator.cxx:95 AliMpMotifPositionPadIterator.cxx:96 AliMpMotifPositionPadIterator.cxx:97 AliMpMotifPositionPadIterator.cxx:98 AliMpMotifPositionPadIterator.cxx:99 AliMpMotifPositionPadIterator.cxx:100 AliMpMotifPositionPadIterator.cxx:101 AliMpMotifPositionPadIterator.cxx:102 AliMpMotifPositionPadIterator.cxx:103 AliMpMotifPositionPadIterator.cxx:104 AliMpMotifPositionPadIterator.cxx:105 AliMpMotifPositionPadIterator.cxx:106 AliMpMotifPositionPadIterator.cxx:107 AliMpMotifPositionPadIterator.cxx:108 AliMpMotifPositionPadIterator.cxx:109 AliMpMotifPositionPadIterator.cxx:110 AliMpMotifPositionPadIterator.cxx:111 AliMpMotifPositionPadIterator.cxx:112 AliMpMotifPositionPadIterator.cxx:113 AliMpMotifPositionPadIterator.cxx:114 AliMpMotifPositionPadIterator.cxx:115 AliMpMotifPositionPadIterator.cxx:116 AliMpMotifPositionPadIterator.cxx:117 AliMpMotifPositionPadIterator.cxx:118 AliMpMotifPositionPadIterator.cxx:119 AliMpMotifPositionPadIterator.cxx:120 AliMpMotifPositionPadIterator.cxx:121 AliMpMotifPositionPadIterator.cxx:122 AliMpMotifPositionPadIterator.cxx:123 AliMpMotifPositionPadIterator.cxx:124 AliMpMotifPositionPadIterator.cxx:125 AliMpMotifPositionPadIterator.cxx:126 AliMpMotifPositionPadIterator.cxx:127 AliMpMotifPositionPadIterator.cxx:128 AliMpMotifPositionPadIterator.cxx:129 AliMpMotifPositionPadIterator.cxx:130 AliMpMotifPositionPadIterator.cxx:131 AliMpMotifPositionPadIterator.cxx:132 AliMpMotifPositionPadIterator.cxx:133 AliMpMotifPositionPadIterator.cxx:134 AliMpMotifPositionPadIterator.cxx:135 AliMpMotifPositionPadIterator.cxx:136 AliMpMotifPositionPadIterator.cxx:137 AliMpMotifPositionPadIterator.cxx:138 AliMpMotifPositionPadIterator.cxx:139 AliMpMotifPositionPadIterator.cxx:140 AliMpMotifPositionPadIterator.cxx:141 AliMpMotifPositionPadIterator.cxx:142 AliMpMotifPositionPadIterator.cxx:143 AliMpMotifPositionPadIterator.cxx:144 AliMpMotifPositionPadIterator.cxx:145 AliMpMotifPositionPadIterator.cxx:146 AliMpMotifPositionPadIterator.cxx:147 AliMpMotifPositionPadIterator.cxx:148 AliMpMotifPositionPadIterator.cxx:149 AliMpMotifPositionPadIterator.cxx:150 AliMpMotifPositionPadIterator.cxx:151 AliMpMotifPositionPadIterator.cxx:152 AliMpMotifPositionPadIterator.cxx:153 AliMpMotifPositionPadIterator.cxx:154 AliMpMotifPositionPadIterator.cxx:155 AliMpMotifPositionPadIterator.cxx:156 AliMpMotifPositionPadIterator.cxx:157 AliMpMotifPositionPadIterator.cxx:158 AliMpMotifPositionPadIterator.cxx:159 AliMpMotifPositionPadIterator.cxx:160 AliMpMotifPositionPadIterator.cxx:161 AliMpMotifPositionPadIterator.cxx:162 AliMpMotifPositionPadIterator.cxx:163 AliMpMotifPositionPadIterator.cxx:164 AliMpMotifPositionPadIterator.cxx:165 AliMpMotifPositionPadIterator.cxx:166 AliMpMotifPositionPadIterator.cxx:167 AliMpMotifPositionPadIterator.cxx:168 AliMpMotifPositionPadIterator.cxx:169 AliMpMotifPositionPadIterator.cxx:170 AliMpMotifPositionPadIterator.cxx:171 AliMpMotifPositionPadIterator.cxx:172 AliMpMotifPositionPadIterator.cxx:173 AliMpMotifPositionPadIterator.cxx:174 AliMpMotifPositionPadIterator.cxx:175 AliMpMotifPositionPadIterator.cxx:176 AliMpMotifPositionPadIterator.cxx:177 AliMpMotifPositionPadIterator.cxx:178 AliMpMotifPositionPadIterator.cxx:179