#include "AliMpSegmentation.h"
#include "AliMpDataStreams.h"
#include "AliMpDetElement.h"
#include "AliMpDEStore.h"
#include "AliMpDEManager.h"
#include "AliMpDEIterator.h"
#include "AliMpExMap.h"
#include "AliMpFastSegmentation.h"
#include "AliMpSector.h"
#include "AliMpSectorReader.h"
#include "AliMpSectorSegmentation.h"
#include "AliMpSlat.h"
#include "AliMpSlatSegmentation.h"
#include "AliMpSt345Reader.h"
#include "AliMpTrigger.h"
#include "AliMpTriggerReader.h"
#include "AliMpTriggerSegmentation.h"
#include "AliMpCathodType.h"
#include "AliMpSlatMotifMap.h"
#include "AliLog.h"
#include <Riostream.h>
#include <TMap.h>
#include <TObjString.h>
#include <TSystem.h>
#include <TClass.h>
#include <cassert>
ClassImp(AliMpSegmentation)
AliMpSegmentation* AliMpSegmentation::fgInstance = 0;
AliMpSegmentation* AliMpSegmentation::Instance(Bool_t warn)
{
if ( ! fgInstance && warn ) {
AliWarningClass("Segmentation has not been loaded");
}
return fgInstance;
}
AliMpSegmentation* AliMpSegmentation::ReadData(const AliMpDataStreams& dataStreams,
Bool_t warn)
{
if ( fgInstance ) {
if ( warn )
AliWarningClass("Segmentation has been already loaded");
return fgInstance;
}
if ( dataStreams.GetReadFromFiles() )
AliInfoClass("Reading segmentation from ASCII files.");
fgInstance = new AliMpSegmentation(dataStreams);
return fgInstance;
}
AliMpSegmentation::AliMpSegmentation(const AliMpDataStreams& dataStreams)
: TObject(),
fDetElements(0),
fMpSegmentations(true),
fElCardsMap(),
fSlatMotifMap(new AliMpSlatMotifMap)
{
AliDebug(1,"");
fElCardsMap.SetOwner(kTRUE);
if ( ! AliMpDEStore::Instance(false) )
AliMpDEStore::ReadData(dataStreams);
fDetElements = AliMpDEStore::Instance();
AliMpDEIterator it;
for ( it.First(); ! it.IsDone(); it.Next() )
{
Int_t n(0);
for ( Int_t cath = AliMp::kCath0; cath <= AliMp::kCath1; ++cath )
{
if ( CreateMpSegmentation(dataStreams,
it.CurrentDEId(), AliMp::GetCathodType(cath)) ) ++n;
}
if ( n == 2 &&
AliMpDEManager::GetStationType(it.CurrentDEId()) != AliMp::kStationTrigger )
{
FillElCardsMap(it.CurrentDEId());
}
}
}
AliMpSegmentation::AliMpSegmentation(TRootIOCtor* ioCtor)
: TObject(),
fDetElements(0),
fMpSegmentations(),
fElCardsMap(ioCtor),
fSlatMotifMap(0)
{
AliDebug(1,"");
fgInstance = this;
}
AliMpSegmentation::~AliMpSegmentation()
{
AliDebug(1,"");
delete fDetElements;
delete fSlatMotifMap;
fgInstance = 0;
}
AliMpVSegmentation*
AliMpSegmentation::CreateMpSegmentation(const AliMpDataStreams& dataStreams,
Int_t detElemId, AliMp::CathodType cath)
{
if ( ! AliMpDEManager::IsValidDetElemId(detElemId, true) ) return 0;
AliMpDetElement* detElement = AliMpDEManager::GetDetElement(detElemId);
TString deSegName = detElement->GetSegName(cath);
TObject* object = fMpSegmentations.Get(deSegName);
if ( object ) return (AliMpVSegmentation*)object;
AliDebugStream(3)
<< "Creating segmentation for detElemId=" << detElemId
<< " cath=" << cath << endl;
AliMp::StationType stationType = detElement->GetStationType();
AliMp::PlaneType planeType = detElement->GetPlaneType(cath);
TString deTypeName = detElement->GetSegType();
AliMpVSegmentation* mpSegmentation = 0;
if ( stationType == AliMp::kStation12 ) {
AliMq::Station12Type station12Type = detElement->GetStation12Type();
AliMpSectorReader reader(station12Type, planeType);
AliMpSector* sector = reader.BuildSector(dataStreams);
mpSegmentation = new AliMpFastSegmentation(new AliMpSectorSegmentation(sector, true));
}
else if ( stationType == AliMp::kStation345 ) {
AliMpSt345Reader reader(fSlatMotifMap);
AliMpSlat* slat = reader.ReadSlat(dataStreams, deTypeName, planeType);
mpSegmentation = new AliMpFastSegmentation(new AliMpSlatSegmentation(slat, true));
}
else if ( stationType == AliMp::kStationTrigger ) {
AliMpTriggerReader reader(fSlatMotifMap);
AliMpTrigger* trigger = reader.ReadSlat(dataStreams, deTypeName, planeType);
mpSegmentation = new AliMpTriggerSegmentation(trigger, true);
}
else
AliErrorStream() << "Unknown station type" << endl;
if ( mpSegmentation ) fMpSegmentations.Add(deSegName, mpSegmentation);
return mpSegmentation;
}
AliMpExMap*
AliMpSegmentation::FillElCardsMap(Int_t detElemId)
{
AliDebugStream(2) << "detElemId=" << detElemId << endl;;
AliMpExMap* mde = new AliMpExMap;
mde->SetOwner(kFALSE);
fElCardsMap.Add(detElemId,mde);
const AliMpVSegmentation* seg[2];
TArrayI ecn[2];
for ( Int_t cathode = AliMp::kCath0; cathode <= AliMp::kCath1; ++cathode )
{
seg[cathode] = GetMpSegmentation(detElemId,AliMp::GetCathodType(cathode));
seg[cathode]->GetAllElectronicCardIDs(ecn[cathode]);
for ( Int_t i = 0; i < ecn[cathode].GetSize(); ++i )
{
mde->Add(ecn[cathode][i],const_cast<AliMpVSegmentation*>(seg[cathode]));
}
}
assert( mde->GetSize() > 0 );
return mde;
}
const AliMpVSegmentation*
AliMpSegmentation::GetMpSegmentation(
Int_t detElemId, AliMp::CathodType cath, Bool_t warn) const
{
if ( ! AliMpDEManager::IsValidDetElemId(detElemId, false) ) {
if ( warn ) {
AliWarningStream()
<< "Invalid detElemId " << detElemId << endl;
}
return 0;
}
AliMpDetElement* detElement = AliMpDEManager::GetDetElement(detElemId);
TString deSegName = detElement->GetSegName(cath);
TObject* object = fMpSegmentations.Get(deSegName);
if ( ! object ) {
AliErrorStream()
<< "Segmentation for detElemId/cathod "
<< detElemId << ", " << cath << " not defined" << endl;
return 0;
}
return static_cast<AliMpVSegmentation*>(object);
}
const AliMpVSegmentation*
AliMpSegmentation::GetMpSegmentationByElectronics(
Int_t detElemId, Int_t ecId, Bool_t warn) const
{
AliMpExMap* m = static_cast<AliMpExMap*>(fElCardsMap.GetValue(detElemId));
if (!m) {
AliErrorStream()
<< "Cannot find the el cards map for detElemId " << detElemId << endl;
return 0;
}
TObject* object = m->GetValue(ecId);
if ( ! object ) {
if ( warn ) {
AliErrorStream()
<< "Segmentation for electronic card "
<< ecId << " not found" << endl;
}
return 0;
}
return static_cast<AliMpVSegmentation*>(object);
}
const AliMpSector*
AliMpSegmentation::GetSector(const AliMpVSegmentation* kSegmentation,
Bool_t warn) const
{
if ( ! kSegmentation ) return 0;
if ( kSegmentation->StationType() != AliMp::kStation12 ) {
if ( warn ) {
AliErrorStream()
<< "Segmentation is not of sector type" << endl;
}
return 0;
}
const AliMpFastSegmentation* fseg
= dynamic_cast<const AliMpFastSegmentation*>(kSegmentation);
if ( fseg ) {
return
static_cast<const AliMpSectorSegmentation*>(fseg->GetHelper())->GetSector();
}
const AliMpSectorSegmentation* sseg
= dynamic_cast<const AliMpSectorSegmentation*>(kSegmentation);
if ( sseg ) {
return sseg->GetSector();
}
AliErrorStream() << "Segemntation type not identified." << endl;
return 0;
}
const AliMpSector*
AliMpSegmentation::GetSector(Int_t detElemId, AliMp::CathodType cath,
Bool_t warn) const
{
return GetSector(GetMpSegmentation(detElemId, cath, warn), warn);
}
const AliMpSector*
AliMpSegmentation::GetSectorByElectronics(Int_t detElemId, Int_t elCardID,
Bool_t warn) const
{
return GetSector(GetMpSegmentationByElectronics(detElemId, elCardID, warn), warn);
}
const AliMpSlat*
AliMpSegmentation::GetSlat(const AliMpVSegmentation* kSegmentation,
Bool_t warn) const
{
if ( ! kSegmentation ) return 0;
if ( kSegmentation->StationType() != AliMp::kStation345 ) {
if ( warn ) {
AliErrorStream()
<< "Segmentation is not of slat type" << endl;
}
return 0;
}
const AliMpFastSegmentation* fseg
= dynamic_cast<const AliMpFastSegmentation*>(kSegmentation);
if ( fseg ) {
return
static_cast<const AliMpSlatSegmentation*>(fseg->GetHelper())->Slat();
}
const AliMpSlatSegmentation* sseg
= dynamic_cast<const AliMpSlatSegmentation*>(kSegmentation);
if ( sseg ) {
return sseg->Slat();
}
AliErrorStream() << "Segemntation type not identified." << endl;
return 0;
}
const AliMpSlat*
AliMpSegmentation::GetSlat(Int_t detElemId, AliMp::CathodType cath,
Bool_t warn) const
{
return GetSlat(GetMpSegmentation(detElemId, cath, warn), warn);
}
const AliMpSlat*
AliMpSegmentation::GetSlatByElectronics(Int_t detElemId, Int_t elCardID,
Bool_t warn) const
{
return GetSlat(GetMpSegmentationByElectronics(detElemId, elCardID, warn), warn);
}
const AliMpTrigger*
AliMpSegmentation::GetTrigger(const AliMpVSegmentation* kSegmentation,
Bool_t warn) const
{
if ( ! kSegmentation ) return 0;
if ( kSegmentation->StationType() != AliMp::kStationTrigger ) {
if ( warn ) {
AliErrorStream()
<< "Segmentation is not of trigger type" << endl;
}
return 0;
}
const AliMpTriggerSegmentation* tseg
= dynamic_cast<const AliMpTriggerSegmentation*>(kSegmentation);
if ( tseg ) {
return tseg->Slat();
}
const AliMpFastSegmentation* fseg
= dynamic_cast<const AliMpFastSegmentation*>(kSegmentation);
if ( fseg ) {
return
static_cast<const AliMpTriggerSegmentation*>(fseg->GetHelper())->Slat();
}
AliErrorStream() << "Segemntation type not identified." << endl;
return 0;
}
const AliMpTrigger*
AliMpSegmentation::GetTrigger(Int_t detElemId, AliMp::CathodType cath,
Bool_t warn) const
{
return GetTrigger(GetMpSegmentation(detElemId, cath, warn), warn);
}
const AliMpTrigger*
AliMpSegmentation::GetTriggerByElectronics(Int_t detElemId, Int_t elCardID,
Bool_t warn) const
{
return GetTrigger(GetMpSegmentationByElectronics(detElemId, elCardID, warn), warn);
}
AliMpSegmentation.cxx:100 AliMpSegmentation.cxx:101 AliMpSegmentation.cxx:102 AliMpSegmentation.cxx:103 AliMpSegmentation.cxx:104 AliMpSegmentation.cxx:105 AliMpSegmentation.cxx:106 AliMpSegmentation.cxx:107 AliMpSegmentation.cxx:108 AliMpSegmentation.cxx:109 AliMpSegmentation.cxx:110 AliMpSegmentation.cxx:111 AliMpSegmentation.cxx:112 AliMpSegmentation.cxx:113 AliMpSegmentation.cxx:114 AliMpSegmentation.cxx:115 AliMpSegmentation.cxx:116 AliMpSegmentation.cxx:117 AliMpSegmentation.cxx:118 AliMpSegmentation.cxx:119 AliMpSegmentation.cxx:120 AliMpSegmentation.cxx:121 AliMpSegmentation.cxx:122 AliMpSegmentation.cxx:123 AliMpSegmentation.cxx:124 AliMpSegmentation.cxx:125 AliMpSegmentation.cxx:126 AliMpSegmentation.cxx:127 AliMpSegmentation.cxx:128 AliMpSegmentation.cxx:129 AliMpSegmentation.cxx:130 AliMpSegmentation.cxx:131 AliMpSegmentation.cxx:132 AliMpSegmentation.cxx:133 AliMpSegmentation.cxx:134 AliMpSegmentation.cxx:135 AliMpSegmentation.cxx:136 AliMpSegmentation.cxx:137 AliMpSegmentation.cxx:138 AliMpSegmentation.cxx:139 AliMpSegmentation.cxx:140 AliMpSegmentation.cxx:141 AliMpSegmentation.cxx:142 AliMpSegmentation.cxx:143 AliMpSegmentation.cxx:144 AliMpSegmentation.cxx:145 AliMpSegmentation.cxx:146 AliMpSegmentation.cxx:147 AliMpSegmentation.cxx:148 AliMpSegmentation.cxx:149 AliMpSegmentation.cxx:150 AliMpSegmentation.cxx:151 AliMpSegmentation.cxx:152 AliMpSegmentation.cxx:153 AliMpSegmentation.cxx:154 AliMpSegmentation.cxx:155 AliMpSegmentation.cxx:156 AliMpSegmentation.cxx:157 AliMpSegmentation.cxx:158 AliMpSegmentation.cxx:159 AliMpSegmentation.cxx:160 AliMpSegmentation.cxx:161 AliMpSegmentation.cxx:162 AliMpSegmentation.cxx:163 AliMpSegmentation.cxx:164 AliMpSegmentation.cxx:165 AliMpSegmentation.cxx:166 AliMpSegmentation.cxx:167 AliMpSegmentation.cxx:168 AliMpSegmentation.cxx:169 AliMpSegmentation.cxx:170 AliMpSegmentation.cxx:171 AliMpSegmentation.cxx:172 AliMpSegmentation.cxx:173 AliMpSegmentation.cxx:174 AliMpSegmentation.cxx:175 AliMpSegmentation.cxx:176 AliMpSegmentation.cxx:177 AliMpSegmentation.cxx:178 AliMpSegmentation.cxx:179 AliMpSegmentation.cxx:180 AliMpSegmentation.cxx:181 AliMpSegmentation.cxx:182 AliMpSegmentation.cxx:183 AliMpSegmentation.cxx:184 AliMpSegmentation.cxx:185 AliMpSegmentation.cxx:186 AliMpSegmentation.cxx:187 AliMpSegmentation.cxx:188 AliMpSegmentation.cxx:189 AliMpSegmentation.cxx:190 AliMpSegmentation.cxx:191 AliMpSegmentation.cxx:192 AliMpSegmentation.cxx:193 AliMpSegmentation.cxx:194 AliMpSegmentation.cxx:195 AliMpSegmentation.cxx:196 AliMpSegmentation.cxx:197 AliMpSegmentation.cxx:198 AliMpSegmentation.cxx:199 AliMpSegmentation.cxx:200 AliMpSegmentation.cxx:201 AliMpSegmentation.cxx:202 AliMpSegmentation.cxx:203 AliMpSegmentation.cxx:204 AliMpSegmentation.cxx:205 AliMpSegmentation.cxx:206 AliMpSegmentation.cxx:207 AliMpSegmentation.cxx:208 AliMpSegmentation.cxx:209 AliMpSegmentation.cxx:210 AliMpSegmentation.cxx:211 AliMpSegmentation.cxx:212 AliMpSegmentation.cxx:213 AliMpSegmentation.cxx:214 AliMpSegmentation.cxx:215 AliMpSegmentation.cxx:216 AliMpSegmentation.cxx:217 AliMpSegmentation.cxx:218 AliMpSegmentation.cxx:219 AliMpSegmentation.cxx:220 AliMpSegmentation.cxx:221 AliMpSegmentation.cxx:222 AliMpSegmentation.cxx:223 AliMpSegmentation.cxx:224 AliMpSegmentation.cxx:225 AliMpSegmentation.cxx:226 AliMpSegmentation.cxx:227 AliMpSegmentation.cxx:228 AliMpSegmentation.cxx:229 AliMpSegmentation.cxx:230 AliMpSegmentation.cxx:231 AliMpSegmentation.cxx:232 AliMpSegmentation.cxx:233 AliMpSegmentation.cxx:234 AliMpSegmentation.cxx:235 AliMpSegmentation.cxx:236 AliMpSegmentation.cxx:237 AliMpSegmentation.cxx:238 AliMpSegmentation.cxx:239 AliMpSegmentation.cxx:240 AliMpSegmentation.cxx:241 AliMpSegmentation.cxx:242 AliMpSegmentation.cxx:243 AliMpSegmentation.cxx:244 AliMpSegmentation.cxx:245 AliMpSegmentation.cxx:246 AliMpSegmentation.cxx:247 AliMpSegmentation.cxx:248 AliMpSegmentation.cxx:249 AliMpSegmentation.cxx:250 AliMpSegmentation.cxx:251 AliMpSegmentation.cxx:252 AliMpSegmentation.cxx:253 AliMpSegmentation.cxx:254 AliMpSegmentation.cxx:255 AliMpSegmentation.cxx:256 AliMpSegmentation.cxx:257 AliMpSegmentation.cxx:258 AliMpSegmentation.cxx:259 AliMpSegmentation.cxx:260 AliMpSegmentation.cxx:261 AliMpSegmentation.cxx:262 AliMpSegmentation.cxx:263 AliMpSegmentation.cxx:264 AliMpSegmentation.cxx:265 AliMpSegmentation.cxx:266 AliMpSegmentation.cxx:267 AliMpSegmentation.cxx:268 AliMpSegmentation.cxx:269 AliMpSegmentation.cxx:270 AliMpSegmentation.cxx:271 AliMpSegmentation.cxx:272 AliMpSegmentation.cxx:273 AliMpSegmentation.cxx:274 AliMpSegmentation.cxx:275 AliMpSegmentation.cxx:276 AliMpSegmentation.cxx:277 AliMpSegmentation.cxx:278 AliMpSegmentation.cxx:279 AliMpSegmentation.cxx:280 AliMpSegmentation.cxx:281 AliMpSegmentation.cxx:282 AliMpSegmentation.cxx:283 AliMpSegmentation.cxx:284 AliMpSegmentation.cxx:285 AliMpSegmentation.cxx:286 AliMpSegmentation.cxx:287 AliMpSegmentation.cxx:288 AliMpSegmentation.cxx:289 AliMpSegmentation.cxx:290 AliMpSegmentation.cxx:291 AliMpSegmentation.cxx:292 AliMpSegmentation.cxx:293 AliMpSegmentation.cxx:294 AliMpSegmentation.cxx:295 AliMpSegmentation.cxx:296 AliMpSegmentation.cxx:297 AliMpSegmentation.cxx:298 AliMpSegmentation.cxx:299 AliMpSegmentation.cxx:300 AliMpSegmentation.cxx:301 AliMpSegmentation.cxx:302 AliMpSegmentation.cxx:303 AliMpSegmentation.cxx:304 AliMpSegmentation.cxx:305 AliMpSegmentation.cxx:306 AliMpSegmentation.cxx:307 AliMpSegmentation.cxx:308 AliMpSegmentation.cxx:309 AliMpSegmentation.cxx:310 AliMpSegmentation.cxx:311 AliMpSegmentation.cxx:312 AliMpSegmentation.cxx:313 AliMpSegmentation.cxx:314 AliMpSegmentation.cxx:315 AliMpSegmentation.cxx:316 AliMpSegmentation.cxx:317 AliMpSegmentation.cxx:318 AliMpSegmentation.cxx:319 AliMpSegmentation.cxx:320 AliMpSegmentation.cxx:321 AliMpSegmentation.cxx:322 AliMpSegmentation.cxx:323 AliMpSegmentation.cxx:324 AliMpSegmentation.cxx:325 AliMpSegmentation.cxx:326 AliMpSegmentation.cxx:327 AliMpSegmentation.cxx:328 AliMpSegmentation.cxx:329 AliMpSegmentation.cxx:330 AliMpSegmentation.cxx:331 AliMpSegmentation.cxx:332 AliMpSegmentation.cxx:333 AliMpSegmentation.cxx:334 AliMpSegmentation.cxx:335 AliMpSegmentation.cxx:336 AliMpSegmentation.cxx:337 AliMpSegmentation.cxx:338 AliMpSegmentation.cxx:339 AliMpSegmentation.cxx:340 AliMpSegmentation.cxx:341 AliMpSegmentation.cxx:342 AliMpSegmentation.cxx:343 AliMpSegmentation.cxx:344 AliMpSegmentation.cxx:345 AliMpSegmentation.cxx:346 AliMpSegmentation.cxx:347 AliMpSegmentation.cxx:348 AliMpSegmentation.cxx:349 AliMpSegmentation.cxx:350 AliMpSegmentation.cxx:351 AliMpSegmentation.cxx:352 AliMpSegmentation.cxx:353 AliMpSegmentation.cxx:354 AliMpSegmentation.cxx:355 AliMpSegmentation.cxx:356 AliMpSegmentation.cxx:357 AliMpSegmentation.cxx:358 AliMpSegmentation.cxx:359 AliMpSegmentation.cxx:360 AliMpSegmentation.cxx:361 AliMpSegmentation.cxx:362 AliMpSegmentation.cxx:363 AliMpSegmentation.cxx:364 AliMpSegmentation.cxx:365 AliMpSegmentation.cxx:366 AliMpSegmentation.cxx:367 AliMpSegmentation.cxx:368 AliMpSegmentation.cxx:369 AliMpSegmentation.cxx:370 AliMpSegmentation.cxx:371 AliMpSegmentation.cxx:372 AliMpSegmentation.cxx:373 AliMpSegmentation.cxx:374 AliMpSegmentation.cxx:375 AliMpSegmentation.cxx:376 AliMpSegmentation.cxx:377 AliMpSegmentation.cxx:378 AliMpSegmentation.cxx:379 AliMpSegmentation.cxx:380 AliMpSegmentation.cxx:381 AliMpSegmentation.cxx:382 AliMpSegmentation.cxx:383 AliMpSegmentation.cxx:384 AliMpSegmentation.cxx:385 AliMpSegmentation.cxx:386 AliMpSegmentation.cxx:387 AliMpSegmentation.cxx:388 AliMpSegmentation.cxx:389 AliMpSegmentation.cxx:390 AliMpSegmentation.cxx:391 AliMpSegmentation.cxx:392 AliMpSegmentation.cxx:393 AliMpSegmentation.cxx:394 AliMpSegmentation.cxx:395 AliMpSegmentation.cxx:396 AliMpSegmentation.cxx:397 AliMpSegmentation.cxx:398 AliMpSegmentation.cxx:399 AliMpSegmentation.cxx:400 AliMpSegmentation.cxx:401 AliMpSegmentation.cxx:402 AliMpSegmentation.cxx:403 AliMpSegmentation.cxx:404 AliMpSegmentation.cxx:405 AliMpSegmentation.cxx:406 AliMpSegmentation.cxx:407 AliMpSegmentation.cxx:408 AliMpSegmentation.cxx:409 AliMpSegmentation.cxx:410 AliMpSegmentation.cxx:411 AliMpSegmentation.cxx:412 AliMpSegmentation.cxx:413 AliMpSegmentation.cxx:414 AliMpSegmentation.cxx:415 AliMpSegmentation.cxx:416 AliMpSegmentation.cxx:417 AliMpSegmentation.cxx:418 AliMpSegmentation.cxx:419 AliMpSegmentation.cxx:420 AliMpSegmentation.cxx:421 AliMpSegmentation.cxx:422 AliMpSegmentation.cxx:423 AliMpSegmentation.cxx:424 AliMpSegmentation.cxx:425 AliMpSegmentation.cxx:426 AliMpSegmentation.cxx:427 AliMpSegmentation.cxx:428 AliMpSegmentation.cxx:429 AliMpSegmentation.cxx:430 AliMpSegmentation.cxx:431 AliMpSegmentation.cxx:432 AliMpSegmentation.cxx:433 AliMpSegmentation.cxx:434 AliMpSegmentation.cxx:435 AliMpSegmentation.cxx:436 AliMpSegmentation.cxx:437 AliMpSegmentation.cxx:438 AliMpSegmentation.cxx:439 AliMpSegmentation.cxx:440 AliMpSegmentation.cxx:441 AliMpSegmentation.cxx:442 AliMpSegmentation.cxx:443 AliMpSegmentation.cxx:444 AliMpSegmentation.cxx:445 AliMpSegmentation.cxx:446 AliMpSegmentation.cxx:447 AliMpSegmentation.cxx:448 AliMpSegmentation.cxx:449 AliMpSegmentation.cxx:450 AliMpSegmentation.cxx:451 AliMpSegmentation.cxx:452 AliMpSegmentation.cxx:453 AliMpSegmentation.cxx:454 AliMpSegmentation.cxx:455 AliMpSegmentation.cxx:456 AliMpSegmentation.cxx:457 AliMpSegmentation.cxx:458 AliMpSegmentation.cxx:459 AliMpSegmentation.cxx:460 AliMpSegmentation.cxx:461 AliMpSegmentation.cxx:462 AliMpSegmentation.cxx:463 AliMpSegmentation.cxx:464 AliMpSegmentation.cxx:465 AliMpSegmentation.cxx:466 AliMpSegmentation.cxx:467 AliMpSegmentation.cxx:468 AliMpSegmentation.cxx:469 AliMpSegmentation.cxx:470 AliMpSegmentation.cxx:471 AliMpSegmentation.cxx:472 AliMpSegmentation.cxx:473 AliMpSegmentation.cxx:474 AliMpSegmentation.cxx:475 AliMpSegmentation.cxx:476 AliMpSegmentation.cxx:477 AliMpSegmentation.cxx:478 AliMpSegmentation.cxx:479 AliMpSegmentation.cxx:480 AliMpSegmentation.cxx:481 AliMpSegmentation.cxx:482 AliMpSegmentation.cxx:483 AliMpSegmentation.cxx:484 AliMpSegmentation.cxx:485 AliMpSegmentation.cxx:486 AliMpSegmentation.cxx:487 AliMpSegmentation.cxx:488 AliMpSegmentation.cxx:489 AliMpSegmentation.cxx:490 AliMpSegmentation.cxx:491 AliMpSegmentation.cxx:492 AliMpSegmentation.cxx:493 AliMpSegmentation.cxx:494 AliMpSegmentation.cxx:495 AliMpSegmentation.cxx:496 AliMpSegmentation.cxx:497 AliMpSegmentation.cxx:498 AliMpSegmentation.cxx:499 AliMpSegmentation.cxx:500 AliMpSegmentation.cxx:501 AliMpSegmentation.cxx:502 AliMpSegmentation.cxx:503 AliMpSegmentation.cxx:504 AliMpSegmentation.cxx:505 AliMpSegmentation.cxx:506 AliMpSegmentation.cxx:507 AliMpSegmentation.cxx:508 AliMpSegmentation.cxx:509 AliMpSegmentation.cxx:510 AliMpSegmentation.cxx:511 AliMpSegmentation.cxx:512 AliMpSegmentation.cxx:513 AliMpSegmentation.cxx:514 AliMpSegmentation.cxx:515 AliMpSegmentation.cxx:516 AliMpSegmentation.cxx:517 AliMpSegmentation.cxx:518 AliMpSegmentation.cxx:519 AliMpSegmentation.cxx:520 AliMpSegmentation.cxx:521 AliMpSegmentation.cxx:522 AliMpSegmentation.cxx:523 AliMpSegmentation.cxx:524 AliMpSegmentation.cxx:525 AliMpSegmentation.cxx:526 AliMpSegmentation.cxx:527 AliMpSegmentation.cxx:528 AliMpSegmentation.cxx:529 AliMpSegmentation.cxx:530 AliMpSegmentation.cxx:531 AliMpSegmentation.cxx:532 AliMpSegmentation.cxx:533 AliMpSegmentation.cxx:534 AliMpSegmentation.cxx:535 AliMpSegmentation.cxx:536 AliMpSegmentation.cxx:537 AliMpSegmentation.cxx:538 AliMpSegmentation.cxx:539 AliMpSegmentation.cxx:540 AliMpSegmentation.cxx:541 AliMpSegmentation.cxx:542 AliMpSegmentation.cxx:543 AliMpSegmentation.cxx:544 AliMpSegmentation.cxx:545 AliMpSegmentation.cxx:546 AliMpSegmentation.cxx:547 AliMpSegmentation.cxx:548 AliMpSegmentation.cxx:549 AliMpSegmentation.cxx:550 AliMpSegmentation.cxx:551 AliMpSegmentation.cxx:552 AliMpSegmentation.cxx:553 AliMpSegmentation.cxx:554 AliMpSegmentation.cxx:555 AliMpSegmentation.cxx:556 AliMpSegmentation.cxx:557