#include "AliMpSectorSegmentation.h"
#include "AliMpSector.h"
#include "AliMpZone.h"
#include "AliMpSubZone.h"
#include "AliMpRow.h"
#include "AliMpVRowSegment.h"
#include "AliMpMotifMap.h"
#include "AliMpVMotif.h"
#include "AliMpMotifPosition.h"
#include "AliMpConnection.h"
#include "AliMpSectorAreaHPadIterator.h"
#include "AliMpSectorAreaVPadIterator.h"
#include "AliMpSectorPadIterator.h"
#include "AliMpArea.h"
#include "AliMpConstants.h"
#include "AliMpEncodePair.h"
#include "AliLog.h"
#include <Riostream.h>
#include <TMath.h>
using std::cout;
using std::endl;
ClassImp(AliMpSectorSegmentation)
AliMpSectorSegmentation::AliMpSectorSegmentation(
const AliMpSector* sector, Bool_t own)
: AliMpVSegmentation(),
fkSector(sector),
fIsOwner(own),
fPadBuffer(0),
fMaxIndexInX(0),
fMaxIndexInY(0)
{
AliDebugStream(1) << "this = " << this << endl;
fPadBuffer = new AliMpPad(AliMpPad::Invalid());
}
AliMpSectorSegmentation::AliMpSectorSegmentation()
: AliMpVSegmentation(),
fkSector(0),
fIsOwner(false),
fPadBuffer(0),
fMaxIndexInX(0),
fMaxIndexInY(0)
{
AliDebugStream(1) << "this = " << this << endl;
}
AliMpSectorSegmentation::~AliMpSectorSegmentation()
{
AliDebugStream(1) << "this = " << this << endl;
if ( fIsOwner ) delete fkSector;
delete fPadBuffer;
}
AliMpMotifPosition*
AliMpSectorSegmentation::FindMotifPosition(Int_t ix, Int_t iy) const
{
switch ( fkSector->GetDirection() ) {
case AliMp::kX : {
for ( Int_t irow=0; irow<fkSector->GetNofRows(); ++irow ) {
AliMpRow* row = fkSector->GetRow(irow);
if ( row->GetLowLimitIx() <= ix &&
row->GetHighLimitIx()>= ix ) {
for ( Int_t iseg=0;iseg<row->GetNofRowSegments();++iseg ) {
AliMpVRowSegment* seg = row->GetRowSegment(iseg);
if ( seg->GetLowLimitIx() <= ix &&
seg->GetHighLimitIx() >= ix ) {
AliMpMotifPosition* motifPos;
for ( Int_t imot=0;imot<seg->GetNofMotifs();++imot ) {
motifPos
= fkSector->GetMotifMap()
->FindMotifPosition(seg->GetMotifPositionId(imot));
if (motifPos && motifPos->HasPadByIndices(AliMp::Pair(ix,iy))) return motifPos;
}
}
}
}
}
return 0;
}
break;
case AliMp::kY : {
AliMpRow* row=0;
Int_t irow;
for ( irow=0; irow<fkSector->GetNofRows(); ++irow ) {
row = fkSector->GetRow(irow);
AliMpVRowSegment* lastSeg = row->GetRowSegment(row->GetNofRowSegments()-1);
if ( lastSeg->GetLowLimitIy() <= iy &&
lastSeg->GetHighLimitIy() >= iy ) break;
}
if ( irow==fkSector->GetNofRows() ) return 0;
AliMpVRowSegment* seg=0;
Int_t iseg;
for ( iseg=0;iseg<row->GetNofRowSegments();++iseg ) {
seg = row->GetRowSegment(iseg);
if (seg->HasIndices(AliMp::Pair(ix, iy))) break;
}
if ( iseg==row->GetNofRowSegments() ) return 0;
AliMpMotifPosition* motifPos=0;
Int_t imot=0;
for ( imot=0;imot<seg->GetNofMotifs();++imot ) {
motifPos
= fkSector->GetMotifMap()
->FindMotifPosition(seg->GetMotifPositionId(imot));
if (motifPos && motifPos->HasPadByIndices(AliMp::Pair(ix, iy))) break;
}
if (imot==seg->GetNofMotifs()) return 0;
return motifPos;
}
default: return 0;
}
}
AliMpPad
AliMpSectorSegmentation::PadByXDirection(Double_t startx, Double_t starty,
Double_t maxX) const
{
Double_t stepX = fkSector->GetMinPadDimensionX();
AliMpPad pad;
Double_t posx = startx;
do {
pad = PadByPosition(posx, starty, false);
posx += stepX;
}
while ( ! pad.IsValid() &&
posx - fkSector->GetMaxPadDimensionX() < maxX );
if ( ( pad.GetPositionX() - pad.GetDimensionX()) > maxX )
pad = AliMpPad::Invalid();
return pad;
}
AliMpPad
AliMpSectorSegmentation::PadByYDirection(Double_t startx, Double_t starty,
Double_t maxY) const
{
Double_t stepY = fkSector->GetMinPadDimensionY();
AliMpPad pad;
Double_t posy = starty;
do {
pad = PadByPosition(startx, posy, false);
posy += stepY;
}
while ( ! pad.IsValid() &&
posy - fkSector->GetMaxPadDimensionY()< maxY );
if (( pad.GetPositionY() - pad.GetDimensionY()) > maxY )
pad = AliMpPad::Invalid();
return pad;
}
AliMpVPadIterator*
AliMpSectorSegmentation::CreateIterator(const AliMpArea& area) const
{
switch (fkSector->GetDirection()) {
case AliMp::kX: return new AliMpSectorAreaVPadIterator(this, area);
;;
case AliMp::kY: return new AliMpSectorAreaHPadIterator(this, area);
;;
}
Fatal("CreateIterator", "Incomplete switch on Sector direction");
return 0;
}
AliMpVPadIterator*
AliMpSectorSegmentation::CreateIterator() const
{
return new AliMpSectorPadIterator(fkSector);
}
Int_t
AliMpSectorSegmentation::GetNeighbours(const AliMpPad& pad, TObjArray& neighbours,
Bool_t includeSelf,
Bool_t includeVoid) const
{
return AliMpVSegmentation::GetNeighbours(pad,neighbours,includeSelf,includeVoid);
}
AliMpPad
AliMpSectorSegmentation::PadByLocation(Int_t manuId, Int_t manuChannel,
Bool_t warning) const
{
if ( fPadBuffer->GetManuId() == manuId &&
fPadBuffer->GetManuChannel() == manuChannel ) return (*fPadBuffer);
AliMpMotifPosition* motifPos =
fkSector->GetMotifMap()->FindMotifPosition(manuId);
if (!motifPos){
if (warning) Warning("PadByLocation","The pad motif position ID doesn't exists");
return AliMpPad::Invalid();
}
AliMpVMotif* motif = motifPos->GetMotif();
MpPair_t localIndices =
motif->GetMotifType()->FindLocalIndicesByGassiNum(manuChannel);
if ( localIndices < 0 ) {
if (warning) Warning("PadByLocation","The pad number doesn't exists");
return AliMpPad::Invalid();
}
Double_t posx, posy;
motif->PadPositionLocal(localIndices, posx, posy);
posx += motifPos->GetPositionX();
posy += motifPos->GetPositionY();
Double_t dx, dy;
motif->GetPadDimensionsByIndices(localIndices, dx, dy);
return (*fPadBuffer) = AliMpPad(manuId, manuChannel,
motifPos->GlobalIndices(localIndices),
posx, posy, dx, dy);
}
AliMpPad
AliMpSectorSegmentation::PadByIndices(Int_t ix, Int_t iy, Bool_t warning ) const
{
if ( fPadBuffer->GetIx() == ix &&
fPadBuffer->GetIy() == iy ) return (*fPadBuffer);
MpPair_t indices = AliMp::Pair(ix, iy);
AliMpMotifPosition* motifPos = FindMotifPosition(ix, iy);
if (!motifPos) {
if (warning)
Warning("PadByIndices","Pad indices not contained in any motif!");
return AliMpPad::Invalid();
}
AliMpVMotif* motif = motifPos->GetMotif();
MpPair_t localIndices = indices - motifPos->GetLowIndicesLimit();
AliMpConnection* connection=
motif->GetMotifType()->FindConnectionByLocalIndices(localIndices);
if (!connection){
if (warning) Warning("PadByIndices","No connection with the given indices!");
return AliMpPad::Invalid();
}
Double_t posx, posy;
motif->PadPositionLocal(localIndices, posx, posy);
posx += motifPos->GetPositionX();
posy += motifPos->GetPositionY();
Double_t dx, dy;
motif->GetPadDimensionsByIndices(localIndices, dx, dy);
return (*fPadBuffer)
= AliMpPad(motifPos->GetID(),connection->GetManuChannel(),
ix, iy, posx, posy, dx, dy);
}
AliMpPad
AliMpSectorSegmentation::PadByPosition(Double_t x, Double_t y,
Bool_t warning) const
{
if (fPadBuffer->GetPositionX()==x &&
fPadBuffer->GetPositionY()==y) return (*fPadBuffer);
Int_t motifPosID = fkSector->FindMotifPositionId(x,y);
AliMpMotifPosition* motifPos
= fkSector->GetMotifMap()
->FindMotifPosition(motifPosID);
if (!motifPos){
if (warning) Warning("PadByPosition","Position outside limits");
return AliMpPad::Invalid();
}
AliMpVMotif* motif = motifPos->GetMotif();
MpPair_t localIndices
= motif->PadIndicesLocal(x-motifPos->GetPositionX(),
y-motifPos->GetPositionY());
if ( localIndices < 0 ) {
if (warning) Warning("PadByPosition","Position outside motif limits");
return AliMpPad::Invalid();
}
AliMpConnection* connect =
motif->GetMotifType()->FindConnectionByLocalIndices(localIndices);
if ( ! connect ) {
if (warning) Warning("PadByPosition","Position outside motif limits");
return AliMpPad::Invalid();
}
Double_t posx, posy;
motif->PadPositionLocal(localIndices, posx, posy);
posx += motifPos->GetPositionX();
posy += motifPos->GetPositionY();
Double_t dx, dy;
motif->GetPadDimensionsByIndices(localIndices, dx, dy);
return (*fPadBuffer)
= AliMpPad(motifPosID, connect->GetManuChannel(),
motifPos->GlobalIndices(localIndices),
posx, posy, dx, dy);
}
AliMpPad
AliMpSectorSegmentation::PadByDirection(Double_t startx, Double_t starty,
Double_t distance) const
{
switch (fkSector->GetDirection()) {
case AliMp::kX: return PadByYDirection(startx, starty, distance);
;;
case AliMp::kY: return PadByXDirection(startx, starty, distance);
;;
}
Fatal("PadByDirection", "Incomplete switch on Sector direction");
return AliMpPad::Invalid();
}
Bool_t
AliMpSectorSegmentation::HasPadByIndices(Int_t ix, Int_t iy) const
{
MpPair_t indices = AliMp::Pair(ix, iy);
AliMpMotifPosition* motifPos = FindMotifPosition(ix, iy);
if (motifPos) return motifPos->HasPadByIndices(indices);
return kFALSE;
}
Bool_t
AliMpSectorSegmentation::HasPadByLocation(Int_t manuId, Int_t manuChannel) const
{
AliMpMotifPosition* motifPos
= fkSector->GetMotifMap()->FindMotifPosition(manuId);
if ( motifPos ) return motifPos->HasPadByManuChannel(manuChannel);
return kFALSE;
}
Int_t AliMpSectorSegmentation::MaxPadIndexX() const
{
return AliMp::PairFirst(fkSector->GetMaxPadIndices());
}
Int_t AliMpSectorSegmentation::MaxPadIndexY() const
{
return AliMp::PairSecond(fkSector->GetMaxPadIndices());
}
Int_t AliMpSectorSegmentation::NofPads() const
{
return fkSector->GetNofPads();
}
void
AliMpSectorSegmentation::GetAllElectronicCardIDs(TArrayI& ecn) const
{
GetSector()->GetAllMotifPositionsIDs(ecn);
}
Int_t
AliMpSectorSegmentation::GetNofElectronicCards() const
{
return fkSector->GetNofMotifPositions();
}
Bool_t
AliMpSectorSegmentation::HasMotifPosition(Int_t manuId) const
{
return (AliMpVSegmentation::HasMotifPosition(manuId) != 0x0);
}
AliMpMotifPosition*
AliMpSectorSegmentation::MotifPosition(Int_t manuId) const
{
return fkSector->GetMotifMap()->FindMotifPosition(manuId);
}
AliMp::PlaneType
AliMpSectorSegmentation::PlaneType() const
{
return GetSector()->GetPlaneType();
}
Double_t
AliMpSectorSegmentation::GetDimensionX() const
{
return GetSector()->GetDimensionX();
}
Double_t
AliMpSectorSegmentation::GetDimensionY() const
{
return GetSector()->GetDimensionY();
}
Double_t
AliMpSectorSegmentation::GetPositionX() const
{
return 0.;
}
Double_t
AliMpSectorSegmentation::GetPositionY() const
{
return 0.;
}
void
AliMpSectorSegmentation::Print(Option_t* opt) const
{
fkSector->Print(opt);
}
Double_t AliMpSectorSegmentation::GetMinPadDimensionX() const
{
return fkSector->GetMinPadDimensionX();
}
Double_t AliMpSectorSegmentation::GetMinPadDimensionY() const
{
return fkSector->GetMinPadDimensionY();
}
Bool_t AliMpSectorSegmentation::CircleTest(Int_t ix, Int_t iy) const
{
if ( ! HasPadByIndices(ix, iy) ) return false;
AliMpPad pad1 = PadByIndices(ix, iy);
AliMpPad pad2 = PadByLocation(pad1.GetManuId(), pad1.GetManuChannel());
AliMpPad pad3 = PadByPosition(pad2.GetPositionX(),pad2.GetPositionY());
MpPair_t retIndices = pad3.GetIndices();
if ( retIndices != AliMp::Pair(ix, iy) ) {
cout << "Pad (" << ix << ',' << iy << ") lead to inconsistency" << endl;
cout << "in indice->location->position->indice way..." << endl;
cout << "starting from indices " << pad1 << endl
<< "--> location " << pad2 << endl
<< "--> position "
<< '(' << pad3.GetPositionX() << ',' << pad3.GetPositionY() << ')'
<< endl << endl;
}
AliMpPad pad2bis = PadByPosition(pad1.GetPositionX(),pad1.GetPositionY());
AliMpPad pad3bis = PadByLocation(pad2bis.GetManuId(), pad2bis.GetManuChannel());
retIndices = pad3bis.GetIndices();
if ( retIndices != AliMp::Pair(ix, iy) ) {
cout << "Pad (" << ix << ',' << iy << ") lead to inconsistency" << endl;
cout << "in indice->position->location->indice way..." << endl;
cout << "starting from indices " << pad1 << endl
<< "--> position "
<< '(' << pad2bis.GetPositionX() << ',' << pad2bis.GetPositionY() << ')' << endl
<< "--> location " << pad3bis
<< endl << endl;
}
return true;
}
AliMpSectorSegmentation.cxx:1 AliMpSectorSegmentation.cxx:2 AliMpSectorSegmentation.cxx:3 AliMpSectorSegmentation.cxx:4 AliMpSectorSegmentation.cxx:5 AliMpSectorSegmentation.cxx:6 AliMpSectorSegmentation.cxx:7 AliMpSectorSegmentation.cxx:8 AliMpSectorSegmentation.cxx:9 AliMpSectorSegmentation.cxx:10 AliMpSectorSegmentation.cxx:11 AliMpSectorSegmentation.cxx:12 AliMpSectorSegmentation.cxx:13 AliMpSectorSegmentation.cxx:14 AliMpSectorSegmentation.cxx:15 AliMpSectorSegmentation.cxx:16 AliMpSectorSegmentation.cxx:17 AliMpSectorSegmentation.cxx:18 AliMpSectorSegmentation.cxx:19 AliMpSectorSegmentation.cxx:20 AliMpSectorSegmentation.cxx:21 AliMpSectorSegmentation.cxx:22 AliMpSectorSegmentation.cxx:23 AliMpSectorSegmentation.cxx:24 AliMpSectorSegmentation.cxx:25 AliMpSectorSegmentation.cxx:26 AliMpSectorSegmentation.cxx:27 AliMpSectorSegmentation.cxx:28 AliMpSectorSegmentation.cxx:29 AliMpSectorSegmentation.cxx:30 AliMpSectorSegmentation.cxx:31 AliMpSectorSegmentation.cxx:32 AliMpSectorSegmentation.cxx:33 AliMpSectorSegmentation.cxx:34 AliMpSectorSegmentation.cxx:35 AliMpSectorSegmentation.cxx:36 AliMpSectorSegmentation.cxx:37 AliMpSectorSegmentation.cxx:38 AliMpSectorSegmentation.cxx:39 AliMpSectorSegmentation.cxx:40 AliMpSectorSegmentation.cxx:41 AliMpSectorSegmentation.cxx:42 AliMpSectorSegmentation.cxx:43 AliMpSectorSegmentation.cxx:44 AliMpSectorSegmentation.cxx:45 AliMpSectorSegmentation.cxx:46 AliMpSectorSegmentation.cxx:47 AliMpSectorSegmentation.cxx:48 AliMpSectorSegmentation.cxx:49 AliMpSectorSegmentation.cxx:50 AliMpSectorSegmentation.cxx:51 AliMpSectorSegmentation.cxx:52 AliMpSectorSegmentation.cxx:53 AliMpSectorSegmentation.cxx:54 AliMpSectorSegmentation.cxx:55 AliMpSectorSegmentation.cxx:56 AliMpSectorSegmentation.cxx:57 AliMpSectorSegmentation.cxx:58 AliMpSectorSegmentation.cxx:59 AliMpSectorSegmentation.cxx:60 AliMpSectorSegmentation.cxx:61 AliMpSectorSegmentation.cxx:62 AliMpSectorSegmentation.cxx:63 AliMpSectorSegmentation.cxx:64 AliMpSectorSegmentation.cxx:65 AliMpSectorSegmentation.cxx:66 AliMpSectorSegmentation.cxx:67 AliMpSectorSegmentation.cxx:68 AliMpSectorSegmentation.cxx:69 AliMpSectorSegmentation.cxx:70 AliMpSectorSegmentation.cxx:71 AliMpSectorSegmentation.cxx:72 AliMpSectorSegmentation.cxx:73 AliMpSectorSegmentation.cxx:74 AliMpSectorSegmentation.cxx:75 AliMpSectorSegmentation.cxx:76 AliMpSectorSegmentation.cxx:77 AliMpSectorSegmentation.cxx:78 AliMpSectorSegmentation.cxx:79 AliMpSectorSegmentation.cxx:80 AliMpSectorSegmentation.cxx:81 AliMpSectorSegmentation.cxx:82 AliMpSectorSegmentation.cxx:83 AliMpSectorSegmentation.cxx:84 AliMpSectorSegmentation.cxx:85 AliMpSectorSegmentation.cxx:86 AliMpSectorSegmentation.cxx:87 AliMpSectorSegmentation.cxx:88 AliMpSectorSegmentation.cxx:89 AliMpSectorSegmentation.cxx:90 AliMpSectorSegmentation.cxx:91 AliMpSectorSegmentation.cxx:92 AliMpSectorSegmentation.cxx:93 AliMpSectorSegmentation.cxx:94 AliMpSectorSegmentation.cxx:95 AliMpSectorSegmentation.cxx:96 AliMpSectorSegmentation.cxx:97 AliMpSectorSegmentation.cxx:98 AliMpSectorSegmentation.cxx:99 AliMpSectorSegmentation.cxx:100 AliMpSectorSegmentation.cxx:101 AliMpSectorSegmentation.cxx:102 AliMpSectorSegmentation.cxx:103 AliMpSectorSegmentation.cxx:104 AliMpSectorSegmentation.cxx:105 AliMpSectorSegmentation.cxx:106 AliMpSectorSegmentation.cxx:107 AliMpSectorSegmentation.cxx:108 AliMpSectorSegmentation.cxx:109 AliMpSectorSegmentation.cxx:110 AliMpSectorSegmentation.cxx:111 AliMpSectorSegmentation.cxx:112 AliMpSectorSegmentation.cxx:113 AliMpSectorSegmentation.cxx:114 AliMpSectorSegmentation.cxx:115 AliMpSectorSegmentation.cxx:116 AliMpSectorSegmentation.cxx:117 AliMpSectorSegmentation.cxx:118 AliMpSectorSegmentation.cxx:119 AliMpSectorSegmentation.cxx:120 AliMpSectorSegmentation.cxx:121 AliMpSectorSegmentation.cxx:122 AliMpSectorSegmentation.cxx:123 AliMpSectorSegmentation.cxx:124 AliMpSectorSegmentation.cxx:125 AliMpSectorSegmentation.cxx:126 AliMpSectorSegmentation.cxx:127 AliMpSectorSegmentation.cxx:128 AliMpSectorSegmentation.cxx:129 AliMpSectorSegmentation.cxx:130 AliMpSectorSegmentation.cxx:131 AliMpSectorSegmentation.cxx:132 AliMpSectorSegmentation.cxx:133 AliMpSectorSegmentation.cxx:134 AliMpSectorSegmentation.cxx:135 AliMpSectorSegmentation.cxx:136 AliMpSectorSegmentation.cxx:137 AliMpSectorSegmentation.cxx:138 AliMpSectorSegmentation.cxx:139 AliMpSectorSegmentation.cxx:140 AliMpSectorSegmentation.cxx:141 AliMpSectorSegmentation.cxx:142 AliMpSectorSegmentation.cxx:143 AliMpSectorSegmentation.cxx:144 AliMpSectorSegmentation.cxx:145 AliMpSectorSegmentation.cxx:146 AliMpSectorSegmentation.cxx:147 AliMpSectorSegmentation.cxx:148 AliMpSectorSegmentation.cxx:149 AliMpSectorSegmentation.cxx:150 AliMpSectorSegmentation.cxx:151 AliMpSectorSegmentation.cxx:152 AliMpSectorSegmentation.cxx:153 AliMpSectorSegmentation.cxx:154 AliMpSectorSegmentation.cxx:155 AliMpSectorSegmentation.cxx:156 AliMpSectorSegmentation.cxx:157 AliMpSectorSegmentation.cxx:158 AliMpSectorSegmentation.cxx:159 AliMpSectorSegmentation.cxx:160 AliMpSectorSegmentation.cxx:161 AliMpSectorSegmentation.cxx:162 AliMpSectorSegmentation.cxx:163 AliMpSectorSegmentation.cxx:164 AliMpSectorSegmentation.cxx:165 AliMpSectorSegmentation.cxx:166 AliMpSectorSegmentation.cxx:167 AliMpSectorSegmentation.cxx:168 AliMpSectorSegmentation.cxx:169 AliMpSectorSegmentation.cxx:170 AliMpSectorSegmentation.cxx:171 AliMpSectorSegmentation.cxx:172 AliMpSectorSegmentation.cxx:173 AliMpSectorSegmentation.cxx:174 AliMpSectorSegmentation.cxx:175 AliMpSectorSegmentation.cxx:176 AliMpSectorSegmentation.cxx:177 AliMpSectorSegmentation.cxx:178 AliMpSectorSegmentation.cxx:179 AliMpSectorSegmentation.cxx:180 AliMpSectorSegmentation.cxx:181 AliMpSectorSegmentation.cxx:182 AliMpSectorSegmentation.cxx:183 AliMpSectorSegmentation.cxx:184 AliMpSectorSegmentation.cxx:185 AliMpSectorSegmentation.cxx:186 AliMpSectorSegmentation.cxx:187 AliMpSectorSegmentation.cxx:188 AliMpSectorSegmentation.cxx:189 AliMpSectorSegmentation.cxx:190 AliMpSectorSegmentation.cxx:191 AliMpSectorSegmentation.cxx:192 AliMpSectorSegmentation.cxx:193 AliMpSectorSegmentation.cxx:194 AliMpSectorSegmentation.cxx:195 AliMpSectorSegmentation.cxx:196 AliMpSectorSegmentation.cxx:197 AliMpSectorSegmentation.cxx:198 AliMpSectorSegmentation.cxx:199 AliMpSectorSegmentation.cxx:200 AliMpSectorSegmentation.cxx:201 AliMpSectorSegmentation.cxx:202 AliMpSectorSegmentation.cxx:203 AliMpSectorSegmentation.cxx:204 AliMpSectorSegmentation.cxx:205 AliMpSectorSegmentation.cxx:206 AliMpSectorSegmentation.cxx:207 AliMpSectorSegmentation.cxx:208 AliMpSectorSegmentation.cxx:209 AliMpSectorSegmentation.cxx:210 AliMpSectorSegmentation.cxx:211 AliMpSectorSegmentation.cxx:212 AliMpSectorSegmentation.cxx:213 AliMpSectorSegmentation.cxx:214 AliMpSectorSegmentation.cxx:215 AliMpSectorSegmentation.cxx:216 AliMpSectorSegmentation.cxx:217 AliMpSectorSegmentation.cxx:218 AliMpSectorSegmentation.cxx:219 AliMpSectorSegmentation.cxx:220 AliMpSectorSegmentation.cxx:221 AliMpSectorSegmentation.cxx:222 AliMpSectorSegmentation.cxx:223 AliMpSectorSegmentation.cxx:224 AliMpSectorSegmentation.cxx:225 AliMpSectorSegmentation.cxx:226 AliMpSectorSegmentation.cxx:227 AliMpSectorSegmentation.cxx:228 AliMpSectorSegmentation.cxx:229 AliMpSectorSegmentation.cxx:230 AliMpSectorSegmentation.cxx:231 AliMpSectorSegmentation.cxx:232 AliMpSectorSegmentation.cxx:233 AliMpSectorSegmentation.cxx:234 AliMpSectorSegmentation.cxx:235 AliMpSectorSegmentation.cxx:236 AliMpSectorSegmentation.cxx:237 AliMpSectorSegmentation.cxx:238 AliMpSectorSegmentation.cxx:239 AliMpSectorSegmentation.cxx:240 AliMpSectorSegmentation.cxx:241 AliMpSectorSegmentation.cxx:242 AliMpSectorSegmentation.cxx:243 AliMpSectorSegmentation.cxx:244 AliMpSectorSegmentation.cxx:245 AliMpSectorSegmentation.cxx:246 AliMpSectorSegmentation.cxx:247 AliMpSectorSegmentation.cxx:248 AliMpSectorSegmentation.cxx:249 AliMpSectorSegmentation.cxx:250 AliMpSectorSegmentation.cxx:251 AliMpSectorSegmentation.cxx:252 AliMpSectorSegmentation.cxx:253 AliMpSectorSegmentation.cxx:254 AliMpSectorSegmentation.cxx:255 AliMpSectorSegmentation.cxx:256 AliMpSectorSegmentation.cxx:257 AliMpSectorSegmentation.cxx:258 AliMpSectorSegmentation.cxx:259 AliMpSectorSegmentation.cxx:260 AliMpSectorSegmentation.cxx:261 AliMpSectorSegmentation.cxx:262 AliMpSectorSegmentation.cxx:263 AliMpSectorSegmentation.cxx:264 AliMpSectorSegmentation.cxx:265 AliMpSectorSegmentation.cxx:266 AliMpSectorSegmentation.cxx:267 AliMpSectorSegmentation.cxx:268 AliMpSectorSegmentation.cxx:269 AliMpSectorSegmentation.cxx:270 AliMpSectorSegmentation.cxx:271 AliMpSectorSegmentation.cxx:272 AliMpSectorSegmentation.cxx:273 AliMpSectorSegmentation.cxx:274 AliMpSectorSegmentation.cxx:275 AliMpSectorSegmentation.cxx:276 AliMpSectorSegmentation.cxx:277 AliMpSectorSegmentation.cxx:278 AliMpSectorSegmentation.cxx:279 AliMpSectorSegmentation.cxx:280 AliMpSectorSegmentation.cxx:281 AliMpSectorSegmentation.cxx:282 AliMpSectorSegmentation.cxx:283 AliMpSectorSegmentation.cxx:284 AliMpSectorSegmentation.cxx:285 AliMpSectorSegmentation.cxx:286 AliMpSectorSegmentation.cxx:287 AliMpSectorSegmentation.cxx:288 AliMpSectorSegmentation.cxx:289 AliMpSectorSegmentation.cxx:290 AliMpSectorSegmentation.cxx:291 AliMpSectorSegmentation.cxx:292 AliMpSectorSegmentation.cxx:293 AliMpSectorSegmentation.cxx:294 AliMpSectorSegmentation.cxx:295 AliMpSectorSegmentation.cxx:296 AliMpSectorSegmentation.cxx:297 AliMpSectorSegmentation.cxx:298 AliMpSectorSegmentation.cxx:299 AliMpSectorSegmentation.cxx:300 AliMpSectorSegmentation.cxx:301 AliMpSectorSegmentation.cxx:302 AliMpSectorSegmentation.cxx:303 AliMpSectorSegmentation.cxx:304 AliMpSectorSegmentation.cxx:305 AliMpSectorSegmentation.cxx:306 AliMpSectorSegmentation.cxx:307 AliMpSectorSegmentation.cxx:308 AliMpSectorSegmentation.cxx:309 AliMpSectorSegmentation.cxx:310 AliMpSectorSegmentation.cxx:311 AliMpSectorSegmentation.cxx:312 AliMpSectorSegmentation.cxx:313 AliMpSectorSegmentation.cxx:314 AliMpSectorSegmentation.cxx:315 AliMpSectorSegmentation.cxx:316 AliMpSectorSegmentation.cxx:317 AliMpSectorSegmentation.cxx:318 AliMpSectorSegmentation.cxx:319 AliMpSectorSegmentation.cxx:320 AliMpSectorSegmentation.cxx:321 AliMpSectorSegmentation.cxx:322 AliMpSectorSegmentation.cxx:323 AliMpSectorSegmentation.cxx:324 AliMpSectorSegmentation.cxx:325 AliMpSectorSegmentation.cxx:326 AliMpSectorSegmentation.cxx:327 AliMpSectorSegmentation.cxx:328 AliMpSectorSegmentation.cxx:329 AliMpSectorSegmentation.cxx:330 AliMpSectorSegmentation.cxx:331 AliMpSectorSegmentation.cxx:332 AliMpSectorSegmentation.cxx:333 AliMpSectorSegmentation.cxx:334 AliMpSectorSegmentation.cxx:335 AliMpSectorSegmentation.cxx:336 AliMpSectorSegmentation.cxx:337 AliMpSectorSegmentation.cxx:338 AliMpSectorSegmentation.cxx:339 AliMpSectorSegmentation.cxx:340 AliMpSectorSegmentation.cxx:341 AliMpSectorSegmentation.cxx:342 AliMpSectorSegmentation.cxx:343 AliMpSectorSegmentation.cxx:344 AliMpSectorSegmentation.cxx:345 AliMpSectorSegmentation.cxx:346 AliMpSectorSegmentation.cxx:347 AliMpSectorSegmentation.cxx:348 AliMpSectorSegmentation.cxx:349 AliMpSectorSegmentation.cxx:350 AliMpSectorSegmentation.cxx:351 AliMpSectorSegmentation.cxx:352 AliMpSectorSegmentation.cxx:353 AliMpSectorSegmentation.cxx:354 AliMpSectorSegmentation.cxx:355 AliMpSectorSegmentation.cxx:356 AliMpSectorSegmentation.cxx:357 AliMpSectorSegmentation.cxx:358 AliMpSectorSegmentation.cxx:359 AliMpSectorSegmentation.cxx:360 AliMpSectorSegmentation.cxx:361 AliMpSectorSegmentation.cxx:362 AliMpSectorSegmentation.cxx:363 AliMpSectorSegmentation.cxx:364 AliMpSectorSegmentation.cxx:365 AliMpSectorSegmentation.cxx:366 AliMpSectorSegmentation.cxx:367 AliMpSectorSegmentation.cxx:368 AliMpSectorSegmentation.cxx:369 AliMpSectorSegmentation.cxx:370 AliMpSectorSegmentation.cxx:371 AliMpSectorSegmentation.cxx:372 AliMpSectorSegmentation.cxx:373 AliMpSectorSegmentation.cxx:374 AliMpSectorSegmentation.cxx:375 AliMpSectorSegmentation.cxx:376 AliMpSectorSegmentation.cxx:377 AliMpSectorSegmentation.cxx:378 AliMpSectorSegmentation.cxx:379 AliMpSectorSegmentation.cxx:380 AliMpSectorSegmentation.cxx:381 AliMpSectorSegmentation.cxx:382 AliMpSectorSegmentation.cxx:383 AliMpSectorSegmentation.cxx:384 AliMpSectorSegmentation.cxx:385 AliMpSectorSegmentation.cxx:386 AliMpSectorSegmentation.cxx:387 AliMpSectorSegmentation.cxx:388 AliMpSectorSegmentation.cxx:389 AliMpSectorSegmentation.cxx:390 AliMpSectorSegmentation.cxx:391 AliMpSectorSegmentation.cxx:392 AliMpSectorSegmentation.cxx:393 AliMpSectorSegmentation.cxx:394 AliMpSectorSegmentation.cxx:395 AliMpSectorSegmentation.cxx:396 AliMpSectorSegmentation.cxx:397 AliMpSectorSegmentation.cxx:398 AliMpSectorSegmentation.cxx:399 AliMpSectorSegmentation.cxx:400 AliMpSectorSegmentation.cxx:401 AliMpSectorSegmentation.cxx:402 AliMpSectorSegmentation.cxx:403 AliMpSectorSegmentation.cxx:404 AliMpSectorSegmentation.cxx:405 AliMpSectorSegmentation.cxx:406 AliMpSectorSegmentation.cxx:407 AliMpSectorSegmentation.cxx:408 AliMpSectorSegmentation.cxx:409 AliMpSectorSegmentation.cxx:410 AliMpSectorSegmentation.cxx:411 AliMpSectorSegmentation.cxx:412 AliMpSectorSegmentation.cxx:413 AliMpSectorSegmentation.cxx:414 AliMpSectorSegmentation.cxx:415 AliMpSectorSegmentation.cxx:416 AliMpSectorSegmentation.cxx:417 AliMpSectorSegmentation.cxx:418 AliMpSectorSegmentation.cxx:419 AliMpSectorSegmentation.cxx:420 AliMpSectorSegmentation.cxx:421 AliMpSectorSegmentation.cxx:422 AliMpSectorSegmentation.cxx:423 AliMpSectorSegmentation.cxx:424 AliMpSectorSegmentation.cxx:425 AliMpSectorSegmentation.cxx:426 AliMpSectorSegmentation.cxx:427 AliMpSectorSegmentation.cxx:428 AliMpSectorSegmentation.cxx:429 AliMpSectorSegmentation.cxx:430 AliMpSectorSegmentation.cxx:431 AliMpSectorSegmentation.cxx:432 AliMpSectorSegmentation.cxx:433 AliMpSectorSegmentation.cxx:434 AliMpSectorSegmentation.cxx:435 AliMpSectorSegmentation.cxx:436 AliMpSectorSegmentation.cxx:437 AliMpSectorSegmentation.cxx:438 AliMpSectorSegmentation.cxx:439 AliMpSectorSegmentation.cxx:440 AliMpSectorSegmentation.cxx:441 AliMpSectorSegmentation.cxx:442 AliMpSectorSegmentation.cxx:443 AliMpSectorSegmentation.cxx:444 AliMpSectorSegmentation.cxx:445 AliMpSectorSegmentation.cxx:446 AliMpSectorSegmentation.cxx:447 AliMpSectorSegmentation.cxx:448 AliMpSectorSegmentation.cxx:449 AliMpSectorSegmentation.cxx:450 AliMpSectorSegmentation.cxx:451 AliMpSectorSegmentation.cxx:452 AliMpSectorSegmentation.cxx:453 AliMpSectorSegmentation.cxx:454 AliMpSectorSegmentation.cxx:455 AliMpSectorSegmentation.cxx:456 AliMpSectorSegmentation.cxx:457 AliMpSectorSegmentation.cxx:458 AliMpSectorSegmentation.cxx:459 AliMpSectorSegmentation.cxx:460 AliMpSectorSegmentation.cxx:461 AliMpSectorSegmentation.cxx:462 AliMpSectorSegmentation.cxx:463 AliMpSectorSegmentation.cxx:464 AliMpSectorSegmentation.cxx:465 AliMpSectorSegmentation.cxx:466 AliMpSectorSegmentation.cxx:467 AliMpSectorSegmentation.cxx:468 AliMpSectorSegmentation.cxx:469 AliMpSectorSegmentation.cxx:470 AliMpSectorSegmentation.cxx:471 AliMpSectorSegmentation.cxx:472 AliMpSectorSegmentation.cxx:473 AliMpSectorSegmentation.cxx:474 AliMpSectorSegmentation.cxx:475 AliMpSectorSegmentation.cxx:476 AliMpSectorSegmentation.cxx:477 AliMpSectorSegmentation.cxx:478 AliMpSectorSegmentation.cxx:479 AliMpSectorSegmentation.cxx:480 AliMpSectorSegmentation.cxx:481 AliMpSectorSegmentation.cxx:482 AliMpSectorSegmentation.cxx:483 AliMpSectorSegmentation.cxx:484 AliMpSectorSegmentation.cxx:485 AliMpSectorSegmentation.cxx:486 AliMpSectorSegmentation.cxx:487 AliMpSectorSegmentation.cxx:488 AliMpSectorSegmentation.cxx:489 AliMpSectorSegmentation.cxx:490 AliMpSectorSegmentation.cxx:491 AliMpSectorSegmentation.cxx:492 AliMpSectorSegmentation.cxx:493 AliMpSectorSegmentation.cxx:494 AliMpSectorSegmentation.cxx:495 AliMpSectorSegmentation.cxx:496 AliMpSectorSegmentation.cxx:497 AliMpSectorSegmentation.cxx:498 AliMpSectorSegmentation.cxx:499 AliMpSectorSegmentation.cxx:500 AliMpSectorSegmentation.cxx:501 AliMpSectorSegmentation.cxx:502 AliMpSectorSegmentation.cxx:503 AliMpSectorSegmentation.cxx:504 AliMpSectorSegmentation.cxx:505 AliMpSectorSegmentation.cxx:506 AliMpSectorSegmentation.cxx:507 AliMpSectorSegmentation.cxx:508 AliMpSectorSegmentation.cxx:509 AliMpSectorSegmentation.cxx:510 AliMpSectorSegmentation.cxx:511 AliMpSectorSegmentation.cxx:512 AliMpSectorSegmentation.cxx:513 AliMpSectorSegmentation.cxx:514 AliMpSectorSegmentation.cxx:515 AliMpSectorSegmentation.cxx:516 AliMpSectorSegmentation.cxx:517 AliMpSectorSegmentation.cxx:518 AliMpSectorSegmentation.cxx:519 AliMpSectorSegmentation.cxx:520 AliMpSectorSegmentation.cxx:521 AliMpSectorSegmentation.cxx:522 AliMpSectorSegmentation.cxx:523 AliMpSectorSegmentation.cxx:524 AliMpSectorSegmentation.cxx:525 AliMpSectorSegmentation.cxx:526 AliMpSectorSegmentation.cxx:527 AliMpSectorSegmentation.cxx:528 AliMpSectorSegmentation.cxx:529 AliMpSectorSegmentation.cxx:530 AliMpSectorSegmentation.cxx:531 AliMpSectorSegmentation.cxx:532 AliMpSectorSegmentation.cxx:533 AliMpSectorSegmentation.cxx:534 AliMpSectorSegmentation.cxx:535 AliMpSectorSegmentation.cxx:536 AliMpSectorSegmentation.cxx:537 AliMpSectorSegmentation.cxx:538 AliMpSectorSegmentation.cxx:539 AliMpSectorSegmentation.cxx:540 AliMpSectorSegmentation.cxx:541 AliMpSectorSegmentation.cxx:542 AliMpSectorSegmentation.cxx:543 AliMpSectorSegmentation.cxx:544 AliMpSectorSegmentation.cxx:545 AliMpSectorSegmentation.cxx:546 AliMpSectorSegmentation.cxx:547 AliMpSectorSegmentation.cxx:548 AliMpSectorSegmentation.cxx:549 AliMpSectorSegmentation.cxx:550 AliMpSectorSegmentation.cxx:551 AliMpSectorSegmentation.cxx:552 AliMpSectorSegmentation.cxx:553 AliMpSectorSegmentation.cxx:554 AliMpSectorSegmentation.cxx:555 AliMpSectorSegmentation.cxx:556 AliMpSectorSegmentation.cxx:557 AliMpSectorSegmentation.cxx:558 AliMpSectorSegmentation.cxx:559 AliMpSectorSegmentation.cxx:560 AliMpSectorSegmentation.cxx:561 AliMpSectorSegmentation.cxx:562 AliMpSectorSegmentation.cxx:563 AliMpSectorSegmentation.cxx:564 AliMpSectorSegmentation.cxx:565 AliMpSectorSegmentation.cxx:566 AliMpSectorSegmentation.cxx:567 AliMpSectorSegmentation.cxx:568 AliMpSectorSegmentation.cxx:569 AliMpSectorSegmentation.cxx:570 AliMpSectorSegmentation.cxx:571 AliMpSectorSegmentation.cxx:572 AliMpSectorSegmentation.cxx:573 AliMpSectorSegmentation.cxx:574 AliMpSectorSegmentation.cxx:575 AliMpSectorSegmentation.cxx:576 AliMpSectorSegmentation.cxx:577 AliMpSectorSegmentation.cxx:578 AliMpSectorSegmentation.cxx:579 AliMpSectorSegmentation.cxx:580 AliMpSectorSegmentation.cxx:581 AliMpSectorSegmentation.cxx:582 AliMpSectorSegmentation.cxx:583 AliMpSectorSegmentation.cxx:584 AliMpSectorSegmentation.cxx:585 AliMpSectorSegmentation.cxx:586 AliMpSectorSegmentation.cxx:587 AliMpSectorSegmentation.cxx:588 AliMpSectorSegmentation.cxx:589 AliMpSectorSegmentation.cxx:590 AliMpSectorSegmentation.cxx:591 AliMpSectorSegmentation.cxx:592 AliMpSectorSegmentation.cxx:593 AliMpSectorSegmentation.cxx:594 AliMpSectorSegmentation.cxx:595 AliMpSectorSegmentation.cxx:596 AliMpSectorSegmentation.cxx:597 AliMpSectorSegmentation.cxx:598 AliMpSectorSegmentation.cxx:599 AliMpSectorSegmentation.cxx:600 AliMpSectorSegmentation.cxx:601 AliMpSectorSegmentation.cxx:602 AliMpSectorSegmentation.cxx:603 AliMpSectorSegmentation.cxx:604 AliMpSectorSegmentation.cxx:605 AliMpSectorSegmentation.cxx:606 AliMpSectorSegmentation.cxx:607 AliMpSectorSegmentation.cxx:608 AliMpSectorSegmentation.cxx:609 AliMpSectorSegmentation.cxx:610 AliMpSectorSegmentation.cxx:611 AliMpSectorSegmentation.cxx:612 AliMpSectorSegmentation.cxx:613 AliMpSectorSegmentation.cxx:614 AliMpSectorSegmentation.cxx:615 AliMpSectorSegmentation.cxx:616 AliMpSectorSegmentation.cxx:617 AliMpSectorSegmentation.cxx:618 AliMpSectorSegmentation.cxx:619 AliMpSectorSegmentation.cxx:620 AliMpSectorSegmentation.cxx:621 AliMpSectorSegmentation.cxx:622 AliMpSectorSegmentation.cxx:623 AliMpSectorSegmentation.cxx:624 AliMpSectorSegmentation.cxx:625 AliMpSectorSegmentation.cxx:626 AliMpSectorSegmentation.cxx:627 AliMpSectorSegmentation.cxx:628 AliMpSectorSegmentation.cxx:629 AliMpSectorSegmentation.cxx:630 AliMpSectorSegmentation.cxx:631