#include <cstdlib>
#include "AliMUONPainterHelper.h"
#include "AliCodeTimer.h"
#include "AliDAQ.h"
#include "AliLog.h"
#include "AliMUONContour.h"
#include "AliMUONContourHandler.h"
#include "AliMUONContourMaker.h"
#include "AliMUONGeometryDetElement.h"
#include "AliMUONGeometryTransformer.h"
#include "AliMUONManuContourMaker.h"
#include "AliMUONPainterEnv.h"
#include "AliMUONPainterRegistry.h"
#include "AliMUONPadStatusMaker.h"
#include "AliMUONVCalibParam.h"
#include "AliMUONVDigit.h"
#include "AliMUONVTrackerData.h"
#include "AliMpCDB.h"
#include "AliMpConstants.h"
#include "AliMpDDLStore.h"
#include "AliMpDEIterator.h"
#include "AliMpDEManager.h"
#include "AliMpDetElement.h"
#include "AliMpExMap.h"
#include "AliMpMotifMap.h"
#include "AliMpMotifPosition.h"
#include "AliMpPCB.h"
#include "AliMpPad.h"
#include "AliMpSector.h"
#include "AliMpSegmentation.h"
#include "AliMpSlat.h"
#include "AliMpStationType.h"
#include "AliMpVPadIterator.h"
#include <Riostream.h>
#include <TArrayI.h>
#include <TCanvas.h>
#include <TClass.h>
#include <TCollection.h>
#include <TFile.h>
#include <TGLabel.h>
#include <TGMsgBox.h>
#include <TGeoMatrix.h>
#include <TLine.h>
#include <TList.h>
#include <TMap.h>
#include <TMath.h>
#include <TObjArray.h>
#include <TObjString.h>
#include <TStyle.h>
#include <TSystem.h>
#include <TVector2.h>
#include <TVector3.h>
#include <TVirtualPad.h>
#include <TVirtualX.h>
#include "AliMUONChamberPainter.h"
using std::cout;
using std::endl;
ClassImp(AliMUONPainterHelper)
AliMUONPainterHelper* AliMUONPainterHelper::fgInstance(0x0);
AliMUONPainterHelper::AliMUONPainterHelper() :
TObject(),
fEnv(0x0),
fReal(0x0),
fExploded(0x0)
{
if ( ! AliMpCDB::LoadMpSegmentation() )
{
AliFatal("Could not access mapping from OCDB !");
}
if ( ! AliMpCDB::LoadDDLStore() )
{
AliFatal("Could not access DDL Store from OCDB !");
}
}
AliMUONPainterHelper::~AliMUONPainterHelper()
{
delete fReal;
delete fExploded;
fEnv->Save();
fgInstance = 0;
}
AliMUONContourHandler*
AliMUONPainterHelper::Exploded() const
{
if (!fExploded) fExploded = new AliMUONContourHandler(kTRUE);
return fExploded;
}
AliMUONContourHandler*
AliMUONPainterHelper::Real() const
{
if (!fReal) fReal = new AliMUONContourHandler(kFALSE);
return fReal;
}
AliMUONContour*
AliMUONPainterHelper::GetContour(const char* contourName, Bool_t explodedView) const
{
if (explodedView)
{
return Exploded()->GetContour(contourName);
}
else
{
if ( fReal )
{
return fReal->GetContour(contourName);
}
}
return 0x0;
}
AliMp::CathodType
AliMUONPainterHelper::GetCathodeType(Int_t detElemId, Int_t manuId) const
{
AliMp::PlaneType planeType(AliMp::kBendingPlane);
if ( manuId & AliMpConstants::ManuMask(AliMp::kNonBendingPlane) )
{
planeType = AliMp::kNonBendingPlane;
}
return AliMpDEManager::GetCathod(detElemId,planeType);
}
AliMpMotifPosition*
AliMUONPainterHelper::GetMotifPosition(Int_t detElemId, Int_t manuId) const
{
const AliMpVSegmentation* vseg = AliMpSegmentation::Instance()->GetMpSegmentationByElectronics(detElemId,manuId);
if (vseg)
{
return vseg->MotifPosition(manuId);
}
return 0x0;
}
AliMpPCB*
AliMUONPainterHelper::GetPCB(Int_t detElemId, AliMp::CathodType cathodeType,
Int_t pcbNumber) const
{
const AliMpSlat* slat = GetSlat(detElemId,cathodeType);
if ( slat ) return slat->GetPCB(pcbNumber);
return 0x0;
}
AliMpPCB*
AliMUONPainterHelper::GetPCB(Int_t detElemId, AliMp::PlaneType planeType,
Int_t pcbNumber) const
{
AliMp::CathodType cathodeType = AliMpDEManager::GetCathod(detElemId,
planeType);
return GetPCB(detElemId,cathodeType,pcbNumber);
}
AliMp::PlaneType
AliMUONPainterHelper::GetPlaneType(Int_t manuId) const
{
if ( manuId & AliMpConstants::ManuMask(AliMp::kNonBendingPlane) )
{
return AliMp::kNonBendingPlane;
}
return AliMp::kBendingPlane;
}
const AliMpSlat*
AliMUONPainterHelper::GetSlat(Int_t detElemId, AliMp::PlaneType planeType) const
{
AliMp::CathodType cathodeType = AliMpDEManager::GetCathod(detElemId,
planeType);
return GetSlat(detElemId,cathodeType);
}
const AliMpSector*
AliMUONPainterHelper::GetSector(Int_t detElemId, AliMp::PlaneType planeType) const
{
AliMp::StationType stationType = AliMpDEManager::GetStationType(detElemId);
if ( stationType != AliMp::kStation12 ) return 0x0;
AliMp::CathodType cathodeType = AliMpDEManager::GetCathod(detElemId,planeType);
return AliMpSegmentation::Instance()->GetSector(detElemId,cathodeType);
}
const AliMpSlat*
AliMUONPainterHelper::GetSlat(Int_t detElemId, AliMp::CathodType cathodeType) const
{
AliMp::StationType stationType = AliMpDEManager::GetStationType(detElemId);
if ( stationType != AliMp::kStation345 ) return 0x0;
return AliMpSegmentation::Instance()->GetSlat(detElemId,cathodeType);
}
const AliMpSlat*
AliMUONPainterHelper::GetSlat(Int_t detElemId, Int_t manuId) const
{
AliMp::StationType stationType = AliMpDEManager::GetStationType(detElemId);
if ( stationType != AliMp::kStation345 ) return 0x0;
return AliMpSegmentation::Instance()->GetSlatByElectronics(detElemId,manuId);
}
AliMUONPainterHelper*
AliMUONPainterHelper::Instance()
{
if (fgInstance) return fgInstance;
AliCodeTimerAutoClass("",0);
fgInstance = new AliMUONPainterHelper;
fgInstance->fEnv = new AliMUONPainterEnv;
return fgInstance;
}
void
AliMUONPainterHelper::Global2Local(Int_t detElemId,
Double_t xg, Double_t yg, Double_t zg,
Double_t& xl, Double_t& yl, Double_t& zl) const
{
TGeoHMatrix* matrix = static_cast<TGeoHMatrix*>(Exploded()->GetTransformations()->GetValue(detElemId));
Double_t pg[3] = { xg, yg, zg };
Double_t pl[3] = { 0., 0., 0. };
matrix->MasterToLocal(pg, pl);
xl = pl[0];
yl = pl[1];
zl = pl[2];
}
void
AliMUONPainterHelper::Local2Global(Int_t detElemId,
Double_t xl, Double_t yl, Double_t zl,
Double_t& xg, Double_t& yg, Double_t& zg) const
{
TGeoHMatrix* matrix = static_cast<TGeoHMatrix*>(Exploded()->GetTransformations()->GetValue(detElemId));
Double_t pl[3] = { xl, yl, zl };
Double_t pg[3] = { 0., 0., 0. };
matrix->LocalToMaster(pl, pg);
xg = pg[0];
yg = pg[1];
zg = pg[2];
}
Int_t
AliMUONPainterHelper::ColorFromValue(Double_t value, Double_t min, Double_t max) const
{
Int_t rv;
if (value > max) rv = 1;
else if (value <= min) rv = 0;
else
{
if ( TMath::AreEqualRel(max,min,1E-6) ) return gStyle->GetColorPalette(1);
Double_t range = max - min;
Double_t offset = value - min;
rv = gStyle->GetColorPalette( 1 + int( offset*(gStyle->GetNumberOfColors()-2)/range - 0.5 ) );
}
return rv;
}
AliMUONContour*
AliMUONPainterHelper::MergeContours(const TObjArray& contours, const char* contourName, Bool_t explodedGeometry)
{
AliMUONContourMaker maker;
AliMUONContour* contour = maker.MergeContour(contours,contourName);
if (contour)
{
RegisterContour(contour,explodedGeometry);
}
return contour;
}
void
AliMUONPainterHelper::Print(Option_t* opt) const
{
TString sopt(opt);
sopt.ToUpper();
if ( sopt.Length() == 0 )
{
if ( fExploded ) fExploded->Print();
if ( fReal ) fReal->Print();
}
}
void
AliMUONPainterHelper::RegisterContour(AliMUONContour* contour, Bool_t explodedView)
{
AliCodeTimerAuto("",0)
AliDebug(1,contour->GetName());
AliMUONContourHandler* ch = fReal;
if ( explodedView )
{
ch = Exploded();
}
if (!ch)
{
AliError(Form("ContourHandler for %s view is not created yet !",explodedView ? "EXPLODED" : "REAL"));
}
else
{
if ( ch->GetContour(contour->GetName()) )
{
AliError(Form("Contour with name %s is already there",contour->GetName()));
return;
}
ch->Adopt(contour);
}
}
TString
AliMUONPainterHelper::ChamberName(Int_t chamberId) const
{
return Form("Chamber%1d",chamberId+1);
}
TString
AliMUONPainterHelper::StationName(Int_t stationId) const
{
return Form("Station%1d",stationId+1);
}
TString
AliMUONPainterHelper::DEName(Int_t detElemId) const
{
return Form("DE%04d",detElemId);
}
TString
AliMUONPainterHelper::ManuName(Int_t manuId) const
{
return Form("MANU%04d",manuId);
}
TString
AliMUONPainterHelper::BusPatchName(Int_t busPatchId) const
{
return Form("BUSPATCH%04d",busPatchId);
}
TString
AliMUONPainterHelper::PCBName(Int_t pcbNumber) const
{
return Form("PCB%1d",pcbNumber);
}
TString
AliMUONPainterHelper::ChamberPathName(Int_t chamberId) const
{
return Form("%s/%s",StationName(chamberId/2).Data(),ChamberName(chamberId).Data());
}
TString
AliMUONPainterHelper::StationPathName(Int_t stationId) const
{
return StationName(stationId);
}
TString
AliMUONPainterHelper::DEPathName(Int_t detElemId) const
{
Int_t chamberId = AliMpDEManager::GetChamberId(detElemId);
Int_t ddl(-1);
AliMpDetElement* de = AliMpDDLStore::Instance()->GetDetElement(detElemId);
if ( de )
{
ddl = AliDAQ::DdlIDOffset("MUONTRK") + de->GetDdlId();
}
return Form("%s/%s/%s(DDL%4d)",
StationName(chamberId/2).Data(),
ChamberName(chamberId).Data(),
DEName(detElemId).Data(),
ddl);
}
TString
AliMUONPainterHelper::ManuPathName(Int_t detElemId, Int_t manuId) const
{
return Form("%s/%s",DEPathName(detElemId).Data(),ManuName(manuId).Data());
}
TString
AliMUONPainterHelper::BusPatchPathName(Int_t busPatchId) const
{
Int_t detElemId = AliMpDDLStore::Instance()->GetDEfromBus(busPatchId);
return Form("%s/%s",DEPathName(detElemId).Data(),BusPatchName(busPatchId).Data());
}
TString
AliMUONPainterHelper::PCBPathName(Int_t detElemId, Int_t pcbNumber) const
{
return Form("%s/%s",DEPathName(detElemId).Data(),PCBName(pcbNumber).Data());
}
TString
AliMUONPainterHelper::FormatValue(const char* name, Double_t value) const
{
TString sname(name);
sname.ToUpper();
if (sname.Contains("BIT"))
{
Int_t i = (Int_t)(value);
TString rv = Form("%s = 0x%x",name,i);
cout << rv << ":" << AliMUONPadStatusMaker::AsString(i) << endl;
return rv;
}
else
{
return Form("%s = %e",name,value);
}
}
TObjArray*
AliMUONPainterHelper::GetAllContoursAsArray(Bool_t explodedView) const
{
if ( explodedView )
{
return Exploded()->AllContourArray();
}
else
{
return Real()->AllContourArray();
}
}
AliMUONPainterHelper.cxx:1 AliMUONPainterHelper.cxx:2 AliMUONPainterHelper.cxx:3 AliMUONPainterHelper.cxx:4 AliMUONPainterHelper.cxx:5 AliMUONPainterHelper.cxx:6 AliMUONPainterHelper.cxx:7 AliMUONPainterHelper.cxx:8 AliMUONPainterHelper.cxx:9 AliMUONPainterHelper.cxx:10 AliMUONPainterHelper.cxx:11 AliMUONPainterHelper.cxx:12 AliMUONPainterHelper.cxx:13 AliMUONPainterHelper.cxx:14 AliMUONPainterHelper.cxx:15 AliMUONPainterHelper.cxx:16 AliMUONPainterHelper.cxx:17 AliMUONPainterHelper.cxx:18 AliMUONPainterHelper.cxx:19 AliMUONPainterHelper.cxx:20 AliMUONPainterHelper.cxx:21 AliMUONPainterHelper.cxx:22 AliMUONPainterHelper.cxx:23 AliMUONPainterHelper.cxx:24 AliMUONPainterHelper.cxx:25 AliMUONPainterHelper.cxx:26 AliMUONPainterHelper.cxx:27 AliMUONPainterHelper.cxx:28 AliMUONPainterHelper.cxx:29 AliMUONPainterHelper.cxx:30 AliMUONPainterHelper.cxx:31 AliMUONPainterHelper.cxx:32 AliMUONPainterHelper.cxx:33 AliMUONPainterHelper.cxx:34 AliMUONPainterHelper.cxx:35 AliMUONPainterHelper.cxx:36 AliMUONPainterHelper.cxx:37 AliMUONPainterHelper.cxx:38 AliMUONPainterHelper.cxx:39 AliMUONPainterHelper.cxx:40 AliMUONPainterHelper.cxx:41 AliMUONPainterHelper.cxx:42 AliMUONPainterHelper.cxx:43 AliMUONPainterHelper.cxx:44 AliMUONPainterHelper.cxx:45 AliMUONPainterHelper.cxx:46 AliMUONPainterHelper.cxx:47 AliMUONPainterHelper.cxx:48 AliMUONPainterHelper.cxx:49 AliMUONPainterHelper.cxx:50 AliMUONPainterHelper.cxx:51 AliMUONPainterHelper.cxx:52 AliMUONPainterHelper.cxx:53 AliMUONPainterHelper.cxx:54 AliMUONPainterHelper.cxx:55 AliMUONPainterHelper.cxx:56 AliMUONPainterHelper.cxx:57 AliMUONPainterHelper.cxx:58 AliMUONPainterHelper.cxx:59 AliMUONPainterHelper.cxx:60 AliMUONPainterHelper.cxx:61 AliMUONPainterHelper.cxx:62 AliMUONPainterHelper.cxx:63 AliMUONPainterHelper.cxx:64 AliMUONPainterHelper.cxx:65 AliMUONPainterHelper.cxx:66 AliMUONPainterHelper.cxx:67 AliMUONPainterHelper.cxx:68 AliMUONPainterHelper.cxx:69 AliMUONPainterHelper.cxx:70 AliMUONPainterHelper.cxx:71 AliMUONPainterHelper.cxx:72 AliMUONPainterHelper.cxx:73 AliMUONPainterHelper.cxx:74 AliMUONPainterHelper.cxx:75 AliMUONPainterHelper.cxx:76 AliMUONPainterHelper.cxx:77 AliMUONPainterHelper.cxx:78 AliMUONPainterHelper.cxx:79 AliMUONPainterHelper.cxx:80 AliMUONPainterHelper.cxx:81 AliMUONPainterHelper.cxx:82 AliMUONPainterHelper.cxx:83 AliMUONPainterHelper.cxx:84 AliMUONPainterHelper.cxx:85 AliMUONPainterHelper.cxx:86 AliMUONPainterHelper.cxx:87 AliMUONPainterHelper.cxx:88 AliMUONPainterHelper.cxx:89 AliMUONPainterHelper.cxx:90 AliMUONPainterHelper.cxx:91 AliMUONPainterHelper.cxx:92 AliMUONPainterHelper.cxx:93 AliMUONPainterHelper.cxx:94 AliMUONPainterHelper.cxx:95 AliMUONPainterHelper.cxx:96 AliMUONPainterHelper.cxx:97 AliMUONPainterHelper.cxx:98 AliMUONPainterHelper.cxx:99 AliMUONPainterHelper.cxx:100 AliMUONPainterHelper.cxx:101 AliMUONPainterHelper.cxx:102 AliMUONPainterHelper.cxx:103 AliMUONPainterHelper.cxx:104 AliMUONPainterHelper.cxx:105 AliMUONPainterHelper.cxx:106 AliMUONPainterHelper.cxx:107 AliMUONPainterHelper.cxx:108 AliMUONPainterHelper.cxx:109 AliMUONPainterHelper.cxx:110 AliMUONPainterHelper.cxx:111 AliMUONPainterHelper.cxx:112 AliMUONPainterHelper.cxx:113 AliMUONPainterHelper.cxx:114 AliMUONPainterHelper.cxx:115 AliMUONPainterHelper.cxx:116 AliMUONPainterHelper.cxx:117 AliMUONPainterHelper.cxx:118 AliMUONPainterHelper.cxx:119 AliMUONPainterHelper.cxx:120 AliMUONPainterHelper.cxx:121 AliMUONPainterHelper.cxx:122 AliMUONPainterHelper.cxx:123 AliMUONPainterHelper.cxx:124 AliMUONPainterHelper.cxx:125 AliMUONPainterHelper.cxx:126 AliMUONPainterHelper.cxx:127 AliMUONPainterHelper.cxx:128 AliMUONPainterHelper.cxx:129 AliMUONPainterHelper.cxx:130 AliMUONPainterHelper.cxx:131 AliMUONPainterHelper.cxx:132 AliMUONPainterHelper.cxx:133 AliMUONPainterHelper.cxx:134 AliMUONPainterHelper.cxx:135 AliMUONPainterHelper.cxx:136 AliMUONPainterHelper.cxx:137 AliMUONPainterHelper.cxx:138 AliMUONPainterHelper.cxx:139 AliMUONPainterHelper.cxx:140 AliMUONPainterHelper.cxx:141 AliMUONPainterHelper.cxx:142 AliMUONPainterHelper.cxx:143 AliMUONPainterHelper.cxx:144 AliMUONPainterHelper.cxx:145 AliMUONPainterHelper.cxx:146 AliMUONPainterHelper.cxx:147 AliMUONPainterHelper.cxx:148 AliMUONPainterHelper.cxx:149 AliMUONPainterHelper.cxx:150 AliMUONPainterHelper.cxx:151 AliMUONPainterHelper.cxx:152 AliMUONPainterHelper.cxx:153 AliMUONPainterHelper.cxx:154 AliMUONPainterHelper.cxx:155 AliMUONPainterHelper.cxx:156 AliMUONPainterHelper.cxx:157 AliMUONPainterHelper.cxx:158 AliMUONPainterHelper.cxx:159 AliMUONPainterHelper.cxx:160 AliMUONPainterHelper.cxx:161 AliMUONPainterHelper.cxx:162 AliMUONPainterHelper.cxx:163 AliMUONPainterHelper.cxx:164 AliMUONPainterHelper.cxx:165 AliMUONPainterHelper.cxx:166 AliMUONPainterHelper.cxx:167 AliMUONPainterHelper.cxx:168 AliMUONPainterHelper.cxx:169 AliMUONPainterHelper.cxx:170 AliMUONPainterHelper.cxx:171 AliMUONPainterHelper.cxx:172 AliMUONPainterHelper.cxx:173 AliMUONPainterHelper.cxx:174 AliMUONPainterHelper.cxx:175 AliMUONPainterHelper.cxx:176 AliMUONPainterHelper.cxx:177 AliMUONPainterHelper.cxx:178 AliMUONPainterHelper.cxx:179 AliMUONPainterHelper.cxx:180 AliMUONPainterHelper.cxx:181 AliMUONPainterHelper.cxx:182 AliMUONPainterHelper.cxx:183 AliMUONPainterHelper.cxx:184 AliMUONPainterHelper.cxx:185 AliMUONPainterHelper.cxx:186 AliMUONPainterHelper.cxx:187 AliMUONPainterHelper.cxx:188 AliMUONPainterHelper.cxx:189 AliMUONPainterHelper.cxx:190 AliMUONPainterHelper.cxx:191 AliMUONPainterHelper.cxx:192 AliMUONPainterHelper.cxx:193 AliMUONPainterHelper.cxx:194 AliMUONPainterHelper.cxx:195 AliMUONPainterHelper.cxx:196 AliMUONPainterHelper.cxx:197 AliMUONPainterHelper.cxx:198 AliMUONPainterHelper.cxx:199 AliMUONPainterHelper.cxx:200 AliMUONPainterHelper.cxx:201 AliMUONPainterHelper.cxx:202 AliMUONPainterHelper.cxx:203 AliMUONPainterHelper.cxx:204 AliMUONPainterHelper.cxx:205 AliMUONPainterHelper.cxx:206 AliMUONPainterHelper.cxx:207 AliMUONPainterHelper.cxx:208 AliMUONPainterHelper.cxx:209 AliMUONPainterHelper.cxx:210 AliMUONPainterHelper.cxx:211 AliMUONPainterHelper.cxx:212 AliMUONPainterHelper.cxx:213 AliMUONPainterHelper.cxx:214 AliMUONPainterHelper.cxx:215 AliMUONPainterHelper.cxx:216 AliMUONPainterHelper.cxx:217 AliMUONPainterHelper.cxx:218 AliMUONPainterHelper.cxx:219 AliMUONPainterHelper.cxx:220 AliMUONPainterHelper.cxx:221 AliMUONPainterHelper.cxx:222 AliMUONPainterHelper.cxx:223 AliMUONPainterHelper.cxx:224 AliMUONPainterHelper.cxx:225 AliMUONPainterHelper.cxx:226 AliMUONPainterHelper.cxx:227 AliMUONPainterHelper.cxx:228 AliMUONPainterHelper.cxx:229 AliMUONPainterHelper.cxx:230 AliMUONPainterHelper.cxx:231 AliMUONPainterHelper.cxx:232 AliMUONPainterHelper.cxx:233 AliMUONPainterHelper.cxx:234 AliMUONPainterHelper.cxx:235 AliMUONPainterHelper.cxx:236 AliMUONPainterHelper.cxx:237 AliMUONPainterHelper.cxx:238 AliMUONPainterHelper.cxx:239 AliMUONPainterHelper.cxx:240 AliMUONPainterHelper.cxx:241 AliMUONPainterHelper.cxx:242 AliMUONPainterHelper.cxx:243 AliMUONPainterHelper.cxx:244 AliMUONPainterHelper.cxx:245 AliMUONPainterHelper.cxx:246 AliMUONPainterHelper.cxx:247 AliMUONPainterHelper.cxx:248 AliMUONPainterHelper.cxx:249 AliMUONPainterHelper.cxx:250 AliMUONPainterHelper.cxx:251 AliMUONPainterHelper.cxx:252 AliMUONPainterHelper.cxx:253 AliMUONPainterHelper.cxx:254 AliMUONPainterHelper.cxx:255 AliMUONPainterHelper.cxx:256 AliMUONPainterHelper.cxx:257 AliMUONPainterHelper.cxx:258 AliMUONPainterHelper.cxx:259 AliMUONPainterHelper.cxx:260 AliMUONPainterHelper.cxx:261 AliMUONPainterHelper.cxx:262 AliMUONPainterHelper.cxx:263 AliMUONPainterHelper.cxx:264 AliMUONPainterHelper.cxx:265 AliMUONPainterHelper.cxx:266 AliMUONPainterHelper.cxx:267 AliMUONPainterHelper.cxx:268 AliMUONPainterHelper.cxx:269 AliMUONPainterHelper.cxx:270 AliMUONPainterHelper.cxx:271 AliMUONPainterHelper.cxx:272 AliMUONPainterHelper.cxx:273 AliMUONPainterHelper.cxx:274 AliMUONPainterHelper.cxx:275 AliMUONPainterHelper.cxx:276 AliMUONPainterHelper.cxx:277 AliMUONPainterHelper.cxx:278 AliMUONPainterHelper.cxx:279 AliMUONPainterHelper.cxx:280 AliMUONPainterHelper.cxx:281 AliMUONPainterHelper.cxx:282 AliMUONPainterHelper.cxx:283 AliMUONPainterHelper.cxx:284 AliMUONPainterHelper.cxx:285 AliMUONPainterHelper.cxx:286 AliMUONPainterHelper.cxx:287 AliMUONPainterHelper.cxx:288 AliMUONPainterHelper.cxx:289 AliMUONPainterHelper.cxx:290 AliMUONPainterHelper.cxx:291 AliMUONPainterHelper.cxx:292 AliMUONPainterHelper.cxx:293 AliMUONPainterHelper.cxx:294 AliMUONPainterHelper.cxx:295 AliMUONPainterHelper.cxx:296 AliMUONPainterHelper.cxx:297 AliMUONPainterHelper.cxx:298 AliMUONPainterHelper.cxx:299 AliMUONPainterHelper.cxx:300 AliMUONPainterHelper.cxx:301 AliMUONPainterHelper.cxx:302 AliMUONPainterHelper.cxx:303 AliMUONPainterHelper.cxx:304 AliMUONPainterHelper.cxx:305 AliMUONPainterHelper.cxx:306 AliMUONPainterHelper.cxx:307 AliMUONPainterHelper.cxx:308 AliMUONPainterHelper.cxx:309 AliMUONPainterHelper.cxx:310 AliMUONPainterHelper.cxx:311 AliMUONPainterHelper.cxx:312 AliMUONPainterHelper.cxx:313 AliMUONPainterHelper.cxx:314 AliMUONPainterHelper.cxx:315 AliMUONPainterHelper.cxx:316 AliMUONPainterHelper.cxx:317 AliMUONPainterHelper.cxx:318 AliMUONPainterHelper.cxx:319 AliMUONPainterHelper.cxx:320 AliMUONPainterHelper.cxx:321 AliMUONPainterHelper.cxx:322 AliMUONPainterHelper.cxx:323 AliMUONPainterHelper.cxx:324 AliMUONPainterHelper.cxx:325 AliMUONPainterHelper.cxx:326 AliMUONPainterHelper.cxx:327 AliMUONPainterHelper.cxx:328 AliMUONPainterHelper.cxx:329 AliMUONPainterHelper.cxx:330 AliMUONPainterHelper.cxx:331 AliMUONPainterHelper.cxx:332 AliMUONPainterHelper.cxx:333 AliMUONPainterHelper.cxx:334 AliMUONPainterHelper.cxx:335 AliMUONPainterHelper.cxx:336 AliMUONPainterHelper.cxx:337 AliMUONPainterHelper.cxx:338 AliMUONPainterHelper.cxx:339 AliMUONPainterHelper.cxx:340 AliMUONPainterHelper.cxx:341 AliMUONPainterHelper.cxx:342 AliMUONPainterHelper.cxx:343 AliMUONPainterHelper.cxx:344 AliMUONPainterHelper.cxx:345 AliMUONPainterHelper.cxx:346 AliMUONPainterHelper.cxx:347 AliMUONPainterHelper.cxx:348 AliMUONPainterHelper.cxx:349 AliMUONPainterHelper.cxx:350 AliMUONPainterHelper.cxx:351 AliMUONPainterHelper.cxx:352 AliMUONPainterHelper.cxx:353 AliMUONPainterHelper.cxx:354 AliMUONPainterHelper.cxx:355 AliMUONPainterHelper.cxx:356 AliMUONPainterHelper.cxx:357 AliMUONPainterHelper.cxx:358 AliMUONPainterHelper.cxx:359 AliMUONPainterHelper.cxx:360 AliMUONPainterHelper.cxx:361 AliMUONPainterHelper.cxx:362 AliMUONPainterHelper.cxx:363 AliMUONPainterHelper.cxx:364 AliMUONPainterHelper.cxx:365 AliMUONPainterHelper.cxx:366 AliMUONPainterHelper.cxx:367 AliMUONPainterHelper.cxx:368 AliMUONPainterHelper.cxx:369 AliMUONPainterHelper.cxx:370 AliMUONPainterHelper.cxx:371 AliMUONPainterHelper.cxx:372 AliMUONPainterHelper.cxx:373 AliMUONPainterHelper.cxx:374 AliMUONPainterHelper.cxx:375 AliMUONPainterHelper.cxx:376 AliMUONPainterHelper.cxx:377 AliMUONPainterHelper.cxx:378 AliMUONPainterHelper.cxx:379 AliMUONPainterHelper.cxx:380 AliMUONPainterHelper.cxx:381 AliMUONPainterHelper.cxx:382 AliMUONPainterHelper.cxx:383 AliMUONPainterHelper.cxx:384 AliMUONPainterHelper.cxx:385 AliMUONPainterHelper.cxx:386 AliMUONPainterHelper.cxx:387 AliMUONPainterHelper.cxx:388 AliMUONPainterHelper.cxx:389 AliMUONPainterHelper.cxx:390 AliMUONPainterHelper.cxx:391 AliMUONPainterHelper.cxx:392 AliMUONPainterHelper.cxx:393 AliMUONPainterHelper.cxx:394 AliMUONPainterHelper.cxx:395 AliMUONPainterHelper.cxx:396 AliMUONPainterHelper.cxx:397 AliMUONPainterHelper.cxx:398 AliMUONPainterHelper.cxx:399 AliMUONPainterHelper.cxx:400 AliMUONPainterHelper.cxx:401 AliMUONPainterHelper.cxx:402 AliMUONPainterHelper.cxx:403 AliMUONPainterHelper.cxx:404 AliMUONPainterHelper.cxx:405 AliMUONPainterHelper.cxx:406 AliMUONPainterHelper.cxx:407 AliMUONPainterHelper.cxx:408 AliMUONPainterHelper.cxx:409 AliMUONPainterHelper.cxx:410 AliMUONPainterHelper.cxx:411 AliMUONPainterHelper.cxx:412 AliMUONPainterHelper.cxx:413 AliMUONPainterHelper.cxx:414 AliMUONPainterHelper.cxx:415 AliMUONPainterHelper.cxx:416 AliMUONPainterHelper.cxx:417 AliMUONPainterHelper.cxx:418 AliMUONPainterHelper.cxx:419 AliMUONPainterHelper.cxx:420 AliMUONPainterHelper.cxx:421 AliMUONPainterHelper.cxx:422 AliMUONPainterHelper.cxx:423 AliMUONPainterHelper.cxx:424 AliMUONPainterHelper.cxx:425 AliMUONPainterHelper.cxx:426 AliMUONPainterHelper.cxx:427 AliMUONPainterHelper.cxx:428 AliMUONPainterHelper.cxx:429 AliMUONPainterHelper.cxx:430 AliMUONPainterHelper.cxx:431 AliMUONPainterHelper.cxx:432 AliMUONPainterHelper.cxx:433 AliMUONPainterHelper.cxx:434 AliMUONPainterHelper.cxx:435 AliMUONPainterHelper.cxx:436 AliMUONPainterHelper.cxx:437 AliMUONPainterHelper.cxx:438 AliMUONPainterHelper.cxx:439 AliMUONPainterHelper.cxx:440 AliMUONPainterHelper.cxx:441 AliMUONPainterHelper.cxx:442 AliMUONPainterHelper.cxx:443 AliMUONPainterHelper.cxx:444 AliMUONPainterHelper.cxx:445 AliMUONPainterHelper.cxx:446 AliMUONPainterHelper.cxx:447 AliMUONPainterHelper.cxx:448 AliMUONPainterHelper.cxx:449 AliMUONPainterHelper.cxx:450 AliMUONPainterHelper.cxx:451 AliMUONPainterHelper.cxx:452 AliMUONPainterHelper.cxx:453 AliMUONPainterHelper.cxx:454 AliMUONPainterHelper.cxx:455 AliMUONPainterHelper.cxx:456 AliMUONPainterHelper.cxx:457 AliMUONPainterHelper.cxx:458 AliMUONPainterHelper.cxx:459 AliMUONPainterHelper.cxx:460 AliMUONPainterHelper.cxx:461 AliMUONPainterHelper.cxx:462 AliMUONPainterHelper.cxx:463 AliMUONPainterHelper.cxx:464 AliMUONPainterHelper.cxx:465 AliMUONPainterHelper.cxx:466 AliMUONPainterHelper.cxx:467 AliMUONPainterHelper.cxx:468 AliMUONPainterHelper.cxx:469 AliMUONPainterHelper.cxx:470 AliMUONPainterHelper.cxx:471 AliMUONPainterHelper.cxx:472 AliMUONPainterHelper.cxx:473 AliMUONPainterHelper.cxx:474 AliMUONPainterHelper.cxx:475 AliMUONPainterHelper.cxx:476 AliMUONPainterHelper.cxx:477 AliMUONPainterHelper.cxx:478 AliMUONPainterHelper.cxx:479 AliMUONPainterHelper.cxx:480 AliMUONPainterHelper.cxx:481 AliMUONPainterHelper.cxx:482 AliMUONPainterHelper.cxx:483 AliMUONPainterHelper.cxx:484 AliMUONPainterHelper.cxx:485 AliMUONPainterHelper.cxx:486 AliMUONPainterHelper.cxx:487 AliMUONPainterHelper.cxx:488 AliMUONPainterHelper.cxx:489 AliMUONPainterHelper.cxx:490 AliMUONPainterHelper.cxx:491 AliMUONPainterHelper.cxx:492 AliMUONPainterHelper.cxx:493 AliMUONPainterHelper.cxx:494 AliMUONPainterHelper.cxx:495 AliMUONPainterHelper.cxx:496 AliMUONPainterHelper.cxx:497 AliMUONPainterHelper.cxx:498 AliMUONPainterHelper.cxx:499 AliMUONPainterHelper.cxx:500 AliMUONPainterHelper.cxx:501 AliMUONPainterHelper.cxx:502 AliMUONPainterHelper.cxx:503 AliMUONPainterHelper.cxx:504 AliMUONPainterHelper.cxx:505 AliMUONPainterHelper.cxx:506 AliMUONPainterHelper.cxx:507 AliMUONPainterHelper.cxx:508 AliMUONPainterHelper.cxx:509 AliMUONPainterHelper.cxx:510 AliMUONPainterHelper.cxx:511 AliMUONPainterHelper.cxx:512 AliMUONPainterHelper.cxx:513 AliMUONPainterHelper.cxx:514 AliMUONPainterHelper.cxx:515 AliMUONPainterHelper.cxx:516 AliMUONPainterHelper.cxx:517 AliMUONPainterHelper.cxx:518 AliMUONPainterHelper.cxx:519 AliMUONPainterHelper.cxx:520 AliMUONPainterHelper.cxx:521 AliMUONPainterHelper.cxx:522 AliMUONPainterHelper.cxx:523 AliMUONPainterHelper.cxx:524 AliMUONPainterHelper.cxx:525 AliMUONPainterHelper.cxx:526 AliMUONPainterHelper.cxx:527 AliMUONPainterHelper.cxx:528 AliMUONPainterHelper.cxx:529 AliMUONPainterHelper.cxx:530 AliMUONPainterHelper.cxx:531 AliMUONPainterHelper.cxx:532 AliMUONPainterHelper.cxx:533 AliMUONPainterHelper.cxx:534 AliMUONPainterHelper.cxx:535 AliMUONPainterHelper.cxx:536 AliMUONPainterHelper.cxx:537 AliMUONPainterHelper.cxx:538 AliMUONPainterHelper.cxx:539 AliMUONPainterHelper.cxx:540 AliMUONPainterHelper.cxx:541 AliMUONPainterHelper.cxx:542 AliMUONPainterHelper.cxx:543 AliMUONPainterHelper.cxx:544 AliMUONPainterHelper.cxx:545 AliMUONPainterHelper.cxx:546 AliMUONPainterHelper.cxx:547 AliMUONPainterHelper.cxx:548 AliMUONPainterHelper.cxx:549 AliMUONPainterHelper.cxx:550 AliMUONPainterHelper.cxx:551