#include "AliMUONSlatGeometryBuilder.h"
#include "AliMUON.h"
#include "AliMUONConstants.h"
#include "AliMUONGeometryModule.h"
#include "AliMUONGeometryEnvelopeStore.h"
#include "AliMUONConstants.h"
#include "AliMpDEManager.h"
#include "AliRun.h"
#include "AliLog.h"
#include <TVirtualMC.h>
#include <TGeoBBox.h>
#include <TGeoVolume.h>
#include <TGeoManager.h>
#include <TGeoMatrix.h>
#include <TGeoCompositeShape.h>
#include <TGeoTube.h>
#include <Riostream.h>
using std::endl;
using std::cout;
ClassImp(AliMUONSlatGeometryBuilder)
AliMUONSlatGeometryBuilder::AliMUONSlatGeometryBuilder(AliMUON* muon)
: AliMUONVGeometryBuilder(4, 12),
fMUON(muon)
{
}
AliMUONSlatGeometryBuilder::AliMUONSlatGeometryBuilder()
: AliMUONVGeometryBuilder(),
fMUON(0)
{
}
AliMUONSlatGeometryBuilder::~AliMUONSlatGeometryBuilder()
{
}
void AliMUONSlatGeometryBuilder::CreateGeometry()
{
Int_t *idtmed = fMUON->GetIdtmed()->GetArray()-1099;
Float_t angle;
Float_t *dum=0;
Int_t idGas = idtmed[1108];
Int_t idCopper = idtmed[1110];
Int_t idG10 = idtmed[1111];
Int_t idCarbon = idtmed[1112];
Int_t idRoha = idtmed[1113];
Int_t idNomex = idtmed[1114];
Int_t idNoryl = idtmed[1115];
Int_t idNomexB = idtmed[1116];
TGeoMedium* kMedNomex = gGeoManager->GetMedium("MUON_Nomex");
TGeoMedium* kMedCarbon = gGeoManager->GetMedium("MUON_CARBON");
const Float_t kSensLength = 40.;
const Float_t kSensHeight = 40.;
const Float_t kSensWidth = AliMUONConstants::Pitch()*2;
const Int_t kSensMaterial = idGas;
const Float_t kPcbLength = kSensLength;
const Float_t kPcbHeight = 58.;
const Float_t kPcbWidth = 0.003;
const Int_t kPcbMaterial = idCopper;
const Float_t kInsuLength = kPcbLength;
const Float_t kInsuHeight = kPcbHeight;
const Float_t kInsuWidth = 0.022;
const Int_t kInsuMaterial = idG10;
const Float_t kCarbonWidth = 0.020;
const Int_t kCarbonMaterial = idCarbon;
const Float_t kNomexLength = kSensLength;
const Float_t kNomexHeight = kSensHeight;
const Float_t kNomexWidth = 0.8;
const Int_t kNomexMaterial = idNomex;
const Float_t kNomexBWidth = 0.025;
const Int_t kNomexBMaterial = idNomexB;
const Float_t kPanelLength = kSensLength;
const Float_t kPanelHeight = kSensHeight;
const Float_t kPanelWidth = 2 * kCarbonWidth + kNomexWidth;
const Float_t kRframeHeight = 2.00;
const Float_t kHframeLength = kPcbLength;
const Float_t kHframeHeight = 1.95;
const Float_t kHframeWidth = kSensWidth;
const Int_t kHframeMaterial = idNoryl;
const Float_t kVframeLength = 2.5;
const Float_t kVframeHeight = kSensHeight + kHframeHeight;
const Float_t kVframeWidth = kSensWidth;
const Int_t kVframeMaterial = idNoryl;
const Float_t kRframeLength = 2.0;
const Float_t kRframeWidth = kSensWidth;
const Int_t kRframeMaterial = idNoryl;
const Float_t kBframeLength = kHframeLength;
const Float_t kBframeHeight = (kPcbHeight - kSensHeight)/2. - kHframeHeight;
const Float_t kBframeWidth = kHframeWidth;
const Int_t kBframeMaterial = idRoha;
const Float_t kNulocLength = 2.5;
const Float_t kNulocHeight = kBframeHeight;
const Float_t kNulocWidth = 0.0030 + 0.0014;
const Int_t kNulocMaterial = idCopper;
const Float_t kCableHeight = 2.6;
const Float_t kCableWidth = 0.026;
const Int_t kCableMaterial = idCopper;
const Float_t kSlatHeight = kPcbHeight;
const Float_t kSlatWidth = kSensWidth + 2.*(kPcbWidth + kInsuWidth + kPanelWidth
+ kNomexBWidth);
const Float_t kDslatLength = -1.25;
Float_t zSlat = AliMUONConstants::DzSlat();
Float_t dzCh = AliMUONConstants::DzCh();
Float_t spar[3];
Int_t i, j;
Int_t detElemId;
Int_t moduleId;
Float_t panelpar[3] = { static_cast<Float_t>(kPanelLength/2.), static_cast<Float_t>(kPanelHeight/2.), static_cast<Float_t>(kPanelWidth/2.) };
Float_t nomexpar[3] = { static_cast<Float_t>(kNomexLength/2.), static_cast<Float_t>(kNomexHeight/2.), static_cast<Float_t>(kNomexWidth/2.) };
Float_t twidth = kPanelWidth + kNomexBWidth;
Float_t nomexbpar[3] = {static_cast<Float_t>(kNomexLength/2.), static_cast<Float_t>(kNomexHeight/2.),static_cast<Float_t>(twidth/2.) };
twidth = 2*(kInsuWidth + kPcbWidth) + kSensWidth ;
Float_t insupar[3] = {static_cast<Float_t>(kInsuLength/2.), static_cast<Float_t>(kInsuHeight/2.), static_cast<Float_t>(twidth/2.) };
twidth -= 2 * kInsuWidth;
Float_t pcbpar[3] = {static_cast<Float_t>(kPcbLength/2.), static_cast<Float_t>(kPcbHeight/2.), static_cast<Float_t>(twidth/2.) };
Float_t senspar[3] = {static_cast<Float_t>(kSensLength/2.), static_cast<Float_t>(kSensHeight/2.), static_cast<Float_t>(kSensWidth/2.) };
Float_t theight = 2 * kHframeHeight + kSensHeight;
Float_t hFramepar[3] = {static_cast<Float_t>(kHframeLength/2.), static_cast<Float_t>(theight/2.), static_cast<Float_t>(kHframeWidth/2.)};
Float_t bFramepar[3] = {static_cast<Float_t>(kBframeLength/2.), static_cast<Float_t>(kBframeHeight/2.), static_cast<Float_t>(kBframeWidth/2.)};
Float_t vFramepar[3] = {static_cast<Float_t>(kVframeLength/2.), static_cast<Float_t>(kVframeHeight/2.), static_cast<Float_t>(kVframeWidth/2.)};
Float_t nulocpar[3] = {static_cast<Float_t>(kNulocLength/2.), static_cast<Float_t>(kNulocHeight/2.), static_cast<Float_t>(kNulocWidth/2.)};
Float_t xx;
Float_t xxmax = (kBframeLength - kNulocLength)/2.;
Int_t index=0;
Int_t* fStations = new Int_t[5];
for (Int_t iSt=0; iSt<5; iSt++) fStations[iSt] = 1;
fStations[2] = 1;
if (fStations[2])
{
Float_t tlength = 35.;
Float_t panelpar2[3] = { static_cast<Float_t>(tlength/2.), panelpar[1], panelpar[2]};
Float_t nomexpar2[3] = { static_cast<Float_t>(tlength/2.), nomexpar[1], nomexpar[2]};
Float_t nomexbpar2[3] = { static_cast<Float_t>(tlength/2.), nomexbpar[1], nomexbpar[2]};
Float_t insupar2[3] = { static_cast<Float_t>(tlength/2.), insupar[1], insupar[2]};
Float_t pcbpar2[3] = { static_cast<Float_t>(tlength/2.), pcbpar[1], pcbpar[2]};
Float_t senspar2[3] = { static_cast<Float_t>(tlength/2.), senspar[1], senspar[2]};
Float_t hFramepar2[3] = { static_cast<Float_t>(tlength/2.), hFramepar[1], hFramepar[2]};
Float_t bFramepar2[3] = { static_cast<Float_t>(tlength/2.), bFramepar[1], bFramepar[2]};
Float_t pcbDLength3 = (kPcbLength - tlength);
Float_t csvPcbLength = 59.25-40.;
Float_t panelpar3[3] = { static_cast<Float_t>(csvPcbLength/2.), panelpar[1], panelpar[2]};
Float_t nomexpar3[3] = { static_cast<Float_t>(csvPcbLength/2.), nomexpar[1], nomexpar[2]};
Float_t nomexbpar3[3] = {static_cast<Float_t>( csvPcbLength/2.), nomexbpar[1], nomexbpar[2]};
Float_t insupar3[3] = { static_cast<Float_t>(csvPcbLength/2.), insupar[1], insupar[2]};
Float_t pcbpar3[3] = { static_cast<Float_t>(csvPcbLength/2.), pcbpar[1], pcbpar[2]};
Float_t senspar3[3] = { static_cast<Float_t>(csvPcbLength/2.), senspar[1], senspar[2]};
Float_t hFramepar3[3] = { static_cast<Float_t>(csvPcbLength/2.), hFramepar[1], hFramepar[2]};
Float_t bFramepar3[3] = { static_cast<Float_t>(csvPcbLength/2.), bFramepar[1], bFramepar[2]};
Float_t cPhi = TMath::RadToDeg()*(TMath::Pi()/2.-TMath::ACos(hFramepar3[1]/(AliMUONConstants::Rmin(2)-kRframeLength)));
Float_t cFramepar3[5] = { AliMUONConstants::Rmin(2)-kRframeLength, AliMUONConstants::Rmin(2), kRframeWidth, -cPhi, cPhi};
const Int_t kNslats3 = 5;
const Int_t kNPCB3[kNslats3] = {4, 4, 4, 3, 2};
const Float_t kXpos3[kNslats3] = {0., 0., 0., 0., 0.};
const Float_t kYpos3[kNslats3] = {0, 37.8, 37.7, 37.3, 33.7};
Float_t slatLength3[kNslats3];
Float_t rPhi1 = TMath::RadToDeg()*(TMath::ASin((kYpos3[1]-hFramepar3[1])/(AliMUONConstants::Rmin(2))));
Float_t rPhi2 = TMath::RadToDeg()*(TMath::ACos(-vFramepar[0]/(AliMUONConstants::Rmin(2)-kRframeLength)));
Float_t rFramepar3[5] = { AliMUONConstants::Rmin(2)-kRframeLength, AliMUONConstants::Rmin(2), kRframeWidth, rPhi1, rPhi2};
Float_t vrFrameHeight = hFramepar3[1]+kYpos3[1]-AliMUONConstants::Rmin(2)+kRframeLength;
char idSlatCh5[6];
char idSlatCh6[6];
Float_t xSlat3;
Float_t ySlat3 = 0;
angle = 0.;
Float_t spar2[3];
for (i = 0; i < kNslats3; i++){
slatLength3[i] = kPcbLength * kNPCB3[i] + 2.* kVframeLength;
xSlat3 = slatLength3[i]/2. + kDslatLength + kXpos3[i];
ySlat3 += kYpos3[i];
spar[0] = slatLength3[i]/2.;
spar[1] = kSlatHeight/2.;
spar[2] = kSlatWidth/2.;
if (i == 0 || i == 1 || i == 2) {
spar2[0] = spar[0] - pcbDLength3/2.;
} else {
spar2[0] = spar[0];
}
spar2[1] = spar[1];
spar2[2] = spar[2];
Float_t dzCh3 = dzCh;
Float_t dzSlat3 = -0.25;
Float_t zSlat3 = (i%2 ==0)? -(zSlat+dzSlat3) : (zSlat+dzSlat3);
sprintf(idSlatCh5,"SLA%d",i+kNslats3-1);
detElemId = 509 - (i + kNslats3-1-4);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId == 508 || detElemId == 509)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh5, detElemId, true, TGeoTranslation(xSlat3, ySlat3, -zSlat3 + dzCh3),
TGeoRotation("rot1",90,180+angle,90,90+angle,180,0) );
else {
if (detElemId % 2 == 0)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh5, detElemId, true, TGeoTranslation(xSlat3, ySlat3, -zSlat3 + dzCh3),
TGeoRotation("rot1",90,angle,90,90+angle,0,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh5, detElemId, true, TGeoTranslation(xSlat3, ySlat3, -zSlat3 + dzCh3),
TGeoRotation("rot1",90,angle,90,270+angle,180,0) );
}
sprintf(idSlatCh5,"SLA%d",3*kNslats3-2+i);
detElemId = 500 + (i + kNslats3-1-4);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId == 500 || detElemId == 501)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh5, detElemId, true, TGeoTranslation(-xSlat3, ySlat3, zSlat3 - dzCh3),
TGeoRotation("rot2",90,angle,90,90+angle,0,0) );
else {
if (detElemId % 2 == 1)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh5, detElemId, true, TGeoTranslation(-xSlat3, ySlat3, zSlat3 - dzCh3),
TGeoRotation("rot2",90,180+angle,90,90+angle,180,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh5, detElemId, true, TGeoTranslation(-xSlat3, ySlat3, zSlat3 - dzCh3),
TGeoRotation("rot2",90,180+angle,90,270+angle,0,0) );
}
if (i > 0) {
sprintf(idSlatCh5,"SLA%d",kNslats3-1-i);
detElemId = 509 + (i + kNslats3-1-4);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0 ) {
if (detElemId == 510)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh5, detElemId, true, TGeoTranslation(xSlat3, -ySlat3, -zSlat3 + dzCh3),
TGeoRotation("rot3",90,180+angle,90,270+angle,0,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh5, detElemId, true, TGeoTranslation(xSlat3, -ySlat3, -zSlat3 + dzCh3),
TGeoRotation("rot3",90,angle,90,90+angle,0,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh5, detElemId, true, TGeoTranslation(xSlat3, -ySlat3, -zSlat3 + dzCh3),
TGeoRotation("rot3",90,angle,90,270+angle,180,0) );
sprintf(idSlatCh5,"SLA%d",3*kNslats3-2-i);
detElemId = 518 - (i + kNslats3-1-4);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 1) {
if (detElemId == 517)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh5, detElemId, true, TGeoTranslation(-xSlat3, -ySlat3, zSlat3 - dzCh3),
TGeoRotation("rot4",90,angle,90,270+angle,180,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh5, detElemId, true, TGeoTranslation(-xSlat3, -ySlat3, zSlat3 - dzCh3),
TGeoRotation("rot4",90,180+angle,90,90+angle,180,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh5, detElemId, true, TGeoTranslation(-xSlat3, -ySlat3, zSlat3 - dzCh3),
TGeoRotation("rot4",90,180+angle,90,270+angle,0,0) );
}
sprintf(idSlatCh6,"SLB%d",kNslats3-1+i);
detElemId = 609 - (i + kNslats3-1-4);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId == 608 || detElemId == 609)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh6, detElemId, true, TGeoTranslation(xSlat3, ySlat3, -zSlat3 + dzCh3),
TGeoRotation("rot5",90,180+angle,90,90+angle,180,0));
else {
if (detElemId % 2 == 0)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh6, detElemId, true, TGeoTranslation(xSlat3, ySlat3, -zSlat3 + dzCh3),
TGeoRotation("rot5",90,angle,90,90+angle,0,0));
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh6, detElemId, true, TGeoTranslation(xSlat3, ySlat3, -zSlat3 + dzCh3),
TGeoRotation("rot5",90,angle,90,270+angle,180,0));
}
sprintf(idSlatCh6,"SLB%d",3*kNslats3-2+i);
detElemId = 600 + (i + kNslats3-1-4);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId == 600 || detElemId == 601)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh6, detElemId, true, TGeoTranslation(-xSlat3, ySlat3, zSlat3 - dzCh3),
TGeoRotation("rot6",90,angle,90,90+angle,0,0) );
else {
if (detElemId % 2 == 1)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh6, detElemId, true, TGeoTranslation(-xSlat3, ySlat3, zSlat3 - dzCh3),
TGeoRotation("rot6",90,180+angle,90,90+angle,180,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh6, detElemId, true, TGeoTranslation(-xSlat3, ySlat3, zSlat3 - dzCh3),
TGeoRotation("rot6",90,180+angle,90,270+angle,0,0) );
}
if (i > 0) {
sprintf(idSlatCh6,"SLB%d",kNslats3-1-i);
detElemId = 609 + (i + kNslats3-1-4);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0 ) {
if (detElemId == 610)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh6, detElemId, true, TGeoTranslation(xSlat3, -ySlat3, -zSlat3 + dzCh3),
TGeoRotation("rot7",90,180+angle,90,270+angle,0,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh6, detElemId, true, TGeoTranslation(xSlat3, -ySlat3, -zSlat3 + dzCh3),
TGeoRotation("rot7",90,angle,90,90+angle,0,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh6, detElemId, true, TGeoTranslation(xSlat3, -ySlat3, -zSlat3 + dzCh3),
TGeoRotation("rot7",90,angle,90,270+angle,180,0) );
sprintf(idSlatCh6,"SLB%d",3*kNslats3-2-i);
detElemId = 618 - (i + kNslats3-1-4);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 1) {
if (detElemId == 617)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh6, detElemId, true, TGeoTranslation(-xSlat3, -ySlat3, zSlat3 - dzCh3),
TGeoRotation("rot8",90,angle,90,270+angle,180,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh6, detElemId, true, TGeoTranslation(-xSlat3, -ySlat3, zSlat3 - dzCh3),
TGeoRotation("rot8",90,180+angle,90,90+angle,180,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh6, detElemId, true, TGeoTranslation(-xSlat3, -ySlat3, zSlat3 - dzCh3),
TGeoRotation("rot8",90,180+angle,90,270+angle,0,0) );
}
}
TVirtualMC::GetMC()->Gsvolu("S05C","BOX",kCarbonMaterial,panelpar,3);
TVirtualMC::GetMC()->Gsvolu("SB5C","BOX",kCarbonMaterial,panelpar2,3);
TVirtualMC::GetMC()->Gsvolu("SC5C","BOX",kCarbonMaterial,panelpar3,3);
TVirtualMC::GetMC()->Gsvolu("SD5C","BOX",kCarbonMaterial,panelpar,3);
TVirtualMC::GetMC()->Gsvolu("S06C","BOX",kCarbonMaterial,panelpar,3);
TVirtualMC::GetMC()->Gsvolu("SC6C","BOX",kCarbonMaterial,panelpar3,3);
TVirtualMC::GetMC()->Gsvolu("SD6C","BOX",kCarbonMaterial,panelpar,3);
TVirtualMC::GetMC()->Gsvolu("S05N","BOX",kNomexMaterial,nomexpar,3);
TVirtualMC::GetMC()->Gsvolu("SB5N","BOX",kNomexMaterial,nomexpar2,3);
TVirtualMC::GetMC()->Gsvolu("SC5N","BOX",kNomexMaterial,nomexpar3,3);
TVirtualMC::GetMC()->Gsvolu("SD5N","BOX",kNomexMaterial,nomexpar,3);
TVirtualMC::GetMC()->Gsvolu("S06N","BOX",kNomexMaterial,nomexpar,3);
TVirtualMC::GetMC()->Gsvolu("SC6N","BOX",kNomexMaterial,nomexpar3,3);
TVirtualMC::GetMC()->Gsvolu("SD6N","BOX",kNomexMaterial,nomexpar,3);
TVirtualMC::GetMC()->Gsvolu("S05X","BOX",kNomexBMaterial,nomexbpar,3);
TVirtualMC::GetMC()->Gsvolu("SB5X","BOX",kNomexBMaterial,nomexbpar2,3);
TVirtualMC::GetMC()->Gsvolu("SC5X","BOX",kNomexBMaterial,nomexbpar3,3);
TVirtualMC::GetMC()->Gsvolu("SD5X","BOX",kNomexBMaterial,nomexbpar,3);
TVirtualMC::GetMC()->Gsvolu("S06X","BOX",kNomexBMaterial,nomexbpar,3);
TVirtualMC::GetMC()->Gsvolu("SC6X","BOX",kNomexBMaterial,nomexbpar3,3);
TVirtualMC::GetMC()->Gsvolu("SD6X","BOX",kNomexBMaterial,nomexbpar,3);
TVirtualMC::GetMC()->Gsvolu("S05I","BOX",kInsuMaterial,insupar,3);
TVirtualMC::GetMC()->Gsvolu("SB5I","BOX",kInsuMaterial,insupar2,3);
TVirtualMC::GetMC()->Gsvolu("SC5I","BOX",kInsuMaterial,insupar3,3);
TVirtualMC::GetMC()->Gsvolu("SD5I","BOX",kInsuMaterial,insupar,3);
TVirtualMC::GetMC()->Gsvolu("S06I","BOX",kInsuMaterial,insupar,3);
TVirtualMC::GetMC()->Gsvolu("SC6I","BOX",kInsuMaterial,insupar3,3);
TVirtualMC::GetMC()->Gsvolu("SD6I","BOX",kInsuMaterial,insupar,3);
TVirtualMC::GetMC()->Gsvolu("S05P","BOX",kPcbMaterial,pcbpar,3);
TVirtualMC::GetMC()->Gsvolu("SB5P","BOX",kPcbMaterial,pcbpar2,3);
TVirtualMC::GetMC()->Gsvolu("SC5P","BOX",kPcbMaterial,pcbpar3,3);
TVirtualMC::GetMC()->Gsvolu("SD5P","BOX",kPcbMaterial,pcbpar,3);
TVirtualMC::GetMC()->Gsvolu("S06P","BOX",kPcbMaterial,pcbpar,3);
TVirtualMC::GetMC()->Gsvolu("SC6P","BOX",kPcbMaterial,pcbpar3,3);
TVirtualMC::GetMC()->Gsvolu("SD6P","BOX",kPcbMaterial,pcbpar,3);
TVirtualMC::GetMC()->Gsvolu("S05G","BOX",kSensMaterial,dum,0);
TVirtualMC::GetMC()->Gsvolu("SC5G","BOX",kSensMaterial,senspar3,3);
TVirtualMC::GetMC()->Gsvolu("SD5G","BOX",kSensMaterial,senspar,3);
TVirtualMC::GetMC()->Gsvolu("S06G","BOX",kSensMaterial,dum,0);
TVirtualMC::GetMC()->Gsvolu("SC6G","BOX",kSensMaterial,senspar3,3);
TVirtualMC::GetMC()->Gsvolu("SD6G","BOX",kSensMaterial,senspar,3);
TVirtualMC::GetMC()->Gsvolu("S05V","BOX",kVframeMaterial,vFramepar,3);
TVirtualMC::GetMC()->Gsvolu("S06V","BOX",kVframeMaterial,vFramepar,3);
TVirtualMC::GetMC()->Gsvolu("SC5D","TUBS",kRframeMaterial,cFramepar3,5);
TVirtualMC::GetMC()->Gsvolu("SD5D","TUBS",kRframeMaterial,rFramepar3,5);
TVirtualMC::GetMC()->Gsvolu("SC6D","TUBS",kRframeMaterial,cFramepar3,5);
TVirtualMC::GetMC()->Gsvolu("SD6D","TUBS",kRframeMaterial,rFramepar3,5);
TVirtualMC::GetMC()->Gsvolu("S05H","BOX",kHframeMaterial,hFramepar,3);
TVirtualMC::GetMC()->Gsvolu("SB5H","BOX",kHframeMaterial,hFramepar2,3);
TVirtualMC::GetMC()->Gsvolu("SC5H","BOX",kHframeMaterial,hFramepar3,3);
TVirtualMC::GetMC()->Gsvolu("SD5H","BOX",kHframeMaterial,hFramepar,3);
TVirtualMC::GetMC()->Gsvolu("S06H","BOX",kHframeMaterial,hFramepar,3);
TVirtualMC::GetMC()->Gsvolu("SC6H","BOX",kHframeMaterial,hFramepar3,3);
TVirtualMC::GetMC()->Gsvolu("SD6H","BOX",kHframeMaterial,hFramepar,3);
TVirtualMC::GetMC()->Gsvolu("S05B","BOX",kBframeMaterial,bFramepar,3);
TVirtualMC::GetMC()->Gsvolu("SB5B","BOX",kBframeMaterial,bFramepar2,3);
TVirtualMC::GetMC()->Gsvolu("SC5B","BOX",kBframeMaterial,bFramepar3,3);
TVirtualMC::GetMC()->Gsvolu("SD5B","BOX",kBframeMaterial,bFramepar,3);
TVirtualMC::GetMC()->Gsvolu("S06B","BOX",kBframeMaterial,bFramepar,3);
TVirtualMC::GetMC()->Gsvolu("SC6B","BOX",kBframeMaterial,bFramepar3,3);
TVirtualMC::GetMC()->Gsvolu("SD6B","BOX",kBframeMaterial,bFramepar,3);
if ( TVirtualMC::GetMC()->IsRootGeometrySupported() ) {
Int_t nSlatType = 2;
Int_t nVol = 8;
const char* slatType = "CD";
const char* volLetter = "CNXIPHBG";
TString volName;
TString compName;
TString csName;
TGeoVolume *mVol = 0x0;
TObjArray centerSlat(nSlatType*((nVol+1)*2));
TObjArray composite(nSlatType*((nVol+1)*2));
new TGeoTube("tubeCut", 0., AliMUONConstants::Rmin(2), kSlatWidth/2.+0.001);
TGeoTranslation* trCTube = new TGeoTranslation("trCTube", -(kPcbLength-csvPcbLength/2.+kVframeLength/2.), 0., 0.);
trCTube->RegisterYourself();
TGeoTranslation* trDTube = new TGeoTranslation("trDTube", -(kPcbLength+kVframeLength)/2., -kYpos3[1], 0.);
trDTube->RegisterYourself();
TGeoTranslation* trCBTube = new TGeoTranslation("trCBTube", 0., ( kPcbHeight - kBframeHeight ) / 2., 0.);
trCBTube->Add(trCTube);
trCBTube->RegisterYourself();
TGeoTranslation* trDBTube = new TGeoTranslation("trDBTube", 0., ( kPcbHeight - kBframeHeight ) / 2., 0.);
trDBTube->Add(trDTube);
trDBTube->RegisterYourself();
Float_t cPhi2 = (TMath::Pi()/2.-TMath::ACos((kSensHeight/2.)/(AliMUONConstants::Rmin(2)-kRframeLength)));
TGeoBBox *boxCCut = new TGeoBBox("boxCCut",(cFramepar3[1]-cFramepar3[0]*TMath::Cos(cPhi2))/2., hFramepar3[1], cFramepar3[2]+0.001);
TGeoTranslation* trCBox = new TGeoTranslation("trCBox",cFramepar3[0]*TMath::Cos(cPhi2)+boxCCut->GetDX(), 0., 0.);
trCBox->RegisterYourself();
new TGeoBBox("boxDCut",(kPcbLength+kVframeLength)/2., hFramepar3[1], vFramepar[2]+0.001);
TGeoTranslation* trDBox = new TGeoTranslation("trDBox",kPcbLength/2., kYpos3[1], 0.);
trDBox->RegisterYourself();
TGeoBBox *boxVframe = new TGeoBBox("boxVframe",vFramepar[0],vrFrameHeight/2., vFramepar[2]);
TGeoTranslation* trVBox = new TGeoTranslation("trVBox", 0., AliMUONConstants::Rmin(2)-kRframeLength + boxVframe->GetDY(), 0.);
trVBox->RegisterYourself();
for(int iCh=5; iCh<=6; iCh++){
for (int iSlatType = 0; iSlatType<nSlatType; iSlatType++) {
for (int iVol = 0; iVol<nVol; iVol++){
Int_t lIndex = (iCh-5)*(nSlatType*(nVol+1))+iSlatType*(nVol+1)+iVol;
volName=Form("S%c%d%c",slatType[iSlatType],iCh,volLetter[iVol]);
mVol = gGeoManager->FindVolumeFast(volName);
if ( !mVol ) {
AliErrorStream()
<< "Slat volume " << volName << " not found" << endl;
}
else {
centerSlat[lIndex] = mVol->GetShape();
csName=Form("centerSlat%c%d%c",slatType[iSlatType],iCh,volLetter[iVol]);
((TGeoShape*)centerSlat[lIndex])->SetName(csName);
TString compOperation(csName);
compOperation+="-tubeCut:tr";
compOperation+=slatType[iSlatType];
if (strstr(volName,"B")){
compOperation+="B";
}
compOperation+="Tube";
compName=Form("composite%c%d%c",slatType[iSlatType],iCh,volLetter[iVol]);
composite[lIndex] = new TGeoCompositeShape(compName, compOperation.Data());
mVol->SetShape((TGeoShape*)composite[lIndex]);
}
}
Int_t lIndex = (iCh-5)*(nSlatType*(nVol+1))+iSlatType*(nVol+1)+nVol;
volName=Form("S%c%dD",slatType[iSlatType],iCh);
mVol = gGeoManager->FindVolumeFast(volName);
if ( !mVol ) {
AliErrorStream()
<< "Slat volume " << volName << " not found" << endl;
}
else {
centerSlat[lIndex] = mVol->GetShape();
csName=Form("centerSlat%c%dD",slatType[iSlatType],iCh);
((TGeoShape*)centerSlat[lIndex])->SetName(csName);
TString compOperation(csName);
if (strstr(volName,"SC")){
compOperation+="*boxCCut:trCBox";
}
if (strstr(volName,"SD")){
compOperation.Prepend("(");
compOperation+="+boxVframe:trVBox)*boxDCut:trDBox";
}
compName=Form("composite%c%dD",slatType[iSlatType],iCh);
composite[lIndex] = new TGeoCompositeShape(compName, compOperation.Data());
mVol->SetShape((TGeoShape*)composite[lIndex]);
}
}
}
}
index = 0;
for (i = 0; i<kNslats3; i++){
for (Int_t quadrant = 1; quadrant <= 4; quadrant++) {
if (i == 0 && quadrant == 2) continue;
if (i == 0 && quadrant == 4) continue;
sprintf(idSlatCh5,"SLA%d",ConvertSlatNum(i,quadrant,kNslats3-1));
sprintf(idSlatCh6,"SLB%d",ConvertSlatNum(i,quadrant,kNslats3-1));
Int_t moduleSlatCh5 = GetModuleId(idSlatCh5);
Int_t moduleSlatCh6 = GetModuleId(idSlatCh6);
Float_t xvFrame = (slatLength3[i] - kVframeLength)/2.;
Float_t xvFrame2 = xvFrame;
if (i == 0 || i == 1 || i == 2) xvFrame2 -= pcbDLength3;
if ( i > 2) {
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("S05V", idSlatCh5,
(2*i+1)*10+quadrant,TGeoTranslation(xvFrame,0.,0.));
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("S05V", idSlatCh5,
(2*i)*10+quadrant,TGeoTranslation(-xvFrame,0.,0.));
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("S06V", idSlatCh6,
(2*i+1)*10+quadrant,TGeoTranslation(xvFrame,0.,0.));
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("S06V", idSlatCh6,
(2*i)*10+quadrant,TGeoTranslation(-xvFrame,0.,0.));
}
if (i == 2) {
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("S05V", idSlatCh5,
(2*i+1)*10+quadrant,TGeoTranslation(xvFrame2,0.,0.));
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("S05V", idSlatCh5,
(2*i)*10+quadrant,TGeoTranslation(-xvFrame,0.,0.));
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("S06V", idSlatCh6,
(2*i+1)*10+quadrant,TGeoTranslation(xvFrame,0.,0.));
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("S06V", idSlatCh6,
(2*i)*10+quadrant,TGeoTranslation(-xvFrame,0.,0.));
}
if (i == 0 || i == 1) {
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("S05V", idSlatCh5,
(2*i+1)*10+quadrant,TGeoTranslation(-xvFrame2,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("S06V", idSlatCh6,
(2*i+1)*10+quadrant,TGeoTranslation(-xvFrame,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
if (i == 0) {
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("SC5D", idSlatCh5,
(2*i)*10+quadrant,TGeoTranslation(xvFrame,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("SC6D", idSlatCh6,
(2*i)*10+quadrant,TGeoTranslation(xvFrame,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
}
if (i == 1) {
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("SD5D", idSlatCh5,
(2*i)*10+quadrant,TGeoTranslation(xvFrame,-kYpos3[1],0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("SD6D", idSlatCh6,
(2*i)*10+quadrant,TGeoTranslation(xvFrame,-kYpos3[1],0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
}
}
for (j = 0; j < kNPCB3[i]; j++){
index++;
xx = kSensLength * (-kNPCB3[i]/2. + j + 0.5);
Float_t xx2 = xx - pcbDLength3/2.;
Float_t xx3 = xx + (kSensLength-csvPcbLength)/2.;
Float_t zPanel = spar[2] - nomexbpar[2];
if (i==0 || i==1) {
if (i==0 && j==0) {
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("SC5X", idSlatCh5, 2*index-1,TGeoTranslation(-xx3,0.,zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("SC5X", idSlatCh5, 2*index,TGeoTranslation(-xx3,0.,-zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("SC5I", idSlatCh5, index,TGeoTranslation(-xx3,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("SC6X", idSlatCh6, 2*index-1,TGeoTranslation(-xx3,0.,zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("SC6X", idSlatCh6, 2*index,TGeoTranslation(-xx3,0.,-zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("SC6I", idSlatCh6, index,TGeoTranslation(-xx3,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
}
else {
if (i==1 && j==0){
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("SD5X", idSlatCh5, 2*index-1,TGeoTranslation(-xx,0.,zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("SD5X", idSlatCh5, 2*index,TGeoTranslation(-xx,0.,-zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("SD5I", idSlatCh5, index,TGeoTranslation(-xx,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("SD6X", idSlatCh6, 2*index-1,TGeoTranslation(-xx,0.,zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("SD6X", idSlatCh6, 2*index,TGeoTranslation(-xx,0.,-zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("SD6I", idSlatCh6, index,TGeoTranslation(-xx,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
}
else {
if (j == kNPCB3[i]-1) {
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("SB5X", idSlatCh5, 2*index-1,TGeoTranslation(-xx2,0.,zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("SB5X", idSlatCh5, 2*index,TGeoTranslation(-xx2,0.,-zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("SB5I", idSlatCh5, index,TGeoTranslation(-xx2,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
}
else {
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("S05X", idSlatCh5, 2*index-1,TGeoTranslation(-xx,0.,zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("S05X", idSlatCh5, 2*index,TGeoTranslation(-xx,0.,-zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("S05I", idSlatCh5, index,TGeoTranslation(-xx,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
}
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("S06X", idSlatCh6, 2*index-1,TGeoTranslation(-xx,0.,zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("S06X", idSlatCh6, 2*index,TGeoTranslation(-xx,0.,-zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("S06I", idSlatCh6, index,TGeoTranslation(-xx,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
}
}
}
else {
if (i==2 && j == kNPCB3[i]-1) {
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("SB5X", idSlatCh5, 2*index-1,TGeoTranslation(xx2,0.,zPanel));
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("SB5X", idSlatCh5, 2*index,TGeoTranslation(xx2,0.,-zPanel));
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("SB5I", idSlatCh5, index,TGeoTranslation(xx2,0.,0.));
} else {
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("S05X", idSlatCh5, 2*index-1,TGeoTranslation(xx,0.,zPanel));
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("S05X", idSlatCh5, 2*index,TGeoTranslation(xx,0.,-zPanel));
GetEnvelopes(moduleSlatCh5)->AddEnvelopeConstituent("S05I", idSlatCh5, index,TGeoTranslation(xx,0.,0.));
}
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("S06X", idSlatCh6, 2*index-1,TGeoTranslation(xx,0.,zPanel));
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("S06X", idSlatCh6, 2*index,TGeoTranslation(xx,0.,-zPanel));
GetEnvelopes(moduleSlatCh6)->AddEnvelopeConstituent("S06I", idSlatCh6, index,TGeoTranslation(xx,0.,0.));
}
}
}
}
TVirtualMC::GetMC()->Gspos("S05N",1,"S05C",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SB5N",1,"SB5C",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SC5N",1,"SC5C",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD5N",1,"SD5C",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S06N",1,"S06C",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SC6N",1,"SC6C",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD6N",1,"SD6C",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S05C",1,"S05X",0.,0.,kNomexBWidth/2.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SB5C",1,"SB5X",0.,0.,kNomexBWidth/2.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SC5C",1,"SC5X",0.,0.,kNomexBWidth/2.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD5C",1,"SD5X",0.,0.,kNomexBWidth/2.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S06C",1,"S06X",0.,0.,kNomexBWidth/2.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SC6C",1,"SC6X",0.,0.,kNomexBWidth/2.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD6C",1,"SD6X",0.,0.,kNomexBWidth/2.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S05P",1,"S05I",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SB5P",1,"SB5I",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SC5P",1,"SC5I",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD5P",1,"SD5I",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S06P",1,"S06I",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SC6P",1,"SC6I",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD6P",1,"SD6I",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S05H",1,"S05P",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SB5H",1,"SB5P",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SC5H",1,"SC5P",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD5H",1,"SD5P",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S06H",1,"S06P",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SC6H",1,"SC6P",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD6H",1,"SD6P",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gsposp("S05G",1,"S05H",0.,0.,0.,0,"ONLY",senspar,3);
TVirtualMC::GetMC()->Gsposp("S05G",1,"SB5H",0.,0.,0.,0,"ONLY",senspar2,3);
TVirtualMC::GetMC()->Gspos("SC5G",1,"SC5H",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD5G",1,"SD5H",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gsposp("S06G",1,"S06H",0.,0.,0.,0,"ONLY",senspar,3);
TVirtualMC::GetMC()->Gspos("SC6G",1,"SC6H",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD6G",1,"SD6H",0.,0.,0.,0,"ONLY");
Float_t yborder = ( kPcbHeight - kBframeHeight ) / 2.;
Int_t rotB = 0;
TVirtualMC::GetMC()->Matrix(rotB,90,0,90,270,180,0);
TVirtualMC::GetMC()->Gspos("S05B",1,"S05P",0., yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S05B",2,"S05P",0.,-yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SB5B",1,"SB5P",0., yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SB5B",2,"SB5P",0.,-yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SC5B",1,"SC5P",0., yborder,0.,rotB,"ONLY");
TVirtualMC::GetMC()->Gspos("SC5B",2,"SC5P",0.,-yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S05B",1,"SD5P",0., yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD5B",1,"SD5P",0.,-yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S06B",1,"S06P",0., yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S06B",2,"S06P",0.,-yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SC6B",1,"SC6P",0., yborder,0.,rotB,"ONLY");
TVirtualMC::GetMC()->Gspos("SC6B",2,"SC6P",0.,-yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S06B",1,"SD6P",0., yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD6B",1,"SD6P",0.,-yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gsvolu("S05E","BOX",kNulocMaterial,nulocpar,3);
TVirtualMC::GetMC()->Gsvolu("S06E","BOX",kNulocMaterial,nulocpar,3);
index = 0;
Float_t xxmax2 = xxmax - pcbDLength3/2.;
Float_t xxmax3 = xxmax - (kPcbLength-csvPcbLength)/2.;
Float_t rPhi3 = TMath::ASin((kYpos3[1]-kPcbHeight/2.)/AliMUONConstants::Rmin(2));
Float_t xxmax4 = (AliMUONConstants::Rmin(2)*TMath::Cos(rPhi3)-kVframeLength/2.) - (kBframeLength - kNulocLength)/2.;
for (xx = -xxmax; xx <= xxmax; xx += 2*kNulocLength) {
index++;
TVirtualMC::GetMC()->Gspos("S05E",2*index-1,"S05B", xx, 0.,-kBframeWidth/2. + kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S05E",2*index ,"S05B", xx, 0., kBframeWidth/2. - kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S06E",2*index-1,"S06B", xx, 0.,-kBframeWidth/2. + kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S06E",2*index ,"S06B", xx, 0., kBframeWidth/2.- kNulocWidth/2, 0, "ONLY");
if (xx > -xxmax2 && xx< xxmax2) {
TVirtualMC::GetMC()->Gspos("S05E",2*index-1,"SB5B", xx, 0.,-kBframeWidth/2.+ kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S05E",2*index ,"SB5B", xx, 0., kBframeWidth/2.- kNulocWidth/2, 0, "ONLY");
}
if (xx > -xxmax3 && xx< xxmax3) {
TVirtualMC::GetMC()->Gspos("S05E",2*index-1,"SC5B", xx, 0.,-kBframeWidth/2.+ kNulocWidth/2., 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S05E",2*index ,"SC5B", xx, 0., kBframeWidth/2.- kNulocWidth/2., 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S06E",2*index-1,"SC6B", xx, 0.,-kBframeWidth/2.+ kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S06E",2*index ,"SC6B", xx, 0., kBframeWidth/2.- kNulocWidth/2, 0, "ONLY");
}
if (xx > xxmax4 && xx< xxmax) {
TVirtualMC::GetMC()->Gspos("S05E",2*index-1,"SD5B", xx, 0.,-kBframeWidth/2.+ kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S05E",2*index ,"SD5B", xx, 0., kBframeWidth/2.- kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S06E",2*index-1,"SD6B", xx, 0.,-kBframeWidth/2.+ kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S06E",2*index ,"SD6B", xx, 0., kBframeWidth/2.- kNulocWidth/2, 0, "ONLY");
}
}
Float_t dMotherInner = AliMUONConstants::Rmin(2)-kRframeHeight;
Float_t nomexthickness = 1.5;
Float_t carbonthickness = 0.03;
Float_t supporthlength = 162.;
Float_t supporthlengthCh6 = 167.;
Float_t supportvlength = 362.;
new TGeoBBox("shNomexBoxSt3",supporthlength/2., supportvlength/2. ,nomexthickness/2.+carbonthickness+3*kCableWidth);
new TGeoBBox("shCarbonBoxSt3",supporthlength/2., supportvlength/2. ,carbonthickness/2.);
new TGeoBBox("shNomexBoxSt3Ch6",(supporthlengthCh6)/2., supportvlength/2. ,nomexthickness/2.+carbonthickness+3*kCableWidth);
new TGeoBBox("shCarbonBoxSt3Ch6",(supporthlengthCh6)/2., supportvlength/2. ,carbonthickness/2.);
new TGeoTubeSeg("shNomexHoleSt3",0., dMotherInner, nomexthickness/2.+carbonthickness+3*kCableWidth+0.001, -90. ,90.);
new TGeoTubeSeg("shCarbonHoleSt3",0., dMotherInner, carbonthickness/2.+0.001, -90. ,90.);
TGeoTranslation* trHoleSt3 = new TGeoTranslation("trHoleSt3",-supporthlength/2.,0.,0.);
trHoleSt3->RegisterYourself();
TGeoTranslation* trHoleSt3Ch6 = new TGeoTranslation("trHoleSt3Ch6",-(supporthlengthCh6)/2.,0.,0.);
trHoleSt3Ch6->RegisterYourself();
TGeoCompositeShape* shNomexSupportSt3 = new TGeoCompositeShape("shNomexSupportSt3","shNomexBoxSt3-shNomexHoleSt3:trHoleSt3");
TGeoCompositeShape* shCarbonSupportSt3 = new TGeoCompositeShape("shCarbonSupportSt3","shCarbonBoxSt3-shCarbonHoleSt3:trHoleSt3");
TGeoCompositeShape* shNomexSupportSt3Ch6 = new TGeoCompositeShape("shNomexSupportSt3Ch6","shNomexBoxSt3Ch6-shNomexHoleSt3:trHoleSt3Ch6");
TGeoCompositeShape* shCarbonSupportSt3Ch6 = new TGeoCompositeShape("shCarbonSupportSt3Ch6","shCarbonBoxSt3Ch6-shCarbonHoleSt3:trHoleSt3Ch6");
TGeoVolume * voNomexSupportSt3 = new TGeoVolume("S05S", shNomexSupportSt3, kMedNomex);
TGeoVolume * voCarbonSupportSt3 = new TGeoVolume("S05K", shCarbonSupportSt3, kMedCarbon);
TGeoVolume * voNomexSupportSt3Ch6 = new TGeoVolume("S06S", shNomexSupportSt3Ch6, kMedNomex);
TGeoVolume * voCarbonSupportSt3Ch6 = new TGeoVolume("S06K", shCarbonSupportSt3Ch6, kMedCarbon);
TGeoTranslation *trCarbon1St3 = new TGeoTranslation("trCarbon1St3",0.,0., -(nomexthickness+carbonthickness)/2.);
TGeoTranslation *trCarbon2St3 = new TGeoTranslation("trCarbon2St3",0.,0., (nomexthickness+carbonthickness)/2.);
voNomexSupportSt3->AddNode(voCarbonSupportSt3,1,trCarbon1St3);
voNomexSupportSt3->AddNode(voCarbonSupportSt3,2,trCarbon2St3);
voNomexSupportSt3Ch6->AddNode(voCarbonSupportSt3Ch6,1,trCarbon1St3);
voNomexSupportSt3Ch6->AddNode(voCarbonSupportSt3Ch6,2,trCarbon2St3);
TVirtualMC::GetMC()->Gsvolu("S05L","BOX",kCableMaterial,dum,0);
TVirtualMC::GetMC()->Gsvolu("S06L","BOX",kCableMaterial,dum,0);
ySlat3 = 0.;
Float_t lCableX = 0.;
Float_t lCableX6 = 0.;
Float_t lCableY = 0.;
Float_t lCableZ = 0.;
Float_t cablepar[3] = {static_cast<Float_t>(supporthlength/2.), static_cast<Float_t>(kCableHeight/2.), static_cast<Float_t>(kCableWidth/2.)};
Float_t cablepar6[3] = {static_cast<Float_t>(supporthlengthCh6/2.), static_cast<Float_t>(kCableHeight/2.), static_cast<Float_t>(kCableWidth/2.)};
Float_t lCableDY = 0.;
Int_t cIndex = 0;
Int_t cIndex6 = 0;
for (i = 0; i<kNslats3; i++){
Int_t iCable = 1;
cIndex = 0;
cIndex6 = 0;
ySlat3 += kYpos3[i];
lCableY = ySlat3;
if(kNPCB3[i]>=4 && i<kNslats3-2){
cablepar[0] = supporthlength/2.;
lCableX = 0.;
cablepar6[0] = supporthlengthCh6/2.;
lCableX6 = 0.;
lCableDY = (kYpos3[i+1]+kYpos3[i+2])/2.-cablepar[1];
lCableZ = TMath::Power(-1,i)*(nomexthickness/2.+carbonthickness+(-1+iCable++)*kCableWidth+kCableWidth/2.);
if(i==0){
cablepar[0] -= (kPcbLength-csvPcbLength)/2.;
lCableX = (kPcbLength-csvPcbLength)/2.;
cablepar6[0] -= (kPcbLength-csvPcbLength)/2.;
lCableX6 = (kPcbLength-csvPcbLength)/2.;
}
TVirtualMC::GetMC()->Gsposp("S05L",100*i+cIndex++,"S05S",lCableX,lCableY+lCableDY,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S05L",100*i+cIndex++,"S05S",lCableX,-(lCableY+lCableDY),lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S06L",100*i+cIndex6++,"S06S",lCableX6,lCableY+lCableDY,lCableZ,0,"ONLY",cablepar6,3);
TVirtualMC::GetMC()->Gsposp("S06L",100*i+cIndex6++,"S06S",lCableX6,-(lCableY+lCableDY),lCableZ,0,"ONLY",cablepar6,3);
if(i>0){
if(i==1){
cablepar[0] -= dMotherInner/2.;
lCableX += dMotherInner/2.;
cablepar6[0] -= dMotherInner/2.;
lCableX6 += dMotherInner/2.;
lCableDY = (kYpos3[i]+kYpos3[i])/2.-cablepar[1];
}
if(i>=2){
lCableDY = (kYpos3[i]+kYpos3[i-1])/2.-cablepar[1];
if ((lCableY-lCableDY)<(dMotherInner+cablepar[1])){
lCableDY = lCableY - dMotherInner - cablepar[1];
}
}
TVirtualMC::GetMC()->Gsposp("S05L",100*i+cIndex++,"S05S",lCableX,lCableY-lCableDY,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S05L",100*i+cIndex++,"S05S",lCableX,-(lCableY-lCableDY),lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S06L",100*i+cIndex6++,"S06S",lCableX6,lCableY-lCableDY,lCableZ,0,"ONLY",cablepar6,3);
TVirtualMC::GetMC()->Gsposp("S06L",100*i+cIndex6++,"S06S",lCableX6,-(lCableY-lCableDY),lCableZ,0,"ONLY",cablepar6,3);
}
}
if(i==1){
cablepar[0] = (supporthlength-kPcbLength-kVframeLength)/2.;
lCableX = (kPcbLength+kVframeLength)/2.;
cablepar6[0] = (supporthlengthCh6-kPcbLength-kVframeLength)/2.;
lCableX6 = (kPcbLength+kVframeLength)/2.;
lCableDY = (kYpos3[i+1]+kYpos3[i+2])/2.-cablepar[1];
lCableZ = TMath::Power(-1,i)*(nomexthickness/2.+carbonthickness+(-1+iCable++)*kCableWidth+kCableWidth/2.);
TVirtualMC::GetMC()->Gsposp("S05L",100*i+cIndex++,"S05S",lCableX,lCableY+lCableDY,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S05L",100*i+cIndex++,"S05S",lCableX,-(lCableY+lCableDY),lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S06L",100*i+cIndex6++,"S06S",lCableX6,lCableY+lCableDY,lCableZ,0,"ONLY",cablepar6,3);
TVirtualMC::GetMC()->Gsposp("S06L",100*i+cIndex6++,"S06S",lCableX6,-(lCableY+lCableDY),lCableZ,0,"ONLY",cablepar6,3);
lCableDY = (kYpos3[i]+kYpos3[i])/2.-cablepar[1];
TVirtualMC::GetMC()->Gsposp("S05L",100*i+cIndex++,"S05S",lCableX,lCableY-lCableDY,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S05L",100*i+cIndex++,"S05S",lCableX,-(lCableY-lCableDY),lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S06L",100*i+cIndex6++,"S06S",lCableX6,lCableY-lCableDY,lCableZ,0,"ONLY",cablepar6,3);
TVirtualMC::GetMC()->Gsposp("S06L",100*i+cIndex6++,"S06S",lCableX6,-(lCableY-lCableDY),lCableZ,0,"ONLY",cablepar6,3);
}
cablepar[0] = (supporthlength-(slatLength3[i]+kDslatLength)+kVframeLength)/2.;
lCableX = slatLength3[i]-kVframeLength+kDslatLength+cablepar[0]-supporthlength/2.;
cablepar6[0] = (supporthlengthCh6-(slatLength3[i]+kDslatLength)+kVframeLength)/2.;
lCableX6 = slatLength3[i]-kVframeLength+kDslatLength+cablepar6[0]-supporthlengthCh6/2.;
if(i+1>=kNslats3 || i+2>=kNslats3){
lCableDY = kPcbHeight/2.+cablepar[1];
}
else {
lCableDY = (kYpos3[i+1]+kYpos3[i+2])/2.-cablepar[1];
}
lCableZ = TMath::Power(-1,i)*(nomexthickness/2.+carbonthickness+(-1+iCable++)*kCableWidth+kCableWidth/2.);
if (i<=2){
cablepar[0] += pcbDLength3/2.;
lCableX -= pcbDLength3/2.;
}
TVirtualMC::GetMC()->Gsposp("S05L",100*i+cIndex++,"S05S",lCableX,lCableY+lCableDY,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S05L",100*i+cIndex++,"S05S",lCableX,-(lCableY+lCableDY),lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S06L",100*i+cIndex6++,"S06S",lCableX6,lCableY+lCableDY,lCableZ,0,"ONLY",cablepar6,3);
TVirtualMC::GetMC()->Gsposp("S06L",100*i+cIndex6++,"S06S",lCableX6,-(lCableY+lCableDY),lCableZ,0,"ONLY",cablepar6,3);
if(i>0){
if (i==1) {
lCableDY = (kYpos3[i]+kYpos3[i])/2.-cablepar[1];
}
else{
lCableDY = (kYpos3[i]+kYpos3[i-1])/2.-cablepar[1];
}
TVirtualMC::GetMC()->Gsposp("S05L",100*i+cIndex++,"S05S",lCableX,lCableY-lCableDY,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S05L",100*i+cIndex++,"S05S",lCableX,-(lCableY-lCableDY),lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S06L",100*i+cIndex6++,"S06S",lCableX6,lCableY-lCableDY,lCableZ,0,"ONLY",cablepar6,3);
TVirtualMC::GetMC()->Gsposp("S06L",100*i+cIndex6++,"S06S",lCableX6,-(lCableY-lCableDY),lCableZ,0,"ONLY",cablepar6,3);
}
}
Float_t dzCh5 = dzCh;
TGeoTranslation* trSupport1St3 = new TGeoTranslation("trSupport1St3", supporthlength/2., 0. , dzCh5);
TGeoRotation* roSupportSt3 = new TGeoRotation("roSupportSt3",90.,180.,-90.);
TGeoCombiTrans* coSupport2St3 = new TGeoCombiTrans(-supporthlength/2., 0., -dzCh5, roSupportSt3);
TGeoTranslation* trSupport1St3Ch6 = new TGeoTranslation("trSupport1St3Ch6", supporthlengthCh6/2., 0. , dzCh5);
TGeoCombiTrans* coSupport2St3Ch6 = new TGeoCombiTrans(-supporthlengthCh6/2., 0., -dzCh5, roSupportSt3);
GetEnvelopes(5)->AddEnvelope("S05S", 0, 1, *trSupport1St3);
GetEnvelopes(4)->AddEnvelope("S05S", 0, 2, *coSupport2St3);
GetEnvelopes(7)->AddEnvelope("S06S", 0, 1, *trSupport1St3Ch6);
GetEnvelopes(6)->AddEnvelope("S06S", 0, 2, *coSupport2St3Ch6);
}
if (fStations[3]) {
const Int_t kNslats4 = 7;
const Int_t kNPCB4[kNslats4] = {5, 6, 5, 5, 4, 3, 2};
const Float_t kXpos4[kNslats4] = {38.75, 0., 0., 0., 0., 0., 0.};
const Float_t kYpos41[kNslats4] = {0., 38.2, 34.40, 36.60, 29.3, 37.0, 28.6};
const Float_t kYpos42[kNslats4] = {0., 38.2, 37.85, 37.55, 29.4, 37.0, 28.6};
Float_t slatLength4[kNslats4];
Float_t rPhi1 = TMath::RadToDeg()*(TMath::ASin((kYpos41[1]-hFramepar[1])/(AliMUONConstants::Rmin(3))));
Float_t rPhi2 = TMath::RadToDeg()*(TMath::ACos(-vFramepar[0]/(AliMUONConstants::Rmin(3)-kRframeLength)));
Float_t rFramepar4[5] = { AliMUONConstants::Rmin(3)-kRframeLength, AliMUONConstants::Rmin(3), kRframeWidth, rPhi1, rPhi2};
Float_t vrFrameHeight = hFramepar[1]+kYpos41[1]-AliMUONConstants::Rmin(3)+kRframeLength;
char idSlatCh7[6];
char idSlatCh8[6];
Float_t xSlat4;
Float_t ySlat41 = 0;
Float_t ySlat42 = 0;
angle = 0.;
for (i = 0; i<kNslats4; i++){
slatLength4[i] = kPcbLength * kNPCB4[i] + 2. * kVframeLength;
xSlat4 = slatLength4[i]/2. + kDslatLength + kXpos4[i];
ySlat41 += kYpos41[i];
ySlat42 += kYpos42[i];
spar[0] = slatLength4[i]/2.;
spar[1] = kSlatHeight/2.;
spar[2] = kSlatWidth/2.;
Float_t dzCh4 = dzCh;
Float_t zSlat4 = (i%2 ==0)? -zSlat : zSlat;
sprintf(idSlatCh7,"SLC%d",kNslats4-1+i);
detElemId = 713 - (i + kNslats4-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0) {
if (detElemId == 712)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh7, detElemId, true, TGeoTranslation(xSlat4, ySlat41, -zSlat4 + dzCh4),
TGeoRotation("rot1",90,180+angle,90,90+angle,180,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh7, detElemId, true, TGeoTranslation(xSlat4, ySlat41, -zSlat4 + dzCh4),
TGeoRotation("rot1",90,angle,90,90+angle,0,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh7, detElemId, true, TGeoTranslation(xSlat4, ySlat41, -zSlat4 + dzCh4),
TGeoRotation("rot1",90,angle,90,270+angle,180,0) );
sprintf(idSlatCh7,"SLC%d",3*kNslats4-2+i);
detElemId = 700 + (i + kNslats4-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 1) {
if (detElemId == 701)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh7, detElemId, true, TGeoTranslation(-xSlat4, ySlat41, zSlat4 - dzCh4),
TGeoRotation("rot2",90,angle,90,90+angle,0,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh7, detElemId, true, TGeoTranslation(-xSlat4, ySlat41, zSlat4 - dzCh4),
TGeoRotation("rot2",90,180+angle,90,90+angle,180,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh7, detElemId, true, TGeoTranslation(-xSlat4, ySlat41, zSlat4 - dzCh4),
TGeoRotation("rot2",90,180+angle,90,270+angle,0,0) );
if (i > 0) {
sprintf(idSlatCh7,"SLC%d",kNslats4-1-i);
detElemId = 713 + (i + kNslats4-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0) {
if (detElemId == 714)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh7, detElemId, true, TGeoTranslation(xSlat4, -ySlat41, -zSlat4 + dzCh4),
TGeoRotation("rot3",90,180+angle,90,270+angle,0,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh7, detElemId, true, TGeoTranslation(xSlat4, -ySlat41, -zSlat4 + dzCh4),
TGeoRotation("rot3",90,angle,90,90+angle,0,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh7, detElemId, true, TGeoTranslation(xSlat4, -ySlat41, -zSlat4 + dzCh4),
TGeoRotation("rot3",90,angle,90,270+angle,180,0) );
sprintf(idSlatCh7,"SLC%d",3*kNslats4-2-i);
detElemId = 726 - (i + kNslats4-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 1) {
if (detElemId == 725)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh7, detElemId, true, TGeoTranslation(-xSlat4, -ySlat41, zSlat4 - dzCh4),
TGeoRotation("rot4",90,angle,90,270+angle,180,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh7, detElemId, true, TGeoTranslation(-xSlat4, -ySlat41, zSlat4 - dzCh4),
TGeoRotation("rot4",90,180+angle,90,90+angle,180,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh7, detElemId, true, TGeoTranslation(-xSlat4, -ySlat41, zSlat4 - dzCh4),
TGeoRotation("rot4",90,180+angle,90,270+angle,0,0) );
}
sprintf(idSlatCh8,"SLD%d",kNslats4-1+i);
detElemId = 813 - (i + kNslats4-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0) {
if (detElemId == 812)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh8, detElemId, true, TGeoTranslation(xSlat4, ySlat42, -zSlat4 + dzCh4),
TGeoRotation("rot5",90,180+angle,90,90+angle,180,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh8, detElemId, true, TGeoTranslation(xSlat4, ySlat42, -zSlat4 + dzCh4),
TGeoRotation("rot5",90,angle,90,90+angle,0,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh8, detElemId, true, TGeoTranslation(xSlat4, ySlat42, -zSlat4 + dzCh4),
TGeoRotation("rot5",90,angle,90,270+angle,180,0) );
sprintf(idSlatCh8,"SLD%d",3*kNslats4-2+i);
detElemId = 800 + (i + kNslats4-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 1) {
if (detElemId == 801)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh8, detElemId, true, TGeoTranslation(-xSlat4, ySlat42, zSlat4 - dzCh4),
TGeoRotation("rot6",90,angle,90,90+angle,0,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh8, detElemId, true, TGeoTranslation(-xSlat4, ySlat42, zSlat4 - dzCh4),
TGeoRotation("rot6",90,180+angle,90,90+angle,180,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh8, detElemId, true, TGeoTranslation(-xSlat4, ySlat42, zSlat4 - dzCh4),
TGeoRotation("rot6",90,180+angle,90,270+angle,0,0) );
if (i > 0) {
sprintf(idSlatCh8,"SLD%d",kNslats4-1-i);
detElemId = 813 + (i + kNslats4-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0) {
if (detElemId == 814)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh8, detElemId, true, TGeoTranslation(xSlat4, -ySlat42, -zSlat4 + dzCh4),
TGeoRotation("rot7",90,180+angle,90,270+angle,0,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh8, detElemId, true, TGeoTranslation(xSlat4, -ySlat42, -zSlat4 + dzCh4),
TGeoRotation("rot7",90,angle,90,90+angle,0,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh8, detElemId, true, TGeoTranslation(xSlat4, -ySlat42, -zSlat4 + dzCh4),
TGeoRotation("rot7",90,angle,90,270+angle,180,0) );
sprintf(idSlatCh8,"SLD%d",3*kNslats4-2-i);
detElemId = 826 - (i + kNslats4-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 1) {
if (detElemId == 825 )
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh8, detElemId, true, TGeoTranslation(-xSlat4, -ySlat42, zSlat4 - dzCh4),
TGeoRotation("rot8",90,angle,90,270+angle,180,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh8, detElemId, true, TGeoTranslation(-xSlat4, -ySlat42, zSlat4 - dzCh4),
TGeoRotation("rot8",90,180+angle,90,90+angle,180,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh8, detElemId, true, TGeoTranslation(-xSlat4, -ySlat42, zSlat4 - dzCh4),
TGeoRotation("rot8",90,180+angle,90,270+angle,0,0) );
}
}
TVirtualMC::GetMC()->Gsvolu("S07C","BOX",kCarbonMaterial,panelpar,3);
TVirtualMC::GetMC()->Gsvolu("SD7C","BOX",kCarbonMaterial,panelpar,3);
TVirtualMC::GetMC()->Gsvolu("S08C","BOX",kCarbonMaterial,panelpar,3);
TVirtualMC::GetMC()->Gsvolu("SD8C","BOX",kCarbonMaterial,panelpar,3);
TVirtualMC::GetMC()->Gsvolu("S07N","BOX",kNomexMaterial,nomexpar,3);
TVirtualMC::GetMC()->Gsvolu("SD7N","BOX",kNomexMaterial,nomexpar,3);
TVirtualMC::GetMC()->Gsvolu("S08N","BOX",kNomexMaterial,nomexpar,3);
TVirtualMC::GetMC()->Gsvolu("SD8N","BOX",kNomexMaterial,nomexpar,3);
TVirtualMC::GetMC()->Gsvolu("S07X","BOX",kNomexBMaterial,nomexbpar,3);
TVirtualMC::GetMC()->Gsvolu("SD7X","BOX",kNomexBMaterial,nomexbpar,3);
TVirtualMC::GetMC()->Gsvolu("S08X","BOX",kNomexBMaterial,nomexbpar,3);
TVirtualMC::GetMC()->Gsvolu("SD8X","BOX",kNomexBMaterial,nomexbpar,3);
TVirtualMC::GetMC()->Gsvolu("S07I","BOX",kInsuMaterial,insupar,3);
TVirtualMC::GetMC()->Gsvolu("SD7I","BOX",kInsuMaterial,insupar,3);
TVirtualMC::GetMC()->Gsvolu("S08I","BOX",kInsuMaterial,insupar,3);
TVirtualMC::GetMC()->Gsvolu("SD8I","BOX",kInsuMaterial,insupar,3);
TVirtualMC::GetMC()->Gsvolu("S07P","BOX",kPcbMaterial,pcbpar,3);
TVirtualMC::GetMC()->Gsvolu("SD7P","BOX",kPcbMaterial,pcbpar,3);
TVirtualMC::GetMC()->Gsvolu("S08P","BOX",kPcbMaterial,pcbpar,3);
TVirtualMC::GetMC()->Gsvolu("SD8P","BOX",kPcbMaterial,pcbpar,3);
TVirtualMC::GetMC()->Gsvolu("S07G","BOX",kSensMaterial,dum,0);
TVirtualMC::GetMC()->Gsvolu("SD7G","BOX",kSensMaterial,senspar,3);
TVirtualMC::GetMC()->Gsvolu("S08G","BOX",kSensMaterial,dum,0);
TVirtualMC::GetMC()->Gsvolu("SD8G","BOX",kSensMaterial,senspar,3);
TVirtualMC::GetMC()->Gsvolu("S07V","BOX",kVframeMaterial,vFramepar,3);
TVirtualMC::GetMC()->Gsvolu("S08V","BOX",kVframeMaterial,vFramepar,3);
TVirtualMC::GetMC()->Gsvolu("SD7D","TUBS",kRframeMaterial,rFramepar4,5);
TVirtualMC::GetMC()->Gsvolu("SD8D","TUBS",kRframeMaterial,rFramepar4,5);
TVirtualMC::GetMC()->Gsvolu("S07H","BOX",kHframeMaterial,hFramepar,3);
TVirtualMC::GetMC()->Gsvolu("SD7H","BOX",kHframeMaterial,hFramepar,3);
TVirtualMC::GetMC()->Gsvolu("S08H","BOX",kHframeMaterial,hFramepar,3);
TVirtualMC::GetMC()->Gsvolu("SD8H","BOX",kHframeMaterial,hFramepar,3);
TVirtualMC::GetMC()->Gsvolu("S07B","BOX",kBframeMaterial,bFramepar,3);
TVirtualMC::GetMC()->Gsvolu("SD7B","BOX",kBframeMaterial,bFramepar,3);
TVirtualMC::GetMC()->Gsvolu("S08B","BOX",kBframeMaterial,bFramepar,3);
TVirtualMC::GetMC()->Gsvolu("SD8B","BOX",kBframeMaterial,bFramepar,3);
if ( TVirtualMC::GetMC()->IsRootGeometrySupported() ) {
Int_t nSlatType = 1;
Int_t nVol = 8;
const char* slatType = "D";
const char* volLetter = "CNXIPHBG";
TString volName;
TString compName;
TString csName;
TGeoVolume *mVol = 0x0;
new TGeoTube("tube4Cut", 0., AliMUONConstants::Rmin(3), kSlatWidth/2.+0.001);
TObjArray rounded4Slat(nSlatType*((nVol+1)*2));
TGeoTranslation* trDTube4 = new TGeoTranslation("trDTube4", -(kPcbLength+kVframeLength)/2., -kYpos41[1], 0.);
trDTube4->RegisterYourself();
TGeoTranslation* trDBTube4 = new TGeoTranslation("trDBTube4", 0., ( kPcbHeight - kBframeHeight ) / 2., 0.);
trDBTube4->Add(trDTube4);
trDBTube4->RegisterYourself();
TObjArray composite4(nSlatType*((nVol+1)*2));
new TGeoBBox("box4DCut",(kPcbLength+kVframeLength)/2., hFramepar[1], vFramepar[2]+0.001);
TGeoTranslation* trDBox4 = new TGeoTranslation("trDBox4",kPcbLength/2., kYpos41[1], 0.);
trDBox4->RegisterYourself();
TGeoBBox *box4Vframe = new TGeoBBox("box4Vframe",vFramepar[0],vrFrameHeight/2., vFramepar[2]);
TGeoTranslation* trVBox4 = new TGeoTranslation("trVBox4", 0., AliMUONConstants::Rmin(3)-kRframeLength + box4Vframe->GetDY(), 0.);
trVBox4->RegisterYourself();
for(int iCh=7; iCh<=8; iCh++){
for (int iSlatType = 0; iSlatType<nSlatType; iSlatType++) {
for (int iVol = 0; iVol<nVol; iVol++){
Int_t lIndex = (iCh-7)*(nSlatType*(nVol+1))+iSlatType*(nVol+1)+iVol;
volName=Form("S%c%d%c",slatType[iSlatType],iCh,volLetter[iVol]);
mVol = gGeoManager->FindVolumeFast(volName);
if ( !mVol ) {
AliErrorStream()
<< "Slat volume " << volName << " not found" << endl;
}
else {
rounded4Slat[lIndex] = mVol->GetShape();
csName=Form("rounded4Slat%c%d%c",slatType[iSlatType],iCh,volLetter[iVol]);
((TGeoShape*)rounded4Slat[lIndex])->SetName(csName);
TString compOperation(csName);
compOperation+="-tube4Cut:tr";
compOperation+=slatType[iSlatType];
if (strstr(volName,"B")){
compOperation+="B";
}
compOperation+="Tube4";
compName=Form("composite4%c%d%c",slatType[iSlatType],iCh,volLetter[iVol]);
composite4[lIndex] = new TGeoCompositeShape(compName, compOperation.Data());
mVol->SetShape((TGeoShape*)composite4[lIndex]);
}
}
Int_t lIndex = (iCh-7)*(nSlatType*(nVol+1))+iSlatType*(nVol+1)+nVol;
volName=Form("S%c%dD",slatType[iSlatType],iCh);
mVol = gGeoManager->FindVolumeFast(volName);
if ( !mVol ) {
AliErrorStream()
<< "Slat volume " << volName << " not found" << endl;
}
else {
rounded4Slat[lIndex] = mVol->GetShape();
csName=Form("rounded4Slat%c%dD",slatType[iSlatType],iCh);
((TGeoShape*)rounded4Slat[lIndex])->SetName(csName);
TString compOperation(csName);
if (strstr(volName,"SD")){
compOperation.Prepend("(");
compOperation+="+box4Vframe:trVBox4)*box4DCut:trDBox4";
}
compName=Form("composite4%c%dD",slatType[iSlatType],iCh);
composite4[lIndex] = new TGeoCompositeShape(compName, compOperation.Data());
mVol->SetShape((TGeoShape*)composite4[lIndex]);
}
}
}
}
index = 0;
for (i = 0; i < kNslats4; i++){
for (Int_t quadrant = 1; quadrant <= 4; quadrant++) {
if (i == 0 && quadrant == 2) continue;
if (i == 0 && quadrant == 4) continue;
sprintf(idSlatCh7,"SLC%d",ConvertSlatNum(i,quadrant,kNslats4-1));
sprintf(idSlatCh8,"SLD%d",ConvertSlatNum(i,quadrant,kNslats4-1));
Int_t moduleSlatCh7 = GetModuleId(idSlatCh7);
Int_t moduleSlatCh8 = GetModuleId(idSlatCh8);
Float_t xvFrame = (slatLength4[i] - kVframeLength)/2.;
if (i != 1) {
GetEnvelopes(moduleSlatCh7)->AddEnvelopeConstituent("S07V", idSlatCh7, (2*i+1)*10+quadrant,TGeoTranslation(xvFrame,0.,0.));
GetEnvelopes(moduleSlatCh7)->AddEnvelopeConstituent("S07V", idSlatCh7, (2*i)*10+quadrant,TGeoTranslation(-xvFrame,0.,0.));
GetEnvelopes(moduleSlatCh8)->AddEnvelopeConstituent("S08V", idSlatCh8, (2*i+1)*10+quadrant,TGeoTranslation(xvFrame,0.,0.));
GetEnvelopes(moduleSlatCh8)->AddEnvelopeConstituent("S08V", idSlatCh8, (2*i)*10+quadrant,TGeoTranslation(-xvFrame,0.,0.));
} else {
GetEnvelopes(moduleSlatCh7)->AddEnvelopeConstituent("S07V", idSlatCh7, (2*i+1)*10+quadrant,TGeoTranslation(-xvFrame,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh7)->AddEnvelopeConstituent("SD7D", idSlatCh7, (2*i)*10+quadrant,TGeoTranslation(xvFrame,-kYpos41[1],0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh8)->AddEnvelopeConstituent("S08V", idSlatCh8, (2*i+1)*10+quadrant,TGeoTranslation(-xvFrame,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh8)->AddEnvelopeConstituent("SD8D", idSlatCh8, (2*i)*10+quadrant,TGeoTranslation(+xvFrame,-kYpos42[1],0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
}
for (j = 0; j < kNPCB4[i]; j++){
index++;
xx = kSensLength * (-kNPCB4[i]/2.+j+.5);
Float_t zPanel = spar[2] - nomexbpar[2];
if (i==1) {
if (j==0){
GetEnvelopes(moduleSlatCh7)->AddEnvelopeConstituent("SD7X", idSlatCh7, 2*index-1,TGeoTranslation(-xx,0.,zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh7)->AddEnvelopeConstituent("SD7X", idSlatCh7, 2*index,TGeoTranslation(-xx,0.,-zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh7)->AddEnvelopeConstituent("SD7I", idSlatCh7, index,TGeoTranslation(-xx,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh8)->AddEnvelopeConstituent("SD8X", idSlatCh8, 2*index-1,TGeoTranslation(-xx,0.,zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh8)->AddEnvelopeConstituent("SD8X", idSlatCh8, 2*index,TGeoTranslation(-xx,0.,-zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh8)->AddEnvelopeConstituent("SD8I", idSlatCh8, index,TGeoTranslation(-xx,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
} else {
GetEnvelopes(moduleSlatCh7)->AddEnvelopeConstituent("S07X", idSlatCh7, 2*index-1,TGeoTranslation(-xx,0.,zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh7)->AddEnvelopeConstituent("S07X", idSlatCh7, 2*index,TGeoTranslation(-xx,0.,-zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh7)->AddEnvelopeConstituent("S07I", idSlatCh7, index,TGeoTranslation(-xx,0.,0.));
GetEnvelopes(moduleSlatCh8)->AddEnvelopeConstituent("S08X", idSlatCh8, 2*index-1,TGeoTranslation(-xx,0.,zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh8)->AddEnvelopeConstituent("S08X", idSlatCh8, 2*index,TGeoTranslation(-xx,0.,-zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh8)->AddEnvelopeConstituent("S08I", idSlatCh8, index,TGeoTranslation(-xx,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
}
} else {
GetEnvelopes(moduleSlatCh7)->AddEnvelopeConstituent("S07X", idSlatCh7, 2*index-1,TGeoTranslation(xx,0.,zPanel));
GetEnvelopes(moduleSlatCh7)->AddEnvelopeConstituent("S07X", idSlatCh7, 2*index,TGeoTranslation(xx,0.,-zPanel));
GetEnvelopes(moduleSlatCh7)->AddEnvelopeConstituent("S07I", idSlatCh7, index,TGeoTranslation(xx,0.,0.));
GetEnvelopes(moduleSlatCh8)->AddEnvelopeConstituent("S08X", idSlatCh8, 2*index-1,TGeoTranslation(xx,0.,zPanel));
GetEnvelopes(moduleSlatCh8)->AddEnvelopeConstituent("S08X", idSlatCh8, 2*index,TGeoTranslation(xx,0.,-zPanel));
GetEnvelopes(moduleSlatCh8)->AddEnvelopeConstituent("S08I", idSlatCh8, index,TGeoTranslation(xx,0.,0.));
}
}
}
}
TVirtualMC::GetMC()->Gspos("S07N",1,"S07C",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD7N",1,"SD7C",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S08N",1,"S08C",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD8N",1,"SD8C",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S07C",1,"S07X",0.,0.,kNomexBWidth/2.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD7C",1,"SD7X",0.,0.,kNomexBWidth/2.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S08C",1,"S08X",0.,0.,kNomexBWidth/2.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD8C",1,"SD8X",0.,0.,kNomexBWidth/2.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S07P",1,"S07I",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD7P",1,"SD7I",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S08P",1,"S08I",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD8P",1,"SD8I",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S07H",1,"S07P",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD7H",1,"SD7P",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S08H",1,"S08P",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD8H",1,"SD8P",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gsposp("S07G",1,"S07H",0.,0.,0.,0,"ONLY",senspar,3);
TVirtualMC::GetMC()->Gspos("SD7G",1,"SD7H",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gsposp("S08G",1,"S08H",0.,0.,0.,0,"ONLY",senspar,3);
TVirtualMC::GetMC()->Gspos("SD8G",1,"SD8H",0.,0.,0.,0,"ONLY");
Float_t yborder = ( kPcbHeight - kBframeHeight ) / 2.;
TVirtualMC::GetMC()->Gspos("S07B",1,"S07P",0., yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S07B",2,"S07P",0.,-yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S07B",1,"SD7P",0., yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD7B",1,"SD7P",0.,-yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S08B",1,"S08P",0., yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S08B",2,"S08P",0.,-yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S08B",1,"SD8P",0., yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD8B",1,"SD8P",0.,-yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gsvolu("S07E","BOX",kNulocMaterial,nulocpar,3);
TVirtualMC::GetMC()->Gsvolu("S08E","BOX",kNulocMaterial,nulocpar,3);
index = 0;
Float_t rPhi3 = TMath::ASin((kYpos41[1]-kPcbHeight/2.)/AliMUONConstants::Rmin(3));
Float_t xxmax4 = (AliMUONConstants::Rmin(3)*TMath::Cos(rPhi3)-kVframeLength/2.) - (kBframeLength - kNulocLength)/2.;
for (xx = -xxmax; xx <= xxmax; xx += 2*kNulocLength) {
index++;
TVirtualMC::GetMC()->Gspos("S07E",2*index-1,"S07B", xx, 0.,-kBframeWidth/2. + kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S07E",2*index ,"S07B", xx, 0., kBframeWidth/2. - kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S08E",2*index-1,"S08B", xx, 0.,-kBframeWidth/2. + kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S08E",2*index ,"S08B", xx, 0., kBframeWidth/2. - kNulocWidth/2, 0, "ONLY");
}
if (xx > xxmax4 && xx< xxmax) {
TVirtualMC::GetMC()->Gspos("S07E",2*index-1,"SD7B", xx, 0.,-kBframeWidth/2.+ kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S07E",2*index ,"SD7B", xx, 0., kBframeWidth/2.- kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S08E",2*index-1,"SD8B", xx, 0.,-kBframeWidth/2.+ kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S08E",2*index ,"SD8B", xx, 0., kBframeWidth/2.- kNulocWidth/2, 0, "ONLY");
}
Float_t dMotherInner = AliMUONConstants::Rmin(3)-kRframeHeight;
Float_t nomexthickness = 1.5;
Float_t carbonthickness = 0.03;
Float_t supporthlength = 260.;
Float_t supportvlength = 530.;
new TGeoBBox("shNomexBoxSt4",supporthlength/2., supportvlength/2. ,nomexthickness/2.+carbonthickness+3*kCableWidth);
new TGeoBBox("shCarbonBoxSt4",supporthlength/2., supportvlength/2. ,carbonthickness/2.);
new TGeoTubeSeg("shNomexHoleSt4",0., dMotherInner, nomexthickness/2.+carbonthickness+3*kCableWidth+0.001, -90. ,90.);
new TGeoTubeSeg("shCarbonHoleSt4",0., dMotherInner, carbonthickness/2.+0.001, -90. ,90.);
TGeoTranslation* trHoleSt4 = new TGeoTranslation("trHoleSt4",-supporthlength/2.,0.,0.);
trHoleSt4->RegisterYourself();
TGeoCompositeShape* shNomexSupportSt4 = new TGeoCompositeShape("shNomexSupportSt4","shNomexBoxSt4-shNomexHoleSt4:trHoleSt4");
TGeoCompositeShape* shCarbonSupportSt4 = new TGeoCompositeShape("shCarbonSupportSt4","shCarbonBoxSt4-shCarbonHoleSt4:trHoleSt4");
TGeoVolume* voNomexSupportSt4 = new TGeoVolume("S07S", shNomexSupportSt4, kMedNomex);
TGeoVolume* voCarbonSupportSt4 = new TGeoVolume("S07K", shCarbonSupportSt4, kMedCarbon);
TGeoVolume* voNomexSupportSt4Ch8 = new TGeoVolume("S08S", shNomexSupportSt4, kMedNomex);
TGeoVolume* voCarbonSupportSt4Ch8 = new TGeoVolume("S08K", shCarbonSupportSt4, kMedCarbon);
TGeoTranslation* trCarbon1St4 = new TGeoTranslation("trCarbon1St4",0.,0., -(nomexthickness+carbonthickness)/2.);
TGeoTranslation* trCarbon2St4 = new TGeoTranslation("trCarbon2St4",0.,0., (nomexthickness+carbonthickness)/2.);
voNomexSupportSt4->AddNode(voCarbonSupportSt4,1,trCarbon1St4);
voNomexSupportSt4->AddNode(voCarbonSupportSt4,2,trCarbon2St4);
voNomexSupportSt4Ch8->AddNode(voCarbonSupportSt4Ch8,1,trCarbon1St4);
voNomexSupportSt4Ch8->AddNode(voCarbonSupportSt4Ch8,2,trCarbon2St4);
TVirtualMC::GetMC()->Gsvolu("S07L","BOX",kCableMaterial,dum,0);
TVirtualMC::GetMC()->Gsvolu("S08L","BOX",kCableMaterial,dum,0);
ySlat41 = 0.;
ySlat42 = 0.;
Float_t lCableX = 0.;
Float_t lCableY = 0.;
Float_t lCableY8 = 0.;
Float_t lCableZ = 0.;
Float_t cablepar[3] = {static_cast<Float_t>(supporthlength/2.), static_cast<Float_t>(kCableHeight/2.), static_cast<Float_t>(kCableWidth/2.)};
Float_t lCableDY = 0.;
Float_t lCableDY8 = 0.;
for (i = 0; i<kNslats4; i++){
Int_t iCable = 1;
Int_t cIndex = 0;
Int_t cIndex8 = 0;
ySlat41 += kYpos41[i];
ySlat42 += kYpos42[i];
lCableY = ySlat41;
lCableY8 = ySlat42;
if(kNPCB4[i]>=4 && i<kNslats4-2){
cablepar[0] = (supporthlength-kXpos4[i])/2.;
lCableX = kXpos4[i]/2.;
lCableDY = (kYpos41[i+1]+kYpos41[i+2])/2.-cablepar[1];
lCableDY8 = (kYpos42[i+1]+kYpos42[i+2])/2.-cablepar[1];
lCableZ = TMath::Power(-1,i)*(nomexthickness/2.+carbonthickness+(-1+iCable++)*kCableWidth+kCableWidth/2.);
TVirtualMC::GetMC()->Gsposp("S07L",10*i+cIndex++,"S07S",lCableX,lCableY+lCableDY,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S07L",10*i+cIndex++,"S07S",lCableX,-(lCableY+lCableDY),lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S08L",10*i+cIndex8++,"S08S",lCableX,lCableY8+lCableDY8,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S08L",10*i+cIndex8++,"S08S",lCableX,-(lCableY8+lCableDY8),lCableZ,0,"ONLY",cablepar,3);
if (i>0){
if (i==1) {
cablepar[0] = (supporthlength-kXpos4[i]-dMotherInner)/2.;
lCableX = (kXpos4[i]+dMotherInner)/2.;
lCableDY = (kYpos41[i]+kYpos41[i])/2.-cablepar[1];
lCableDY8 = (kYpos42[i]+kYpos42[i])/2.-cablepar[1];
}
if (i>=2) {
lCableDY = (kYpos41[i]+kYpos41[i-1])/2.-cablepar[1];
if ((lCableY-lCableDY)<(dMotherInner+cablepar[1])){
lCableDY = lCableY - dMotherInner - cablepar[1];
}
lCableDY8 = (kYpos42[i]+kYpos42[i-1])/2.-cablepar[1];
if ((lCableY8-lCableDY8)<(dMotherInner+cablepar[1])){
lCableDY8 = lCableY8 - dMotherInner - cablepar[1];
}
}
TVirtualMC::GetMC()->Gsposp("S07L",10*i+cIndex++,"S07S",lCableX,lCableY-lCableDY,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S07L",10*i+cIndex++,"S07S",lCableX,-(lCableY-lCableDY),lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S08L",10*i+cIndex8++,"S08S",lCableX,lCableY8-lCableDY8,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S08L",10*i+cIndex8++,"S08S",lCableX,-(lCableY8-lCableDY8),lCableZ,0,"ONLY",cablepar,3);
}
}
if(i==1){
cablepar[0] = (supporthlength-kPcbLength-kVframeLength)/2.;
lCableX = (kPcbLength+kVframeLength)/2.;
lCableDY = (kYpos41[i+1]+kYpos41[i+2])/2.-cablepar[1];
lCableDY8 = (kYpos42[i+1]+kYpos42[i+2])/2.-cablepar[1];
lCableZ = TMath::Power(-1,i)*(nomexthickness/2.+carbonthickness+(-1+iCable++)*kCableWidth+kCableWidth/2.);
TVirtualMC::GetMC()->Gsposp("S07L",10*i+cIndex++,"S07S",lCableX,lCableY+lCableDY,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S07L",10*i+cIndex++,"S07S",lCableX,-(lCableY+lCableDY),lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S08L",10*i+cIndex8++,"S08S",lCableX,lCableY8+lCableDY8,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S08L",10*i+cIndex8++,"S08S",lCableX,-(lCableY8+lCableDY8),lCableZ,0,"ONLY",cablepar,3);
}
cablepar[0] = (supporthlength-(slatLength4[i]+kXpos4[i]+kDslatLength)+kVframeLength)/2.;
lCableX = slatLength4[i]+kXpos4[i]-kVframeLength+kDslatLength+cablepar[0]-supporthlength/2.;
if(i+1>=kNslats4 || i+2>=kNslats4){
lCableDY = kPcbHeight/2.+cablepar[1];
lCableDY8 = lCableDY;
}
else {
lCableDY = (kYpos41[i+1]+kYpos41[i+2])/2.-cablepar[1];
lCableDY8 = (kYpos42[i+1]+kYpos42[i+2])/2.-cablepar[1];
}
lCableZ = TMath::Power(-1,i)*(nomexthickness/2.+carbonthickness+(-1+iCable++)*kCableWidth+kCableWidth/2.);
TVirtualMC::GetMC()->Gsposp("S07L",10*i+cIndex++,"S07S",lCableX,lCableY+lCableDY,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S07L",10*i+cIndex++,"S07S",lCableX,-(lCableY+lCableDY),lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S08L",10*i+cIndex8++,"S08S",lCableX,lCableY8+lCableDY8,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S08L",10*i+cIndex8++,"S08S",lCableX,-(lCableY8+lCableDY8),lCableZ,0,"ONLY",cablepar,3);
if(i>0){
if (i==1) {
lCableDY = (kYpos41[i]+kYpos41[i])/2.-cablepar[1];
lCableDY8 = (kYpos42[i]+kYpos42[i])/2.-cablepar[1];
}
else{
lCableDY = (kYpos41[i]+kYpos41[i-1])/2.-cablepar[1];
if ((lCableY-lCableDY)<(dMotherInner+cablepar[1])){
lCableDY = lCableY - dMotherInner - cablepar[1];
}
lCableDY8 = (kYpos42[i]+kYpos42[i-1])/2.-cablepar[1];
if ((lCableY8-lCableDY8)<(dMotherInner+cablepar[1])){
lCableDY8 = lCableY8 - dMotherInner - cablepar[1];
}
}
TVirtualMC::GetMC()->Gsposp("S07L",10*i+cIndex++,"S07S",lCableX,lCableY-lCableDY,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S07L",10*i+cIndex++,"S07S",lCableX,-(lCableY-lCableDY),lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S08L",10*i+cIndex8++,"S08S",lCableX,lCableY8-lCableDY8,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S08L",10*i+cIndex8++,"S08S",lCableX,-(lCableY8-lCableDY8),lCableZ,0,"ONLY",cablepar,3);
}
}
Float_t dzCh7 = dzCh;
TGeoTranslation* trSupport1St4 = new TGeoTranslation("trSupport1St4", supporthlength/2., 0. , dzCh7);
TGeoRotation* roSupportSt4 = new TGeoRotation("roSupportSt4",90.,180.,-90.);
TGeoCombiTrans* coSupport2St4 = new TGeoCombiTrans(-supporthlength/2., 0., -dzCh7, roSupportSt4);
GetEnvelopes(9)->AddEnvelope("S07S", 0, 1, *trSupport1St4);
GetEnvelopes(8)->AddEnvelope("S07S", 0, 2, *coSupport2St4);
GetEnvelopes(11)->AddEnvelope("S08S", 0, 1, *trSupport1St4);
GetEnvelopes(10)->AddEnvelope("S08S", 0, 2, *coSupport2St4);
}
if (fStations[4]) {
const Int_t kNslats5 = 7;
const Int_t kNPCB5[kNslats5] = {5, 6, 6, 6, 5, 4, 3};
const Float_t kXpos5[kNslats5] = {38.75, 0., 0., 0., 0., 0., 0.};
const Float_t kYpos5[kNslats5] = {0., 38.2, 37.9, 37.6, 37.3, 37.05, 36.75};
Float_t slatLength5[kNslats5];
Float_t rPhi1 = TMath::RadToDeg()*(TMath::ASin((kYpos5[1]-hFramepar[1])/(AliMUONConstants::Rmin(4))));
Float_t rPhi2 = TMath::RadToDeg()*(TMath::ACos(-vFramepar[0]/(AliMUONConstants::Rmin(4)-kRframeLength)));
Float_t rFramepar5[5] = { AliMUONConstants::Rmin(4)-kRframeLength, AliMUONConstants::Rmin(4), kRframeWidth, rPhi1, rPhi2};
Float_t vrFrameHeight = hFramepar[1]+kYpos5[1]-AliMUONConstants::Rmin(4)+kRframeLength;
char idSlatCh9[6];
char idSlatCh10[6];
Float_t xSlat5;
Float_t ySlat5 = 0;
angle = 0.;
for (i = 0; i < kNslats5; i++){
slatLength5[i] = kPcbLength * kNPCB5[i] + 2.* kVframeLength;
xSlat5 = slatLength5[i]/2. + kDslatLength + kXpos5[i];
ySlat5 += kYpos5[i];
spar[0] = slatLength5[i]/2.;
spar[1] = kSlatHeight/2.;
spar[2] = kSlatWidth/2.;
Float_t dzCh5 = dzCh;
Float_t zSlat5 = (i%2 ==0)? -zSlat : zSlat;
sprintf(idSlatCh9,"SLE%d",kNslats5-1+i);
detElemId = 913 - (i + kNslats5-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0) {
if (detElemId == 912)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh9, detElemId, true, TGeoTranslation(xSlat5, ySlat5, -zSlat5 + dzCh5),
TGeoRotation("rot1",90,180+angle,90,90+angle,180,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh9, detElemId, true, TGeoTranslation(xSlat5, ySlat5, -zSlat5 + dzCh5),
TGeoRotation("rot1",90,angle,90,90+angle,0,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh9, detElemId, true, TGeoTranslation(xSlat5, ySlat5, -zSlat5 + dzCh5),
TGeoRotation("rot1",90,angle,90,270+angle,180,0) );
sprintf(idSlatCh9,"SLE%d",3*kNslats5-2+i);
detElemId = 900 + (i + kNslats5-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 1) {
if (detElemId == 901)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh9, detElemId, true, TGeoTranslation(-xSlat5, ySlat5, zSlat5 - dzCh5),
TGeoRotation("rot2",90,angle,90,90+angle,0,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh9, detElemId, true, TGeoTranslation(-xSlat5, ySlat5, zSlat5 - dzCh5),
TGeoRotation("rot2",90,180+angle,90,90+angle,180,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh9, detElemId, true, TGeoTranslation(-xSlat5, ySlat5, zSlat5 - dzCh5),
TGeoRotation("rot2",90,180+angle,90,270+angle,0,0) );
if (i > 0) {
sprintf(idSlatCh9,"SLE%d",kNslats5-1-i);
detElemId = 913 + (i + kNslats5-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0) {
if (detElemId == 914)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh9, detElemId, true, TGeoTranslation(xSlat5, -ySlat5, -zSlat5 + dzCh5),
TGeoRotation("rot3",90,180+angle,90,270+angle,0,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh9, detElemId, true, TGeoTranslation(xSlat5, -ySlat5, -zSlat5 + dzCh5),
TGeoRotation("rot3",90,angle,90,90+angle,0,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh9, detElemId, true, TGeoTranslation(xSlat5, -ySlat5, -zSlat5 + dzCh5),
TGeoRotation("rot3",90,angle,90,270+angle,180,0) );
sprintf(idSlatCh9,"SLE%d",3*kNslats5-2-i);
detElemId = 926 - (i + kNslats5-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 1) {
if (detElemId == 925)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh9, detElemId, true, TGeoTranslation(-xSlat5, -ySlat5, zSlat5 - dzCh5),
TGeoRotation("rot4",90,angle,90,270+angle,180,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh9, detElemId, true, TGeoTranslation(-xSlat5, -ySlat5, zSlat5 - dzCh5),
TGeoRotation("rot4",90,180+angle,90,90+angle,180,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh9, detElemId, true, TGeoTranslation(-xSlat5, -ySlat5, zSlat5 - dzCh5),
TGeoRotation("rot4",90,180+angle,90,270+angle,0,0) );
}
sprintf(idSlatCh10,"SLF%d",kNslats5-1+i);
detElemId = 1013 - (i + kNslats5-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0) {
if (detElemId == 1012)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh10, detElemId, true, TGeoTranslation(xSlat5, ySlat5, -zSlat5 + dzCh5),
TGeoRotation("rot5",90,180+angle,90,90+angle,180,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh10, detElemId, true, TGeoTranslation(xSlat5, ySlat5, -zSlat5 + dzCh5),
TGeoRotation("rot5",90,angle,90,90+angle,0,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh10, detElemId, true, TGeoTranslation(xSlat5, ySlat5, -zSlat5 + dzCh5),
TGeoRotation("rot5",90,angle,90,270+angle,180,0) );
sprintf(idSlatCh10,"SLF%d",3*kNslats5-2+i);
detElemId = 1000 + (i + kNslats5-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 1) {
if (detElemId == 1001)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh10, detElemId, true, TGeoTranslation(-xSlat5, ySlat5, zSlat5 - dzCh5),
TGeoRotation("rot6",90,angle,90,90+angle,0,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh10, detElemId, true, TGeoTranslation(-xSlat5, ySlat5, zSlat5 - dzCh5),
TGeoRotation("rot6",90,180+angle,90,90+angle,180,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh10, detElemId, true, TGeoTranslation(-xSlat5, ySlat5, zSlat5 - dzCh5),
TGeoRotation("rot6",90,180+angle,90,270+angle,0,0) );
if (i > 0) {
sprintf(idSlatCh10,"SLF%d",kNslats5-1-i);
detElemId = 1013 + (i + kNslats5-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0) {
if (detElemId == 1014)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh10, detElemId, true, TGeoTranslation(xSlat5, -ySlat5, -zSlat5 + dzCh5),
TGeoRotation("rot7",90,180+angle,90,270+angle,0,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh10, detElemId, true, TGeoTranslation(xSlat5, -ySlat5, -zSlat5 + dzCh5),
TGeoRotation("rot7",90,angle,90,90+angle,0,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh10, detElemId, true, TGeoTranslation(xSlat5, -ySlat5, -zSlat5 + dzCh5),
TGeoRotation("rot7",90,angle,90,270+angle,180,0) );
sprintf(idSlatCh10,"SLF%d",3*kNslats5-2-i);
detElemId = 1026 - (i + kNslats5-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 1) {
if (detElemId == 1025)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh10, detElemId, true, TGeoTranslation(-xSlat5, -ySlat5, zSlat5 - dzCh5),
TGeoRotation("rot8",90,angle,90,270+angle,180,0) );
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh10, detElemId, true, TGeoTranslation(-xSlat5, -ySlat5, zSlat5 - dzCh5),
TGeoRotation("rot8",90,180+angle,90,90+angle,180,0) );
}
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh10, detElemId, true, TGeoTranslation(-xSlat5, -ySlat5, zSlat5 - dzCh5),
TGeoRotation("rot8",90,180+angle,90,270+angle,0,0) );
}
}
TVirtualMC::GetMC()->Gsvolu("S09C","BOX",kCarbonMaterial,panelpar,3);
TVirtualMC::GetMC()->Gsvolu("SD9C","BOX",kCarbonMaterial,panelpar,3);
TVirtualMC::GetMC()->Gsvolu("S10C","BOX",kCarbonMaterial,panelpar,3);
TVirtualMC::GetMC()->Gsvolu("SD0C","BOX",kCarbonMaterial,panelpar,3);
TVirtualMC::GetMC()->Gsvolu("S09N","BOX",kNomexMaterial,nomexpar,3);
TVirtualMC::GetMC()->Gsvolu("SD9N","BOX",kNomexMaterial,nomexpar,3);
TVirtualMC::GetMC()->Gsvolu("S10N","BOX",kNomexMaterial,nomexpar,3);
TVirtualMC::GetMC()->Gsvolu("SD0N","BOX",kNomexMaterial,nomexpar,3);
TVirtualMC::GetMC()->Gsvolu("S09X","BOX",kNomexBMaterial,nomexbpar,3);
TVirtualMC::GetMC()->Gsvolu("SD9X","BOX",kNomexBMaterial,nomexbpar,3);
TVirtualMC::GetMC()->Gsvolu("S10X","BOX",kNomexBMaterial,nomexbpar,3);
TVirtualMC::GetMC()->Gsvolu("SD0X","BOX",kNomexBMaterial,nomexbpar,3);
TVirtualMC::GetMC()->Gsvolu("S09I","BOX",kInsuMaterial,insupar,3);
TVirtualMC::GetMC()->Gsvolu("SD9I","BOX",kInsuMaterial,insupar,3);
TVirtualMC::GetMC()->Gsvolu("S10I","BOX",kInsuMaterial,insupar,3);
TVirtualMC::GetMC()->Gsvolu("SD0I","BOX",kInsuMaterial,insupar,3);
TVirtualMC::GetMC()->Gsvolu("S09P","BOX",kPcbMaterial,pcbpar,3);
TVirtualMC::GetMC()->Gsvolu("SD9P","BOX",kPcbMaterial,pcbpar,3);
TVirtualMC::GetMC()->Gsvolu("S10P","BOX",kPcbMaterial,pcbpar,3);
TVirtualMC::GetMC()->Gsvolu("SD0P","BOX",kPcbMaterial,pcbpar,3);
TVirtualMC::GetMC()->Gsvolu("S09G","BOX",kSensMaterial,dum,0);
TVirtualMC::GetMC()->Gsvolu("SD9G","BOX",kSensMaterial,senspar,3);
TVirtualMC::GetMC()->Gsvolu("S10G","BOX",kSensMaterial,dum,0);
TVirtualMC::GetMC()->Gsvolu("SD0G","BOX",kSensMaterial,senspar,3);
TVirtualMC::GetMC()->Gsvolu("S09V","BOX",kVframeMaterial,vFramepar,3);
TVirtualMC::GetMC()->Gsvolu("S10V","BOX",kVframeMaterial,vFramepar,3);
TVirtualMC::GetMC()->Gsvolu("SD9D","TUBS",kRframeMaterial,rFramepar5,5);
TVirtualMC::GetMC()->Gsvolu("SD0D","TUBS",kRframeMaterial,rFramepar5,5);
TVirtualMC::GetMC()->Gsvolu("S09H","BOX",kHframeMaterial,hFramepar,3);
TVirtualMC::GetMC()->Gsvolu("SD9H","BOX",kHframeMaterial,hFramepar,3);
TVirtualMC::GetMC()->Gsvolu("S10H","BOX",kHframeMaterial,hFramepar,3);
TVirtualMC::GetMC()->Gsvolu("SD0H","BOX",kHframeMaterial,hFramepar,3);
TVirtualMC::GetMC()->Gsvolu("S09B","BOX",kBframeMaterial,bFramepar,3);
TVirtualMC::GetMC()->Gsvolu("SD9B","BOX",kBframeMaterial,bFramepar,3);
TVirtualMC::GetMC()->Gsvolu("S10B","BOX",kBframeMaterial,bFramepar,3);
TVirtualMC::GetMC()->Gsvolu("SD0B","BOX",kBframeMaterial,bFramepar,3);
if ( TVirtualMC::GetMC()->IsRootGeometrySupported() ) {
Int_t nSlatType = 1;
Int_t nVol = 8;
const char* slatType = "D";
const char* volLetter = "CNXIPHBG";
TString volName;
TString compName;
TString csName;
TGeoVolume *mVol = 0x0;
new TGeoTube("tube5Cut", 0., AliMUONConstants::Rmin(4), kSlatWidth/2.+0.001);
TObjArray rounded5Slat(nSlatType*((nVol+1)*2));
TGeoTranslation* trDTube5 = new TGeoTranslation("trDTube5", -(kPcbLength+kVframeLength)/2., -kYpos5[1], 0.);
trDTube5->RegisterYourself();
TGeoTranslation* trDBTube5 = new TGeoTranslation("trDBTube5", 0., ( kPcbHeight - kBframeHeight ) / 2., 0.);
trDBTube5->Add(trDTube5);
trDBTube5->RegisterYourself();
TObjArray composite5(nSlatType*((nVol+1)*2));
new TGeoBBox("box5DCut",(kPcbLength+kVframeLength)/2., hFramepar[1], vFramepar[2]+0.001);
TGeoTranslation* trDBox5 = new TGeoTranslation("trDBox5",kPcbLength/2., kYpos5[1], 0.);
trDBox5->RegisterYourself();
TGeoBBox *box5Vframe = new TGeoBBox("box5Vframe",vFramepar[0],vrFrameHeight/2., vFramepar[2]);
TGeoTranslation* trVBox5 = new TGeoTranslation("trVBox5", 0., AliMUONConstants::Rmin(4)-kRframeLength + box5Vframe->GetDY(), 0.);
trVBox5->RegisterYourself();
for(int iCh=9; iCh<=10; iCh++){
for (int iSlatType = 0; iSlatType<nSlatType; iSlatType++) {
for (int iVol = 0; iVol<nVol; iVol++){
Int_t lIndex = (iCh-9)*(nSlatType*(nVol+1))+iSlatType*(nVol+1)+iVol;
volName=Form("S%c%d%c",slatType[iSlatType],iCh%10,volLetter[iVol]);
mVol = gGeoManager->FindVolumeFast(volName);
if ( !mVol ) {
AliErrorStream()
<< "Slat volume " << volName << " not found" << endl;
}
else {
rounded5Slat[lIndex] = mVol->GetShape();
csName=Form("rounded5Slat%c%d%c",slatType[iSlatType],iCh%10,volLetter[iVol]);
((TGeoShape*)rounded5Slat[lIndex])->SetName(csName);
TString compOperation(csName);
compOperation+="-tube5Cut:tr";
compOperation+=slatType[iSlatType];
if (strstr(volName,"B")){
compOperation+="B";
}
compOperation+="Tube5";
compName=Form("composite5%c%d%c",slatType[iSlatType],iCh,volLetter[iVol]);
composite5[lIndex] = new TGeoCompositeShape(compName, compOperation.Data());
mVol->SetShape((TGeoShape*)composite5[lIndex]);
}
}
Int_t lIndex = (iCh-9)*(nSlatType*(nVol+1))+iSlatType*(nVol+1)+nVol;
volName=Form("S%c%dD",slatType[iSlatType],iCh%10);
mVol = gGeoManager->FindVolumeFast(volName);
if ( !mVol ) {
AliErrorStream()
<< "Slat volume " << volName << " not found" << endl;
}
else {
rounded5Slat[lIndex] = mVol->GetShape();
csName=Form("rounded5Slat%c%dD",slatType[iSlatType],iCh%10);
((TGeoShape*)rounded5Slat[lIndex])->SetName(csName);
TString compOperation(csName);
if (strstr(volName,"SD")){
compOperation.Prepend("(");
compOperation+="+box5Vframe:trVBox5)*box5DCut:trDBox5";
}
compName=Form("composite5%c%dD",slatType[iSlatType],iCh%10);
composite5[lIndex] = new TGeoCompositeShape(compName, compOperation.Data());
mVol->SetShape((TGeoShape*)composite5[lIndex]);
}
}
}
}
index = 0;
for (i = 0; i < kNslats5; i++){
for (Int_t quadrant = 1; quadrant <= 4; quadrant++) {
if (i == 0 && quadrant == 2) continue;
if (i == 0 && quadrant == 4) continue;
sprintf(idSlatCh9,"SLE%d",ConvertSlatNum(i,quadrant,kNslats5-1));
sprintf(idSlatCh10,"SLF%d",ConvertSlatNum(i,quadrant,kNslats5-1));
Int_t moduleSlatCh9 = GetModuleId(idSlatCh9);
Int_t moduleSlatCh10 = GetModuleId(idSlatCh10);
Float_t xvFrame = (slatLength5[i] - kVframeLength)/2.;
if (i != 1) {
GetEnvelopes(moduleSlatCh9)->AddEnvelopeConstituent("S09V", idSlatCh9, (2*i+1)*10+quadrant,TGeoTranslation(xvFrame,0.,0.));
GetEnvelopes(moduleSlatCh9)->AddEnvelopeConstituent("S09V", idSlatCh9, (2*i)*10+quadrant,TGeoTranslation(-xvFrame,0.,0.));
GetEnvelopes(moduleSlatCh10)->AddEnvelopeConstituent("S10V", idSlatCh10, (2*i+1)*10+quadrant,TGeoTranslation(xvFrame,0.,0.));
GetEnvelopes(moduleSlatCh10)->AddEnvelopeConstituent("S10V", idSlatCh10, (2*i)*10+quadrant,TGeoTranslation(-xvFrame,0.,0.));
} else {
GetEnvelopes(moduleSlatCh9)->AddEnvelopeConstituent("S09V", idSlatCh9, (2*i+1)*10+quadrant,TGeoTranslation(-xvFrame,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh9)->AddEnvelopeConstituent("SD9D", idSlatCh9, (2*i)*10+quadrant,TGeoTranslation(xvFrame,-kYpos5[1],0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh10)->AddEnvelopeConstituent("S10V", idSlatCh10, (2*i+1)*10+quadrant,TGeoTranslation(-xvFrame,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh10)->AddEnvelopeConstituent("SD0D", idSlatCh10, (2*i)*10+quadrant,TGeoTranslation(xvFrame,-kYpos5[1],0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
}
for (j = 0; j < kNPCB5[i]; j++){
index++;
xx = kSensLength * (-kNPCB5[i]/2.+j+.5);
Float_t zPanel = spar[2] - nomexbpar[2];
if (i==1) {
if (j==0) {
GetEnvelopes(moduleSlatCh9)->AddEnvelopeConstituent("SD9X", idSlatCh9, 2*index-1,TGeoTranslation(-xx,0.,zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh9)->AddEnvelopeConstituent("SD9X", idSlatCh9, 2*index,TGeoTranslation(-xx,0.,-zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh9)->AddEnvelopeConstituent("SD9I", idSlatCh9, index,TGeoTranslation(-xx,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh10)->AddEnvelopeConstituent("SD0X", idSlatCh10, 2*index-1,TGeoTranslation(-xx,0.,zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh10)->AddEnvelopeConstituent("SD0X", idSlatCh10, 2*index,TGeoTranslation(-xx,0.,-zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh10)->AddEnvelopeConstituent("SD0I", idSlatCh10, index,TGeoTranslation(-xx,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
} else {
GetEnvelopes(moduleSlatCh9)->AddEnvelopeConstituent("S09X", idSlatCh9, 2*index-1,TGeoTranslation(-xx,0.,zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh9)->AddEnvelopeConstituent("S09X", idSlatCh9, 2*index,TGeoTranslation(-xx,0.,-zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh9)->AddEnvelopeConstituent("S09I", idSlatCh9, index,TGeoTranslation(-xx,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh10)->AddEnvelopeConstituent("S10X", idSlatCh10, 2*index-1,TGeoTranslation(-xx,0.,zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh10)->AddEnvelopeConstituent("S10X", idSlatCh10, 2*index,TGeoTranslation(-xx,0.,-zPanel),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
GetEnvelopes(moduleSlatCh10)->AddEnvelopeConstituent("S10I", idSlatCh10, index,TGeoTranslation(-xx,0.,0.),TGeoRotation("rotAbX",90,180+angle,90,90+angle,180,0));
}
} else {
GetEnvelopes(moduleSlatCh9)->AddEnvelopeConstituent("S09X", idSlatCh9, 2*index-1,TGeoTranslation(xx,0.,zPanel));
GetEnvelopes(moduleSlatCh9)->AddEnvelopeConstituent("S09X", idSlatCh9, 2*index,TGeoTranslation(xx,0.,-zPanel));
GetEnvelopes(moduleSlatCh9)->AddEnvelopeConstituent("S09I", idSlatCh9, index,TGeoTranslation(xx,0.,0.));
GetEnvelopes(moduleSlatCh10)->AddEnvelopeConstituent("S10X", idSlatCh10, 2*index-1,TGeoTranslation(xx,0.,zPanel));
GetEnvelopes(moduleSlatCh10)->AddEnvelopeConstituent("S10X", idSlatCh10, 2*index,TGeoTranslation(xx,0.,-zPanel));
GetEnvelopes(moduleSlatCh10)->AddEnvelopeConstituent("S10I", idSlatCh10, index,TGeoTranslation(xx,0.,0.));
}
}
}
}
TVirtualMC::GetMC()->Gspos("S09N",1,"S09C",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD9N",1,"SD9C",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S10N",1,"S10C",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD0N",1,"SD0C",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S09C",1,"S09X",0.,0.,kNomexBWidth/2.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD9C",1,"SD9X",0.,0.,kNomexBWidth/2.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S10C",1,"S10X",0.,0.,kNomexBWidth/2.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD0C",1,"SD0X",0.,0.,kNomexBWidth/2.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S09P",1,"S09I",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD9P",1,"SD9I",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S10P",1,"S10I",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD0P",1,"SD0I",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S09H",1,"S09P",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD9H",1,"SD9P",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S10H",1,"S10P",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD0H",1,"SD0P",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gsposp("S09G",1,"S09H",0.,0.,0.,0,"ONLY",senspar,3);
TVirtualMC::GetMC()->Gspos("SD9G",1,"SD9H",0.,0.,0.,0,"ONLY");
TVirtualMC::GetMC()->Gsposp("S10G",1,"S10H",0.,0.,0.,0,"ONLY",senspar,3);
TVirtualMC::GetMC()->Gspos("SD0G",1,"SD0H",0.,0.,0.,0,"ONLY");
Float_t yborder = ( kPcbHeight - kBframeHeight ) / 2.;
TVirtualMC::GetMC()->Gspos("S09B",1,"S09P",0., yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S09B",2,"S09P",0.,-yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S09B",1,"SD9P",0., yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD9B",1,"SD9P",0.,-yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S10B",1,"S10P",0., yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S10B",2,"S10P",0.,-yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("S10B",1,"SD0P",0., yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gspos("SD0B",1,"SD0P",0.,-yborder,0.,0,"ONLY");
TVirtualMC::GetMC()->Gsvolu("S09E","BOX",kNulocMaterial,nulocpar,3);
TVirtualMC::GetMC()->Gsvolu("S10E","BOX",kNulocMaterial,nulocpar,3);
index = 0;
Float_t rPhi3 = TMath::ASin((kYpos5[1]-kPcbHeight/2.)/AliMUONConstants::Rmin(4));
Float_t xxmax4 = (AliMUONConstants::Rmin(4)*TMath::Cos(rPhi3)-kVframeLength/2.) - (kBframeLength - kNulocLength)/2.;
for (xx = -xxmax; xx <= xxmax; xx += 2*kNulocLength) {
index++;
TVirtualMC::GetMC()->Gspos("S09E",2*index-1,"S09B", xx, 0.,-kBframeWidth/2. + kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S09E",2*index ,"S09B", xx, 0., kBframeWidth/2. - kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S10E",2*index-1,"S10B", xx, 0.,-kBframeWidth/2. + kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S10E",2*index ,"S10B", xx, 0., kBframeWidth/2. - kNulocWidth/2, 0, "ONLY");
}
if (xx > xxmax4 && xx< xxmax) {
TVirtualMC::GetMC()->Gspos("S09E",2*index-1,"SD9B", xx, 0.,-kBframeWidth/2.+ kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S09E",2*index ,"SD9B", xx, 0., kBframeWidth/2.- kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S10E",2*index-1,"SD0B", xx, 0.,-kBframeWidth/2.+ kNulocWidth/2, 0, "ONLY");
TVirtualMC::GetMC()->Gspos("S10E",2*index ,"SD0B", xx, 0., kBframeWidth/2.- kNulocWidth/2, 0, "ONLY");
}
Float_t dMotherInner = AliMUONConstants::Rmin(4)-kRframeHeight;
Float_t nomexthickness = 1.5;
Float_t carbonthickness = 0.03;
Float_t supporthlength = 260.;
Float_t supportvlength = 570.;
new TGeoBBox("shNomexBoxSt5",supporthlength/2., supportvlength/2. ,nomexthickness/2.+carbonthickness+3*kCableWidth);
new TGeoBBox("shCarbonBoxSt5",supporthlength/2., supportvlength/2. ,carbonthickness/2.);
new TGeoTubeSeg("shNomexHoleSt5",0., dMotherInner, nomexthickness/2.+carbonthickness+3*kCableWidth+0.001, -90. ,90.);
new TGeoTubeSeg("shCarbonHoleSt5",0., dMotherInner, carbonthickness/2.+0.001, -90. ,90.);
TGeoTranslation* trHoleSt5 = new TGeoTranslation("trHoleSt5",-supporthlength/2.,0.,0.);
trHoleSt5->RegisterYourself();
TGeoCompositeShape* shNomexSupportSt5 = new TGeoCompositeShape("shNomexSupportSt5","shNomexBoxSt5-shNomexHoleSt5:trHoleSt5");
TGeoCompositeShape* shCarbonSupportSt5 = new TGeoCompositeShape("shCarbonSupportSt5","shCarbonBoxSt5-shCarbonHoleSt5:trHoleSt5");
TGeoVolume* voNomexSupportSt5 = new TGeoVolume("S09S", shNomexSupportSt5, kMedNomex);
TGeoVolume* voCarbonSupportSt5 = new TGeoVolume("S09K", shCarbonSupportSt5, kMedCarbon);
TGeoTranslation* trCarbon1St5 = new TGeoTranslation("trCarbon1St5",0.,0., -(nomexthickness+carbonthickness)/2.);
TGeoTranslation* trCarbon2St5 = new TGeoTranslation("trCarbon2St5",0.,0., (nomexthickness+carbonthickness)/2.);
voNomexSupportSt5->AddNode(voCarbonSupportSt5,1,trCarbon1St5);
voNomexSupportSt5->AddNode(voCarbonSupportSt5,2,trCarbon2St5);
TVirtualMC::GetMC()->Gsvolu("S09L","BOX",kCableMaterial,dum,0);
ySlat5 = 0.;
Float_t lCableX = 0.;
Float_t lCableY = 0.;
Float_t lCableZ = 0.;
Float_t cablepar[3] = {static_cast<Float_t>(supporthlength/2.), static_cast<Float_t>(kCableHeight/2.), static_cast<Float_t>(kCableWidth/2.)};
Float_t lCableDY = 0.;
for (i = 0; i<kNslats5; i++){
Int_t iCable = 1;
Int_t cIndex = 0;
ySlat5 += kYpos5[i];
lCableY = ySlat5;
if(kNPCB5[i]>=4){
cablepar[0] = (supporthlength-kXpos5[i])/2.;
lCableX = kXpos5[i]/2.;
if(i+1>=kNslats5 || i+2>=kNslats5){
lCableDY = (kYpos5[i]+kYpos5[i-1])/2.-cablepar[1];
}
else {
lCableDY = (kYpos5[i+1]+kYpos5[i+2])/2.-cablepar[1];
}
lCableZ = TMath::Power(-1,i)*(nomexthickness/2.+carbonthickness+(-1+iCable++)*kCableWidth+kCableWidth/2.);
TVirtualMC::GetMC()->Gsposp("S09L",10*i+cIndex++,"S09S",lCableX,lCableY+lCableDY,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S09L",10*i+cIndex++,"S09S",lCableX,-(lCableY+lCableDY),lCableZ,0,"ONLY",cablepar,3);
if (i>0) {
if (i==1) {
cablepar[0] = (supporthlength-kXpos5[i]-dMotherInner)/2.;
lCableX = (kXpos5[i]+dMotherInner)/2.;
lCableDY = (kYpos5[i]+kYpos5[i])/2.-cablepar[1];
}
else {
lCableDY = (kYpos5[i]+kYpos5[i-1])/2.-cablepar[1];
if ((lCableY-lCableDY)<(dMotherInner+cablepar[1])){
lCableDY = lCableY - dMotherInner - cablepar[1];
}
}
TVirtualMC::GetMC()->Gsposp("S09L",10*i+cIndex++,"S09S",lCableX,lCableY-lCableDY,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S09L",10*i+cIndex++,"S09S",lCableX,-(lCableY-lCableDY),lCableZ,0,"ONLY",cablepar,3);
}
}
if(i==1){
cablepar[0] = (supporthlength-kPcbLength-kVframeLength)/2.;
lCableX = (kPcbLength+kVframeLength)/2.;
lCableDY = (kYpos5[i+1]+kYpos5[i+2])/2.-cablepar[1];
lCableZ = TMath::Power(-1,i)*(nomexthickness/2.+carbonthickness+(-1+iCable++)*kCableWidth+kCableWidth/2.);
TVirtualMC::GetMC()->Gsposp("S09L",10*i+cIndex++,"S09S",lCableX,lCableY+lCableDY,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S09L",10*i+cIndex++,"S09S",lCableX,-(lCableY+lCableDY),lCableZ,0,"ONLY",cablepar,3);
}
cablepar[0] = (supporthlength-(slatLength5[i]+kXpos5[i]+kDslatLength)+kVframeLength)/2.;
lCableX = slatLength5[i]+kXpos5[i]-kVframeLength+kDslatLength+cablepar[0]-supporthlength/2.;
if(i+1>=kNslats5 || i+2>=kNslats5){
lCableDY = (kYpos5[i]+kYpos5[i-1])/2.-cablepar[1];
}
else {
lCableDY = (kYpos5[i+1]+kYpos5[i+2])/2.-cablepar[1];
}
lCableZ = TMath::Power(-1,i)*(nomexthickness/2.+carbonthickness+(-1+iCable++)*kCableWidth+kCableWidth/2.);
TVirtualMC::GetMC()->Gsposp("S09L",10*i+cIndex++,"S09S",lCableX,lCableY+lCableDY,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S09L",10*i+cIndex++,"S09S",lCableX,-(lCableY+lCableDY),lCableZ,0,"ONLY",cablepar,3);
if(i>0){
if (i==1) {
lCableDY = (kYpos5[i]+kYpos5[i])/2.-cablepar[1];
}
else {
lCableDY = (kYpos5[i]+kYpos5[i-1])/2.-cablepar[1];
if ((lCableY-lCableDY)<(dMotherInner+cablepar[1])){
lCableDY = lCableY - dMotherInner - cablepar[1];
}
}
TVirtualMC::GetMC()->Gsposp("S09L",10*i+cIndex++,"S09S",lCableX,lCableY-lCableDY,lCableZ,0,"ONLY",cablepar,3);
TVirtualMC::GetMC()->Gsposp("S09L",10*i+cIndex++,"S09S",lCableX,-(lCableY-lCableDY),lCableZ,0,"ONLY",cablepar,3);
}
}
Float_t dzCh9 = dzCh;
TGeoTranslation* trSupport1St5 = new TGeoTranslation("trSupport1St5", supporthlength/2., 0. , dzCh9);
TGeoRotation* roSupportSt5 = new TGeoRotation("roSupportSt5",90.,180.,-90.);
TGeoCombiTrans* coSupport2St5 = new TGeoCombiTrans(-supporthlength/2., 0., -dzCh9, roSupportSt5);
GetEnvelopes(13)->AddEnvelope("S09S", 0, 1, *trSupport1St5);
GetEnvelopes(12)->AddEnvelope("S09S", 0, 2, *coSupport2St5);
GetEnvelopes(15)->AddEnvelope("S09S", 0, 3, *trSupport1St5);
GetEnvelopes(14)->AddEnvelope("S09S", 0, 4, *coSupport2St5);
}
delete [] fStations;
}
void AliMUONSlatGeometryBuilder::SetVolumes()
{
if (gAlice->GetModule("DIPO")) {
SetMotherVolume(4, "DDIP");
SetMotherVolume(5, "DDIP");
SetMotherVolume(6, "DDIP");
SetMotherVolume(7, "DDIP");
}
SetVolume(4, "SC05I", true);
SetVolume(5, "SC05O", true);
SetVolume(6, "SC06I", true);
SetVolume(7, "SC06O", true);
if (gAlice->GetModule("SHIL")) {
SetMotherVolume(8, "YOUT2");
SetMotherVolume(9, "YOUT2");
SetMotherVolume(10, "YOUT2");
SetMotherVolume(11, "YOUT2");
SetMotherVolume(12, "YOUT2");
SetMotherVolume(13, "YOUT2");
SetMotherVolume(14, "YOUT2");
SetMotherVolume(15, "YOUT2");
}
SetVolume( 8, "SC07I", true);
SetVolume( 9, "SC07O", true);
SetVolume(10, "SC08I", true);
SetVolume(11, "SC08O", true);
SetVolume(12, "SC09I", true);
SetVolume(13, "SC09O", true);
SetVolume(14, "SC10I", true);
SetVolume(15, "SC10O", true);
}
void AliMUONSlatGeometryBuilder::SetTransformations()
{
TGeoRotation st345inclination("rot99");
st345inclination.RotateX(AliMUONConstants::St345Inclination());
Double_t deltaY = (AliMUONConstants::DzCh()+AliMUONConstants::DzSlat())*
TMath::Sin(AliMUONConstants::St345Inclination() * TMath::Pi()/180.);
Double_t deltaZ = (AliMUONConstants::DzCh()+AliMUONConstants::DzSlat())*
(1.-TMath::Cos(AliMUONConstants::St345Inclination() * TMath::Pi()/180.));
Double_t zpos1= - AliMUONConstants::DefaultChamberZ(4);
SetTransformation(4, TGeoTranslation(0., -deltaY, -deltaZ+zpos1), st345inclination);
SetTransformation(5, TGeoTranslation(0., deltaY, deltaZ+zpos1), st345inclination);
zpos1= - AliMUONConstants::DefaultChamberZ(5);
SetTransformation(6, TGeoTranslation(0., -deltaY, -deltaZ+zpos1), st345inclination);
SetTransformation(7, TGeoTranslation(0., deltaY, deltaZ+zpos1), st345inclination);
zpos1 = - AliMUONConstants::DefaultChamberZ(6);
SetTransformation(8, TGeoTranslation(0., -deltaY, -deltaZ+zpos1), st345inclination);
SetTransformation(9, TGeoTranslation(0., deltaY, deltaZ+zpos1), st345inclination);
zpos1 = - AliMUONConstants::DefaultChamberZ(7);
SetTransformation(10, TGeoTranslation(0., -deltaY, -deltaZ+zpos1), st345inclination );
SetTransformation(11, TGeoTranslation(0., deltaY, deltaZ+zpos1), st345inclination );
zpos1 = - AliMUONConstants::DefaultChamberZ(8);
SetTransformation(12, TGeoTranslation(0., -deltaY, -deltaZ+zpos1), st345inclination);
SetTransformation(13, TGeoTranslation(0., deltaY, deltaZ+zpos1), st345inclination);
zpos1 = - AliMUONConstants::DefaultChamberZ(9);
SetTransformation(14, TGeoTranslation(0., -deltaY, -deltaZ+zpos1), st345inclination);
SetTransformation(15, TGeoTranslation(0., deltaY, deltaZ+zpos1), st345inclination);
}
void AliMUONSlatGeometryBuilder::SetSensitiveVolumes()
{
GetGeometry( 4)->SetSensitiveVolume("S05G");
GetGeometry( 4)->SetSensitiveVolume("SC5G");
GetGeometry( 4)->SetSensitiveVolume("SD5G");
GetGeometry( 5)->SetSensitiveVolume("S05G");
GetGeometry( 5)->SetSensitiveVolume("SC5G");
GetGeometry( 5)->SetSensitiveVolume("SD5G");
GetGeometry( 6)->SetSensitiveVolume("S06G");
GetGeometry( 6)->SetSensitiveVolume("SC6G");
GetGeometry( 6)->SetSensitiveVolume("SD6G");
GetGeometry( 7)->SetSensitiveVolume("S06G");
GetGeometry( 7)->SetSensitiveVolume("SC6G");
GetGeometry( 7)->SetSensitiveVolume("SD6G");
GetGeometry( 8)->SetSensitiveVolume("S07G");
GetGeometry( 8)->SetSensitiveVolume("SD7G");
GetGeometry( 9)->SetSensitiveVolume("S07G");
GetGeometry( 9)->SetSensitiveVolume("SD7G");
GetGeometry(10)->SetSensitiveVolume("S08G");
GetGeometry(10)->SetSensitiveVolume("SD8G");
GetGeometry(11)->SetSensitiveVolume("S08G");
GetGeometry(11)->SetSensitiveVolume("SD8G");
GetGeometry(12)->SetSensitiveVolume("S09G");
GetGeometry(12)->SetSensitiveVolume("SD9G");
GetGeometry(13)->SetSensitiveVolume("S09G");
GetGeometry(13)->SetSensitiveVolume("SD9G");
GetGeometry(14)->SetSensitiveVolume("S10G");
GetGeometry(14)->SetSensitiveVolume("SD0G");
GetGeometry(15)->SetSensitiveVolume("S10G");
GetGeometry(15)->SetSensitiveVolume("SD0G");
}
Int_t AliMUONSlatGeometryBuilder::ConvertSlatNum(Int_t numslat, Int_t quadnum, Int_t fspq) const
{
numslat += 1;
if (quadnum==2 || quadnum==3)
numslat += fspq;
else
numslat = fspq + 2-numslat;
numslat -= 1;
if (quadnum==3 || quadnum==4) numslat += 2*fspq+1;
return numslat;
}
AliMUONSlatGeometryBuilder.cxx:1 AliMUONSlatGeometryBuilder.cxx:2 AliMUONSlatGeometryBuilder.cxx:3 AliMUONSlatGeometryBuilder.cxx:4 AliMUONSlatGeometryBuilder.cxx:5 AliMUONSlatGeometryBuilder.cxx:6 AliMUONSlatGeometryBuilder.cxx:7 AliMUONSlatGeometryBuilder.cxx:8 AliMUONSlatGeometryBuilder.cxx:9 AliMUONSlatGeometryBuilder.cxx:10 AliMUONSlatGeometryBuilder.cxx:11 AliMUONSlatGeometryBuilder.cxx:12 AliMUONSlatGeometryBuilder.cxx:13 AliMUONSlatGeometryBuilder.cxx:14 AliMUONSlatGeometryBuilder.cxx:15 AliMUONSlatGeometryBuilder.cxx:16 AliMUONSlatGeometryBuilder.cxx:17 AliMUONSlatGeometryBuilder.cxx:18 AliMUONSlatGeometryBuilder.cxx:19 AliMUONSlatGeometryBuilder.cxx:20 AliMUONSlatGeometryBuilder.cxx:21 AliMUONSlatGeometryBuilder.cxx:22 AliMUONSlatGeometryBuilder.cxx:23 AliMUONSlatGeometryBuilder.cxx:24 AliMUONSlatGeometryBuilder.cxx:25 AliMUONSlatGeometryBuilder.cxx:26 AliMUONSlatGeometryBuilder.cxx:27 AliMUONSlatGeometryBuilder.cxx:28 AliMUONSlatGeometryBuilder.cxx:29 AliMUONSlatGeometryBuilder.cxx:30 AliMUONSlatGeometryBuilder.cxx:31 AliMUONSlatGeometryBuilder.cxx:32 AliMUONSlatGeometryBuilder.cxx:33 AliMUONSlatGeometryBuilder.cxx:34 AliMUONSlatGeometryBuilder.cxx:35 AliMUONSlatGeometryBuilder.cxx:36 AliMUONSlatGeometryBuilder.cxx:37 AliMUONSlatGeometryBuilder.cxx:38 AliMUONSlatGeometryBuilder.cxx:39 AliMUONSlatGeometryBuilder.cxx:40 AliMUONSlatGeometryBuilder.cxx:41 AliMUONSlatGeometryBuilder.cxx:42 AliMUONSlatGeometryBuilder.cxx:43 AliMUONSlatGeometryBuilder.cxx:44 AliMUONSlatGeometryBuilder.cxx:45 AliMUONSlatGeometryBuilder.cxx:46 AliMUONSlatGeometryBuilder.cxx:47 AliMUONSlatGeometryBuilder.cxx:48 AliMUONSlatGeometryBuilder.cxx:49 AliMUONSlatGeometryBuilder.cxx:50 AliMUONSlatGeometryBuilder.cxx:51 AliMUONSlatGeometryBuilder.cxx:52 AliMUONSlatGeometryBuilder.cxx:53 AliMUONSlatGeometryBuilder.cxx:54 AliMUONSlatGeometryBuilder.cxx:55 AliMUONSlatGeometryBuilder.cxx:56 AliMUONSlatGeometryBuilder.cxx:57 AliMUONSlatGeometryBuilder.cxx:58 AliMUONSlatGeometryBuilder.cxx:59 AliMUONSlatGeometryBuilder.cxx:60 AliMUONSlatGeometryBuilder.cxx:61 AliMUONSlatGeometryBuilder.cxx:62 AliMUONSlatGeometryBuilder.cxx:63 AliMUONSlatGeometryBuilder.cxx:64 AliMUONSlatGeometryBuilder.cxx:65 AliMUONSlatGeometryBuilder.cxx:66 AliMUONSlatGeometryBuilder.cxx:67 AliMUONSlatGeometryBuilder.cxx:68 AliMUONSlatGeometryBuilder.cxx:69 AliMUONSlatGeometryBuilder.cxx:70 AliMUONSlatGeometryBuilder.cxx:71 AliMUONSlatGeometryBuilder.cxx:72 AliMUONSlatGeometryBuilder.cxx:73 AliMUONSlatGeometryBuilder.cxx:74 AliMUONSlatGeometryBuilder.cxx:75 AliMUONSlatGeometryBuilder.cxx:76 AliMUONSlatGeometryBuilder.cxx:77 AliMUONSlatGeometryBuilder.cxx:78 AliMUONSlatGeometryBuilder.cxx:79 AliMUONSlatGeometryBuilder.cxx:80 AliMUONSlatGeometryBuilder.cxx:81 AliMUONSlatGeometryBuilder.cxx:82 AliMUONSlatGeometryBuilder.cxx:83 AliMUONSlatGeometryBuilder.cxx:84 AliMUONSlatGeometryBuilder.cxx:85 AliMUONSlatGeometryBuilder.cxx:86 AliMUONSlatGeometryBuilder.cxx:87 AliMUONSlatGeometryBuilder.cxx:88 AliMUONSlatGeometryBuilder.cxx:89 AliMUONSlatGeometryBuilder.cxx:90 AliMUONSlatGeometryBuilder.cxx:91 AliMUONSlatGeometryBuilder.cxx:92 AliMUONSlatGeometryBuilder.cxx:93 AliMUONSlatGeometryBuilder.cxx:94 AliMUONSlatGeometryBuilder.cxx:95 AliMUONSlatGeometryBuilder.cxx:96 AliMUONSlatGeometryBuilder.cxx:97 AliMUONSlatGeometryBuilder.cxx:98 AliMUONSlatGeometryBuilder.cxx:99 AliMUONSlatGeometryBuilder.cxx:100 AliMUONSlatGeometryBuilder.cxx:101 AliMUONSlatGeometryBuilder.cxx:102 AliMUONSlatGeometryBuilder.cxx:103 AliMUONSlatGeometryBuilder.cxx:104 AliMUONSlatGeometryBuilder.cxx:105 AliMUONSlatGeometryBuilder.cxx:106 AliMUONSlatGeometryBuilder.cxx:107 AliMUONSlatGeometryBuilder.cxx:108 AliMUONSlatGeometryBuilder.cxx:109 AliMUONSlatGeometryBuilder.cxx:110 AliMUONSlatGeometryBuilder.cxx:111 AliMUONSlatGeometryBuilder.cxx:112 AliMUONSlatGeometryBuilder.cxx:113 AliMUONSlatGeometryBuilder.cxx:114 AliMUONSlatGeometryBuilder.cxx:115 AliMUONSlatGeometryBuilder.cxx:116 AliMUONSlatGeometryBuilder.cxx:117 AliMUONSlatGeometryBuilder.cxx:118 AliMUONSlatGeometryBuilder.cxx:119 AliMUONSlatGeometryBuilder.cxx:120 AliMUONSlatGeometryBuilder.cxx:121 AliMUONSlatGeometryBuilder.cxx:122 AliMUONSlatGeometryBuilder.cxx:123 AliMUONSlatGeometryBuilder.cxx:124 AliMUONSlatGeometryBuilder.cxx:125 AliMUONSlatGeometryBuilder.cxx:126 AliMUONSlatGeometryBuilder.cxx:127 AliMUONSlatGeometryBuilder.cxx:128 AliMUONSlatGeometryBuilder.cxx:129 AliMUONSlatGeometryBuilder.cxx:130 AliMUONSlatGeometryBuilder.cxx:131 AliMUONSlatGeometryBuilder.cxx:132 AliMUONSlatGeometryBuilder.cxx:133 AliMUONSlatGeometryBuilder.cxx:134 AliMUONSlatGeometryBuilder.cxx:135 AliMUONSlatGeometryBuilder.cxx:136 AliMUONSlatGeometryBuilder.cxx:137 AliMUONSlatGeometryBuilder.cxx:138 AliMUONSlatGeometryBuilder.cxx:139 AliMUONSlatGeometryBuilder.cxx:140 AliMUONSlatGeometryBuilder.cxx:141 AliMUONSlatGeometryBuilder.cxx:142 AliMUONSlatGeometryBuilder.cxx:143 AliMUONSlatGeometryBuilder.cxx:144 AliMUONSlatGeometryBuilder.cxx:145 AliMUONSlatGeometryBuilder.cxx:146 AliMUONSlatGeometryBuilder.cxx:147 AliMUONSlatGeometryBuilder.cxx:148 AliMUONSlatGeometryBuilder.cxx:149 AliMUONSlatGeometryBuilder.cxx:150 AliMUONSlatGeometryBuilder.cxx:151 AliMUONSlatGeometryBuilder.cxx:152 AliMUONSlatGeometryBuilder.cxx:153 AliMUONSlatGeometryBuilder.cxx:154 AliMUONSlatGeometryBuilder.cxx:155 AliMUONSlatGeometryBuilder.cxx:156 AliMUONSlatGeometryBuilder.cxx:157 AliMUONSlatGeometryBuilder.cxx:158 AliMUONSlatGeometryBuilder.cxx:159 AliMUONSlatGeometryBuilder.cxx:160 AliMUONSlatGeometryBuilder.cxx:161 AliMUONSlatGeometryBuilder.cxx:162 AliMUONSlatGeometryBuilder.cxx:163 AliMUONSlatGeometryBuilder.cxx:164 AliMUONSlatGeometryBuilder.cxx:165 AliMUONSlatGeometryBuilder.cxx:166 AliMUONSlatGeometryBuilder.cxx:167 AliMUONSlatGeometryBuilder.cxx:168 AliMUONSlatGeometryBuilder.cxx:169 AliMUONSlatGeometryBuilder.cxx:170 AliMUONSlatGeometryBuilder.cxx:171 AliMUONSlatGeometryBuilder.cxx:172 AliMUONSlatGeometryBuilder.cxx:173 AliMUONSlatGeometryBuilder.cxx:174 AliMUONSlatGeometryBuilder.cxx:175 AliMUONSlatGeometryBuilder.cxx:176 AliMUONSlatGeometryBuilder.cxx:177 AliMUONSlatGeometryBuilder.cxx:178 AliMUONSlatGeometryBuilder.cxx:179 AliMUONSlatGeometryBuilder.cxx:180 AliMUONSlatGeometryBuilder.cxx:181 AliMUONSlatGeometryBuilder.cxx:182 AliMUONSlatGeometryBuilder.cxx:183 AliMUONSlatGeometryBuilder.cxx:184 AliMUONSlatGeometryBuilder.cxx:185 AliMUONSlatGeometryBuilder.cxx:186 AliMUONSlatGeometryBuilder.cxx:187 AliMUONSlatGeometryBuilder.cxx:188 AliMUONSlatGeometryBuilder.cxx:189 AliMUONSlatGeometryBuilder.cxx:190 AliMUONSlatGeometryBuilder.cxx:191 AliMUONSlatGeometryBuilder.cxx:192 AliMUONSlatGeometryBuilder.cxx:193 AliMUONSlatGeometryBuilder.cxx:194 AliMUONSlatGeometryBuilder.cxx:195 AliMUONSlatGeometryBuilder.cxx:196 AliMUONSlatGeometryBuilder.cxx:197 AliMUONSlatGeometryBuilder.cxx:198 AliMUONSlatGeometryBuilder.cxx:199 AliMUONSlatGeometryBuilder.cxx:200 AliMUONSlatGeometryBuilder.cxx:201 AliMUONSlatGeometryBuilder.cxx:202 AliMUONSlatGeometryBuilder.cxx:203 AliMUONSlatGeometryBuilder.cxx:204 AliMUONSlatGeometryBuilder.cxx:205 AliMUONSlatGeometryBuilder.cxx:206 AliMUONSlatGeometryBuilder.cxx:207 AliMUONSlatGeometryBuilder.cxx:208 AliMUONSlatGeometryBuilder.cxx:209 AliMUONSlatGeometryBuilder.cxx:210 AliMUONSlatGeometryBuilder.cxx:211 AliMUONSlatGeometryBuilder.cxx:212 AliMUONSlatGeometryBuilder.cxx:213 AliMUONSlatGeometryBuilder.cxx:214 AliMUONSlatGeometryBuilder.cxx:215 AliMUONSlatGeometryBuilder.cxx:216 AliMUONSlatGeometryBuilder.cxx:217 AliMUONSlatGeometryBuilder.cxx:218 AliMUONSlatGeometryBuilder.cxx:219 AliMUONSlatGeometryBuilder.cxx:220 AliMUONSlatGeometryBuilder.cxx:221 AliMUONSlatGeometryBuilder.cxx:222 AliMUONSlatGeometryBuilder.cxx:223 AliMUONSlatGeometryBuilder.cxx:224 AliMUONSlatGeometryBuilder.cxx:225 AliMUONSlatGeometryBuilder.cxx:226 AliMUONSlatGeometryBuilder.cxx:227 AliMUONSlatGeometryBuilder.cxx:228 AliMUONSlatGeometryBuilder.cxx:229 AliMUONSlatGeometryBuilder.cxx:230 AliMUONSlatGeometryBuilder.cxx:231 AliMUONSlatGeometryBuilder.cxx:232 AliMUONSlatGeometryBuilder.cxx:233 AliMUONSlatGeometryBuilder.cxx:234 AliMUONSlatGeometryBuilder.cxx:235 AliMUONSlatGeometryBuilder.cxx:236 AliMUONSlatGeometryBuilder.cxx:237 AliMUONSlatGeometryBuilder.cxx:238 AliMUONSlatGeometryBuilder.cxx:239 AliMUONSlatGeometryBuilder.cxx:240 AliMUONSlatGeometryBuilder.cxx:241 AliMUONSlatGeometryBuilder.cxx:242 AliMUONSlatGeometryBuilder.cxx:243 AliMUONSlatGeometryBuilder.cxx:244 AliMUONSlatGeometryBuilder.cxx:245 AliMUONSlatGeometryBuilder.cxx:246 AliMUONSlatGeometryBuilder.cxx:247 AliMUONSlatGeometryBuilder.cxx:248 AliMUONSlatGeometryBuilder.cxx:249 AliMUONSlatGeometryBuilder.cxx:250 AliMUONSlatGeometryBuilder.cxx:251 AliMUONSlatGeometryBuilder.cxx:252 AliMUONSlatGeometryBuilder.cxx:253 AliMUONSlatGeometryBuilder.cxx:254 AliMUONSlatGeometryBuilder.cxx:255 AliMUONSlatGeometryBuilder.cxx:256 AliMUONSlatGeometryBuilder.cxx:257 AliMUONSlatGeometryBuilder.cxx:258 AliMUONSlatGeometryBuilder.cxx:259 AliMUONSlatGeometryBuilder.cxx:260 AliMUONSlatGeometryBuilder.cxx:261 AliMUONSlatGeometryBuilder.cxx:262 AliMUONSlatGeometryBuilder.cxx:263 AliMUONSlatGeometryBuilder.cxx:264 AliMUONSlatGeometryBuilder.cxx:265 AliMUONSlatGeometryBuilder.cxx:266 AliMUONSlatGeometryBuilder.cxx:267 AliMUONSlatGeometryBuilder.cxx:268 AliMUONSlatGeometryBuilder.cxx:269 AliMUONSlatGeometryBuilder.cxx:270 AliMUONSlatGeometryBuilder.cxx:271 AliMUONSlatGeometryBuilder.cxx:272 AliMUONSlatGeometryBuilder.cxx:273 AliMUONSlatGeometryBuilder.cxx:274 AliMUONSlatGeometryBuilder.cxx:275 AliMUONSlatGeometryBuilder.cxx:276 AliMUONSlatGeometryBuilder.cxx:277 AliMUONSlatGeometryBuilder.cxx:278 AliMUONSlatGeometryBuilder.cxx:279 AliMUONSlatGeometryBuilder.cxx:280 AliMUONSlatGeometryBuilder.cxx:281 AliMUONSlatGeometryBuilder.cxx:282 AliMUONSlatGeometryBuilder.cxx:283 AliMUONSlatGeometryBuilder.cxx:284 AliMUONSlatGeometryBuilder.cxx:285 AliMUONSlatGeometryBuilder.cxx:286 AliMUONSlatGeometryBuilder.cxx:287 AliMUONSlatGeometryBuilder.cxx:288 AliMUONSlatGeometryBuilder.cxx:289 AliMUONSlatGeometryBuilder.cxx:290 AliMUONSlatGeometryBuilder.cxx:291 AliMUONSlatGeometryBuilder.cxx:292 AliMUONSlatGeometryBuilder.cxx:293 AliMUONSlatGeometryBuilder.cxx:294 AliMUONSlatGeometryBuilder.cxx:295 AliMUONSlatGeometryBuilder.cxx:296 AliMUONSlatGeometryBuilder.cxx:297 AliMUONSlatGeometryBuilder.cxx:298 AliMUONSlatGeometryBuilder.cxx:299 AliMUONSlatGeometryBuilder.cxx:300 AliMUONSlatGeometryBuilder.cxx:301 AliMUONSlatGeometryBuilder.cxx:302 AliMUONSlatGeometryBuilder.cxx:303 AliMUONSlatGeometryBuilder.cxx:304 AliMUONSlatGeometryBuilder.cxx:305 AliMUONSlatGeometryBuilder.cxx:306 AliMUONSlatGeometryBuilder.cxx:307 AliMUONSlatGeometryBuilder.cxx:308 AliMUONSlatGeometryBuilder.cxx:309 AliMUONSlatGeometryBuilder.cxx:310 AliMUONSlatGeometryBuilder.cxx:311 AliMUONSlatGeometryBuilder.cxx:312 AliMUONSlatGeometryBuilder.cxx:313 AliMUONSlatGeometryBuilder.cxx:314 AliMUONSlatGeometryBuilder.cxx:315 AliMUONSlatGeometryBuilder.cxx:316 AliMUONSlatGeometryBuilder.cxx:317 AliMUONSlatGeometryBuilder.cxx:318 AliMUONSlatGeometryBuilder.cxx:319 AliMUONSlatGeometryBuilder.cxx:320 AliMUONSlatGeometryBuilder.cxx:321 AliMUONSlatGeometryBuilder.cxx:322 AliMUONSlatGeometryBuilder.cxx:323 AliMUONSlatGeometryBuilder.cxx:324 AliMUONSlatGeometryBuilder.cxx:325 AliMUONSlatGeometryBuilder.cxx:326 AliMUONSlatGeometryBuilder.cxx:327 AliMUONSlatGeometryBuilder.cxx:328 AliMUONSlatGeometryBuilder.cxx:329 AliMUONSlatGeometryBuilder.cxx:330 AliMUONSlatGeometryBuilder.cxx:331 AliMUONSlatGeometryBuilder.cxx:332 AliMUONSlatGeometryBuilder.cxx:333 AliMUONSlatGeometryBuilder.cxx:334 AliMUONSlatGeometryBuilder.cxx:335 AliMUONSlatGeometryBuilder.cxx:336 AliMUONSlatGeometryBuilder.cxx:337 AliMUONSlatGeometryBuilder.cxx:338 AliMUONSlatGeometryBuilder.cxx:339 AliMUONSlatGeometryBuilder.cxx:340 AliMUONSlatGeometryBuilder.cxx:341 AliMUONSlatGeometryBuilder.cxx:342 AliMUONSlatGeometryBuilder.cxx:343 AliMUONSlatGeometryBuilder.cxx:344 AliMUONSlatGeometryBuilder.cxx:345 AliMUONSlatGeometryBuilder.cxx:346 AliMUONSlatGeometryBuilder.cxx:347 AliMUONSlatGeometryBuilder.cxx:348 AliMUONSlatGeometryBuilder.cxx:349 AliMUONSlatGeometryBuilder.cxx:350 AliMUONSlatGeometryBuilder.cxx:351 AliMUONSlatGeometryBuilder.cxx:352 AliMUONSlatGeometryBuilder.cxx:353 AliMUONSlatGeometryBuilder.cxx:354 AliMUONSlatGeometryBuilder.cxx:355 AliMUONSlatGeometryBuilder.cxx:356 AliMUONSlatGeometryBuilder.cxx:357 AliMUONSlatGeometryBuilder.cxx:358 AliMUONSlatGeometryBuilder.cxx:359 AliMUONSlatGeometryBuilder.cxx:360 AliMUONSlatGeometryBuilder.cxx:361 AliMUONSlatGeometryBuilder.cxx:362 AliMUONSlatGeometryBuilder.cxx:363 AliMUONSlatGeometryBuilder.cxx:364 AliMUONSlatGeometryBuilder.cxx:365 AliMUONSlatGeometryBuilder.cxx:366 AliMUONSlatGeometryBuilder.cxx:367 AliMUONSlatGeometryBuilder.cxx:368 AliMUONSlatGeometryBuilder.cxx:369 AliMUONSlatGeometryBuilder.cxx:370 AliMUONSlatGeometryBuilder.cxx:371 AliMUONSlatGeometryBuilder.cxx:372 AliMUONSlatGeometryBuilder.cxx:373 AliMUONSlatGeometryBuilder.cxx:374 AliMUONSlatGeometryBuilder.cxx:375 AliMUONSlatGeometryBuilder.cxx:376 AliMUONSlatGeometryBuilder.cxx:377 AliMUONSlatGeometryBuilder.cxx:378 AliMUONSlatGeometryBuilder.cxx:379 AliMUONSlatGeometryBuilder.cxx:380 AliMUONSlatGeometryBuilder.cxx:381 AliMUONSlatGeometryBuilder.cxx:382 AliMUONSlatGeometryBuilder.cxx:383 AliMUONSlatGeometryBuilder.cxx:384 AliMUONSlatGeometryBuilder.cxx:385 AliMUONSlatGeometryBuilder.cxx:386 AliMUONSlatGeometryBuilder.cxx:387 AliMUONSlatGeometryBuilder.cxx:388 AliMUONSlatGeometryBuilder.cxx:389 AliMUONSlatGeometryBuilder.cxx:390 AliMUONSlatGeometryBuilder.cxx:391 AliMUONSlatGeometryBuilder.cxx:392 AliMUONSlatGeometryBuilder.cxx:393 AliMUONSlatGeometryBuilder.cxx:394 AliMUONSlatGeometryBuilder.cxx:395 AliMUONSlatGeometryBuilder.cxx:396 AliMUONSlatGeometryBuilder.cxx:397 AliMUONSlatGeometryBuilder.cxx:398 AliMUONSlatGeometryBuilder.cxx:399 AliMUONSlatGeometryBuilder.cxx:400 AliMUONSlatGeometryBuilder.cxx:401 AliMUONSlatGeometryBuilder.cxx:402 AliMUONSlatGeometryBuilder.cxx:403 AliMUONSlatGeometryBuilder.cxx:404 AliMUONSlatGeometryBuilder.cxx:405 AliMUONSlatGeometryBuilder.cxx:406 AliMUONSlatGeometryBuilder.cxx:407 AliMUONSlatGeometryBuilder.cxx:408 AliMUONSlatGeometryBuilder.cxx:409 AliMUONSlatGeometryBuilder.cxx:410 AliMUONSlatGeometryBuilder.cxx:411 AliMUONSlatGeometryBuilder.cxx:412 AliMUONSlatGeometryBuilder.cxx:413 AliMUONSlatGeometryBuilder.cxx:414 AliMUONSlatGeometryBuilder.cxx:415 AliMUONSlatGeometryBuilder.cxx:416 AliMUONSlatGeometryBuilder.cxx:417 AliMUONSlatGeometryBuilder.cxx:418 AliMUONSlatGeometryBuilder.cxx:419 AliMUONSlatGeometryBuilder.cxx:420 AliMUONSlatGeometryBuilder.cxx:421 AliMUONSlatGeometryBuilder.cxx:422 AliMUONSlatGeometryBuilder.cxx:423 AliMUONSlatGeometryBuilder.cxx:424 AliMUONSlatGeometryBuilder.cxx:425 AliMUONSlatGeometryBuilder.cxx:426 AliMUONSlatGeometryBuilder.cxx:427 AliMUONSlatGeometryBuilder.cxx:428 AliMUONSlatGeometryBuilder.cxx:429 AliMUONSlatGeometryBuilder.cxx:430 AliMUONSlatGeometryBuilder.cxx:431 AliMUONSlatGeometryBuilder.cxx:432 AliMUONSlatGeometryBuilder.cxx:433 AliMUONSlatGeometryBuilder.cxx:434 AliMUONSlatGeometryBuilder.cxx:435 AliMUONSlatGeometryBuilder.cxx:436 AliMUONSlatGeometryBuilder.cxx:437 AliMUONSlatGeometryBuilder.cxx:438 AliMUONSlatGeometryBuilder.cxx:439 AliMUONSlatGeometryBuilder.cxx:440 AliMUONSlatGeometryBuilder.cxx:441 AliMUONSlatGeometryBuilder.cxx:442 AliMUONSlatGeometryBuilder.cxx:443 AliMUONSlatGeometryBuilder.cxx:444 AliMUONSlatGeometryBuilder.cxx:445 AliMUONSlatGeometryBuilder.cxx:446 AliMUONSlatGeometryBuilder.cxx:447 AliMUONSlatGeometryBuilder.cxx:448 AliMUONSlatGeometryBuilder.cxx:449 AliMUONSlatGeometryBuilder.cxx:450 AliMUONSlatGeometryBuilder.cxx:451 AliMUONSlatGeometryBuilder.cxx:452 AliMUONSlatGeometryBuilder.cxx:453 AliMUONSlatGeometryBuilder.cxx:454 AliMUONSlatGeometryBuilder.cxx:455 AliMUONSlatGeometryBuilder.cxx:456 AliMUONSlatGeometryBuilder.cxx:457 AliMUONSlatGeometryBuilder.cxx:458 AliMUONSlatGeometryBuilder.cxx:459 AliMUONSlatGeometryBuilder.cxx:460 AliMUONSlatGeometryBuilder.cxx:461 AliMUONSlatGeometryBuilder.cxx:462 AliMUONSlatGeometryBuilder.cxx:463 AliMUONSlatGeometryBuilder.cxx:464 AliMUONSlatGeometryBuilder.cxx:465 AliMUONSlatGeometryBuilder.cxx:466 AliMUONSlatGeometryBuilder.cxx:467 AliMUONSlatGeometryBuilder.cxx:468 AliMUONSlatGeometryBuilder.cxx:469 AliMUONSlatGeometryBuilder.cxx:470 AliMUONSlatGeometryBuilder.cxx:471 AliMUONSlatGeometryBuilder.cxx:472 AliMUONSlatGeometryBuilder.cxx:473 AliMUONSlatGeometryBuilder.cxx:474 AliMUONSlatGeometryBuilder.cxx:475 AliMUONSlatGeometryBuilder.cxx:476 AliMUONSlatGeometryBuilder.cxx:477 AliMUONSlatGeometryBuilder.cxx:478 AliMUONSlatGeometryBuilder.cxx:479 AliMUONSlatGeometryBuilder.cxx:480 AliMUONSlatGeometryBuilder.cxx:481 AliMUONSlatGeometryBuilder.cxx:482 AliMUONSlatGeometryBuilder.cxx:483 AliMUONSlatGeometryBuilder.cxx:484 AliMUONSlatGeometryBuilder.cxx:485 AliMUONSlatGeometryBuilder.cxx:486 AliMUONSlatGeometryBuilder.cxx:487 AliMUONSlatGeometryBuilder.cxx:488 AliMUONSlatGeometryBuilder.cxx:489 AliMUONSlatGeometryBuilder.cxx:490 AliMUONSlatGeometryBuilder.cxx:491 AliMUONSlatGeometryBuilder.cxx:492 AliMUONSlatGeometryBuilder.cxx:493 AliMUONSlatGeometryBuilder.cxx:494 AliMUONSlatGeometryBuilder.cxx:495 AliMUONSlatGeometryBuilder.cxx:496 AliMUONSlatGeometryBuilder.cxx:497 AliMUONSlatGeometryBuilder.cxx:498 AliMUONSlatGeometryBuilder.cxx:499 AliMUONSlatGeometryBuilder.cxx:500 AliMUONSlatGeometryBuilder.cxx:501 AliMUONSlatGeometryBuilder.cxx:502 AliMUONSlatGeometryBuilder.cxx:503 AliMUONSlatGeometryBuilder.cxx:504 AliMUONSlatGeometryBuilder.cxx:505 AliMUONSlatGeometryBuilder.cxx:506 AliMUONSlatGeometryBuilder.cxx:507 AliMUONSlatGeometryBuilder.cxx:508 AliMUONSlatGeometryBuilder.cxx:509 AliMUONSlatGeometryBuilder.cxx:510 AliMUONSlatGeometryBuilder.cxx:511 AliMUONSlatGeometryBuilder.cxx:512 AliMUONSlatGeometryBuilder.cxx:513 AliMUONSlatGeometryBuilder.cxx:514 AliMUONSlatGeometryBuilder.cxx:515 AliMUONSlatGeometryBuilder.cxx:516 AliMUONSlatGeometryBuilder.cxx:517 AliMUONSlatGeometryBuilder.cxx:518 AliMUONSlatGeometryBuilder.cxx:519 AliMUONSlatGeometryBuilder.cxx:520 AliMUONSlatGeometryBuilder.cxx:521 AliMUONSlatGeometryBuilder.cxx:522 AliMUONSlatGeometryBuilder.cxx:523 AliMUONSlatGeometryBuilder.cxx:524 AliMUONSlatGeometryBuilder.cxx:525 AliMUONSlatGeometryBuilder.cxx:526 AliMUONSlatGeometryBuilder.cxx:527 AliMUONSlatGeometryBuilder.cxx:528 AliMUONSlatGeometryBuilder.cxx:529 AliMUONSlatGeometryBuilder.cxx:530 AliMUONSlatGeometryBuilder.cxx:531 AliMUONSlatGeometryBuilder.cxx:532 AliMUONSlatGeometryBuilder.cxx:533 AliMUONSlatGeometryBuilder.cxx:534 AliMUONSlatGeometryBuilder.cxx:535 AliMUONSlatGeometryBuilder.cxx:536 AliMUONSlatGeometryBuilder.cxx:537 AliMUONSlatGeometryBuilder.cxx:538 AliMUONSlatGeometryBuilder.cxx:539 AliMUONSlatGeometryBuilder.cxx:540 AliMUONSlatGeometryBuilder.cxx:541 AliMUONSlatGeometryBuilder.cxx:542 AliMUONSlatGeometryBuilder.cxx:543 AliMUONSlatGeometryBuilder.cxx:544 AliMUONSlatGeometryBuilder.cxx:545 AliMUONSlatGeometryBuilder.cxx:546 AliMUONSlatGeometryBuilder.cxx:547 AliMUONSlatGeometryBuilder.cxx:548 AliMUONSlatGeometryBuilder.cxx:549 AliMUONSlatGeometryBuilder.cxx:550 AliMUONSlatGeometryBuilder.cxx:551 AliMUONSlatGeometryBuilder.cxx:552 AliMUONSlatGeometryBuilder.cxx:553 AliMUONSlatGeometryBuilder.cxx:554 AliMUONSlatGeometryBuilder.cxx:555 AliMUONSlatGeometryBuilder.cxx:556 AliMUONSlatGeometryBuilder.cxx:557 AliMUONSlatGeometryBuilder.cxx:558 AliMUONSlatGeometryBuilder.cxx:559 AliMUONSlatGeometryBuilder.cxx:560 AliMUONSlatGeometryBuilder.cxx:561 AliMUONSlatGeometryBuilder.cxx:562 AliMUONSlatGeometryBuilder.cxx:563 AliMUONSlatGeometryBuilder.cxx:564 AliMUONSlatGeometryBuilder.cxx:565 AliMUONSlatGeometryBuilder.cxx:566 AliMUONSlatGeometryBuilder.cxx:567 AliMUONSlatGeometryBuilder.cxx:568 AliMUONSlatGeometryBuilder.cxx:569 AliMUONSlatGeometryBuilder.cxx:570 AliMUONSlatGeometryBuilder.cxx:571 AliMUONSlatGeometryBuilder.cxx:572 AliMUONSlatGeometryBuilder.cxx:573 AliMUONSlatGeometryBuilder.cxx:574 AliMUONSlatGeometryBuilder.cxx:575 AliMUONSlatGeometryBuilder.cxx:576 AliMUONSlatGeometryBuilder.cxx:577 AliMUONSlatGeometryBuilder.cxx:578 AliMUONSlatGeometryBuilder.cxx:579 AliMUONSlatGeometryBuilder.cxx:580 AliMUONSlatGeometryBuilder.cxx:581 AliMUONSlatGeometryBuilder.cxx:582 AliMUONSlatGeometryBuilder.cxx:583 AliMUONSlatGeometryBuilder.cxx:584 AliMUONSlatGeometryBuilder.cxx:585 AliMUONSlatGeometryBuilder.cxx:586 AliMUONSlatGeometryBuilder.cxx:587 AliMUONSlatGeometryBuilder.cxx:588 AliMUONSlatGeometryBuilder.cxx:589 AliMUONSlatGeometryBuilder.cxx:590 AliMUONSlatGeometryBuilder.cxx:591 AliMUONSlatGeometryBuilder.cxx:592 AliMUONSlatGeometryBuilder.cxx:593 AliMUONSlatGeometryBuilder.cxx:594 AliMUONSlatGeometryBuilder.cxx:595 AliMUONSlatGeometryBuilder.cxx:596 AliMUONSlatGeometryBuilder.cxx:597 AliMUONSlatGeometryBuilder.cxx:598 AliMUONSlatGeometryBuilder.cxx:599 AliMUONSlatGeometryBuilder.cxx:600 AliMUONSlatGeometryBuilder.cxx:601 AliMUONSlatGeometryBuilder.cxx:602 AliMUONSlatGeometryBuilder.cxx:603 AliMUONSlatGeometryBuilder.cxx:604 AliMUONSlatGeometryBuilder.cxx:605 AliMUONSlatGeometryBuilder.cxx:606 AliMUONSlatGeometryBuilder.cxx:607 AliMUONSlatGeometryBuilder.cxx:608 AliMUONSlatGeometryBuilder.cxx:609 AliMUONSlatGeometryBuilder.cxx:610 AliMUONSlatGeometryBuilder.cxx:611 AliMUONSlatGeometryBuilder.cxx:612 AliMUONSlatGeometryBuilder.cxx:613 AliMUONSlatGeometryBuilder.cxx:614 AliMUONSlatGeometryBuilder.cxx:615 AliMUONSlatGeometryBuilder.cxx:616 AliMUONSlatGeometryBuilder.cxx:617 AliMUONSlatGeometryBuilder.cxx:618 AliMUONSlatGeometryBuilder.cxx:619 AliMUONSlatGeometryBuilder.cxx:620 AliMUONSlatGeometryBuilder.cxx:621 AliMUONSlatGeometryBuilder.cxx:622 AliMUONSlatGeometryBuilder.cxx:623 AliMUONSlatGeometryBuilder.cxx:624 AliMUONSlatGeometryBuilder.cxx:625 AliMUONSlatGeometryBuilder.cxx:626 AliMUONSlatGeometryBuilder.cxx:627 AliMUONSlatGeometryBuilder.cxx:628 AliMUONSlatGeometryBuilder.cxx:629 AliMUONSlatGeometryBuilder.cxx:630 AliMUONSlatGeometryBuilder.cxx:631 AliMUONSlatGeometryBuilder.cxx:632 AliMUONSlatGeometryBuilder.cxx:633 AliMUONSlatGeometryBuilder.cxx:634 AliMUONSlatGeometryBuilder.cxx:635 AliMUONSlatGeometryBuilder.cxx:636 AliMUONSlatGeometryBuilder.cxx:637 AliMUONSlatGeometryBuilder.cxx:638 AliMUONSlatGeometryBuilder.cxx:639 AliMUONSlatGeometryBuilder.cxx:640 AliMUONSlatGeometryBuilder.cxx:641 AliMUONSlatGeometryBuilder.cxx:642 AliMUONSlatGeometryBuilder.cxx:643 AliMUONSlatGeometryBuilder.cxx:644 AliMUONSlatGeometryBuilder.cxx:645 AliMUONSlatGeometryBuilder.cxx:646 AliMUONSlatGeometryBuilder.cxx:647 AliMUONSlatGeometryBuilder.cxx:648 AliMUONSlatGeometryBuilder.cxx:649 AliMUONSlatGeometryBuilder.cxx:650 AliMUONSlatGeometryBuilder.cxx:651 AliMUONSlatGeometryBuilder.cxx:652 AliMUONSlatGeometryBuilder.cxx:653 AliMUONSlatGeometryBuilder.cxx:654 AliMUONSlatGeometryBuilder.cxx:655 AliMUONSlatGeometryBuilder.cxx:656 AliMUONSlatGeometryBuilder.cxx:657 AliMUONSlatGeometryBuilder.cxx:658 AliMUONSlatGeometryBuilder.cxx:659 AliMUONSlatGeometryBuilder.cxx:660 AliMUONSlatGeometryBuilder.cxx:661 AliMUONSlatGeometryBuilder.cxx:662 AliMUONSlatGeometryBuilder.cxx:663 AliMUONSlatGeometryBuilder.cxx:664 AliMUONSlatGeometryBuilder.cxx:665 AliMUONSlatGeometryBuilder.cxx:666 AliMUONSlatGeometryBuilder.cxx:667 AliMUONSlatGeometryBuilder.cxx:668 AliMUONSlatGeometryBuilder.cxx:669 AliMUONSlatGeometryBuilder.cxx:670 AliMUONSlatGeometryBuilder.cxx:671 AliMUONSlatGeometryBuilder.cxx:672 AliMUONSlatGeometryBuilder.cxx:673 AliMUONSlatGeometryBuilder.cxx:674 AliMUONSlatGeometryBuilder.cxx:675 AliMUONSlatGeometryBuilder.cxx:676 AliMUONSlatGeometryBuilder.cxx:677 AliMUONSlatGeometryBuilder.cxx:678 AliMUONSlatGeometryBuilder.cxx:679 AliMUONSlatGeometryBuilder.cxx:680 AliMUONSlatGeometryBuilder.cxx:681 AliMUONSlatGeometryBuilder.cxx:682 AliMUONSlatGeometryBuilder.cxx:683 AliMUONSlatGeometryBuilder.cxx:684 AliMUONSlatGeometryBuilder.cxx:685 AliMUONSlatGeometryBuilder.cxx:686 AliMUONSlatGeometryBuilder.cxx:687 AliMUONSlatGeometryBuilder.cxx:688 AliMUONSlatGeometryBuilder.cxx:689 AliMUONSlatGeometryBuilder.cxx:690 AliMUONSlatGeometryBuilder.cxx:691 AliMUONSlatGeometryBuilder.cxx:692 AliMUONSlatGeometryBuilder.cxx:693 AliMUONSlatGeometryBuilder.cxx:694 AliMUONSlatGeometryBuilder.cxx:695 AliMUONSlatGeometryBuilder.cxx:696 AliMUONSlatGeometryBuilder.cxx:697 AliMUONSlatGeometryBuilder.cxx:698 AliMUONSlatGeometryBuilder.cxx:699 AliMUONSlatGeometryBuilder.cxx:700 AliMUONSlatGeometryBuilder.cxx:701 AliMUONSlatGeometryBuilder.cxx:702 AliMUONSlatGeometryBuilder.cxx:703 AliMUONSlatGeometryBuilder.cxx:704 AliMUONSlatGeometryBuilder.cxx:705 AliMUONSlatGeometryBuilder.cxx:706 AliMUONSlatGeometryBuilder.cxx:707 AliMUONSlatGeometryBuilder.cxx:708 AliMUONSlatGeometryBuilder.cxx:709 AliMUONSlatGeometryBuilder.cxx:710 AliMUONSlatGeometryBuilder.cxx:711 AliMUONSlatGeometryBuilder.cxx:712 AliMUONSlatGeometryBuilder.cxx:713 AliMUONSlatGeometryBuilder.cxx:714 AliMUONSlatGeometryBuilder.cxx:715 AliMUONSlatGeometryBuilder.cxx:716 AliMUONSlatGeometryBuilder.cxx:717 AliMUONSlatGeometryBuilder.cxx:718 AliMUONSlatGeometryBuilder.cxx:719 AliMUONSlatGeometryBuilder.cxx:720 AliMUONSlatGeometryBuilder.cxx:721 AliMUONSlatGeometryBuilder.cxx:722 AliMUONSlatGeometryBuilder.cxx:723 AliMUONSlatGeometryBuilder.cxx:724 AliMUONSlatGeometryBuilder.cxx:725 AliMUONSlatGeometryBuilder.cxx:726 AliMUONSlatGeometryBuilder.cxx:727 AliMUONSlatGeometryBuilder.cxx:728 AliMUONSlatGeometryBuilder.cxx:729 AliMUONSlatGeometryBuilder.cxx:730 AliMUONSlatGeometryBuilder.cxx:731 AliMUONSlatGeometryBuilder.cxx:732 AliMUONSlatGeometryBuilder.cxx:733 AliMUONSlatGeometryBuilder.cxx:734 AliMUONSlatGeometryBuilder.cxx:735 AliMUONSlatGeometryBuilder.cxx:736 AliMUONSlatGeometryBuilder.cxx:737 AliMUONSlatGeometryBuilder.cxx:738 AliMUONSlatGeometryBuilder.cxx:739 AliMUONSlatGeometryBuilder.cxx:740 AliMUONSlatGeometryBuilder.cxx:741 AliMUONSlatGeometryBuilder.cxx:742 AliMUONSlatGeometryBuilder.cxx:743 AliMUONSlatGeometryBuilder.cxx:744 AliMUONSlatGeometryBuilder.cxx:745 AliMUONSlatGeometryBuilder.cxx:746 AliMUONSlatGeometryBuilder.cxx:747 AliMUONSlatGeometryBuilder.cxx:748 AliMUONSlatGeometryBuilder.cxx:749 AliMUONSlatGeometryBuilder.cxx:750 AliMUONSlatGeometryBuilder.cxx:751 AliMUONSlatGeometryBuilder.cxx:752 AliMUONSlatGeometryBuilder.cxx:753 AliMUONSlatGeometryBuilder.cxx:754 AliMUONSlatGeometryBuilder.cxx:755 AliMUONSlatGeometryBuilder.cxx:756 AliMUONSlatGeometryBuilder.cxx:757 AliMUONSlatGeometryBuilder.cxx:758 AliMUONSlatGeometryBuilder.cxx:759 AliMUONSlatGeometryBuilder.cxx:760 AliMUONSlatGeometryBuilder.cxx:761 AliMUONSlatGeometryBuilder.cxx:762 AliMUONSlatGeometryBuilder.cxx:763 AliMUONSlatGeometryBuilder.cxx:764 AliMUONSlatGeometryBuilder.cxx:765 AliMUONSlatGeometryBuilder.cxx:766 AliMUONSlatGeometryBuilder.cxx:767 AliMUONSlatGeometryBuilder.cxx:768 AliMUONSlatGeometryBuilder.cxx:769 AliMUONSlatGeometryBuilder.cxx:770 AliMUONSlatGeometryBuilder.cxx:771 AliMUONSlatGeometryBuilder.cxx:772 AliMUONSlatGeometryBuilder.cxx:773 AliMUONSlatGeometryBuilder.cxx:774 AliMUONSlatGeometryBuilder.cxx:775 AliMUONSlatGeometryBuilder.cxx:776 AliMUONSlatGeometryBuilder.cxx:777 AliMUONSlatGeometryBuilder.cxx:778 AliMUONSlatGeometryBuilder.cxx:779 AliMUONSlatGeometryBuilder.cxx:780 AliMUONSlatGeometryBuilder.cxx:781 AliMUONSlatGeometryBuilder.cxx:782 AliMUONSlatGeometryBuilder.cxx:783 AliMUONSlatGeometryBuilder.cxx:784 AliMUONSlatGeometryBuilder.cxx:785 AliMUONSlatGeometryBuilder.cxx:786 AliMUONSlatGeometryBuilder.cxx:787 AliMUONSlatGeometryBuilder.cxx:788 AliMUONSlatGeometryBuilder.cxx:789 AliMUONSlatGeometryBuilder.cxx:790 AliMUONSlatGeometryBuilder.cxx:791 AliMUONSlatGeometryBuilder.cxx:792 AliMUONSlatGeometryBuilder.cxx:793 AliMUONSlatGeometryBuilder.cxx:794 AliMUONSlatGeometryBuilder.cxx:795 AliMUONSlatGeometryBuilder.cxx:796 AliMUONSlatGeometryBuilder.cxx:797 AliMUONSlatGeometryBuilder.cxx:798 AliMUONSlatGeometryBuilder.cxx:799 AliMUONSlatGeometryBuilder.cxx:800 AliMUONSlatGeometryBuilder.cxx:801 AliMUONSlatGeometryBuilder.cxx:802 AliMUONSlatGeometryBuilder.cxx:803 AliMUONSlatGeometryBuilder.cxx:804 AliMUONSlatGeometryBuilder.cxx:805 AliMUONSlatGeometryBuilder.cxx:806 AliMUONSlatGeometryBuilder.cxx:807 AliMUONSlatGeometryBuilder.cxx:808 AliMUONSlatGeometryBuilder.cxx:809 AliMUONSlatGeometryBuilder.cxx:810 AliMUONSlatGeometryBuilder.cxx:811 AliMUONSlatGeometryBuilder.cxx:812 AliMUONSlatGeometryBuilder.cxx:813 AliMUONSlatGeometryBuilder.cxx:814 AliMUONSlatGeometryBuilder.cxx:815 AliMUONSlatGeometryBuilder.cxx:816 AliMUONSlatGeometryBuilder.cxx:817 AliMUONSlatGeometryBuilder.cxx:818 AliMUONSlatGeometryBuilder.cxx:819 AliMUONSlatGeometryBuilder.cxx:820 AliMUONSlatGeometryBuilder.cxx:821 AliMUONSlatGeometryBuilder.cxx:822 AliMUONSlatGeometryBuilder.cxx:823 AliMUONSlatGeometryBuilder.cxx:824 AliMUONSlatGeometryBuilder.cxx:825 AliMUONSlatGeometryBuilder.cxx:826 AliMUONSlatGeometryBuilder.cxx:827 AliMUONSlatGeometryBuilder.cxx:828 AliMUONSlatGeometryBuilder.cxx:829 AliMUONSlatGeometryBuilder.cxx:830 AliMUONSlatGeometryBuilder.cxx:831 AliMUONSlatGeometryBuilder.cxx:832 AliMUONSlatGeometryBuilder.cxx:833 AliMUONSlatGeometryBuilder.cxx:834 AliMUONSlatGeometryBuilder.cxx:835 AliMUONSlatGeometryBuilder.cxx:836 AliMUONSlatGeometryBuilder.cxx:837 AliMUONSlatGeometryBuilder.cxx:838 AliMUONSlatGeometryBuilder.cxx:839 AliMUONSlatGeometryBuilder.cxx:840 AliMUONSlatGeometryBuilder.cxx:841 AliMUONSlatGeometryBuilder.cxx:842 AliMUONSlatGeometryBuilder.cxx:843 AliMUONSlatGeometryBuilder.cxx:844 AliMUONSlatGeometryBuilder.cxx:845 AliMUONSlatGeometryBuilder.cxx:846 AliMUONSlatGeometryBuilder.cxx:847 AliMUONSlatGeometryBuilder.cxx:848 AliMUONSlatGeometryBuilder.cxx:849 AliMUONSlatGeometryBuilder.cxx:850 AliMUONSlatGeometryBuilder.cxx:851 AliMUONSlatGeometryBuilder.cxx:852 AliMUONSlatGeometryBuilder.cxx:853 AliMUONSlatGeometryBuilder.cxx:854 AliMUONSlatGeometryBuilder.cxx:855 AliMUONSlatGeometryBuilder.cxx:856 AliMUONSlatGeometryBuilder.cxx:857 AliMUONSlatGeometryBuilder.cxx:858 AliMUONSlatGeometryBuilder.cxx:859 AliMUONSlatGeometryBuilder.cxx:860 AliMUONSlatGeometryBuilder.cxx:861 AliMUONSlatGeometryBuilder.cxx:862 AliMUONSlatGeometryBuilder.cxx:863 AliMUONSlatGeometryBuilder.cxx:864 AliMUONSlatGeometryBuilder.cxx:865 AliMUONSlatGeometryBuilder.cxx:866 AliMUONSlatGeometryBuilder.cxx:867 AliMUONSlatGeometryBuilder.cxx:868 AliMUONSlatGeometryBuilder.cxx:869 AliMUONSlatGeometryBuilder.cxx:870 AliMUONSlatGeometryBuilder.cxx:871 AliMUONSlatGeometryBuilder.cxx:872 AliMUONSlatGeometryBuilder.cxx:873 AliMUONSlatGeometryBuilder.cxx:874 AliMUONSlatGeometryBuilder.cxx:875 AliMUONSlatGeometryBuilder.cxx:876 AliMUONSlatGeometryBuilder.cxx:877 AliMUONSlatGeometryBuilder.cxx:878 AliMUONSlatGeometryBuilder.cxx:879 AliMUONSlatGeometryBuilder.cxx:880 AliMUONSlatGeometryBuilder.cxx:881 AliMUONSlatGeometryBuilder.cxx:882 AliMUONSlatGeometryBuilder.cxx:883 AliMUONSlatGeometryBuilder.cxx:884 AliMUONSlatGeometryBuilder.cxx:885 AliMUONSlatGeometryBuilder.cxx:886 AliMUONSlatGeometryBuilder.cxx:887 AliMUONSlatGeometryBuilder.cxx:888 AliMUONSlatGeometryBuilder.cxx:889 AliMUONSlatGeometryBuilder.cxx:890 AliMUONSlatGeometryBuilder.cxx:891 AliMUONSlatGeometryBuilder.cxx:892 AliMUONSlatGeometryBuilder.cxx:893 AliMUONSlatGeometryBuilder.cxx:894 AliMUONSlatGeometryBuilder.cxx:895 AliMUONSlatGeometryBuilder.cxx:896 AliMUONSlatGeometryBuilder.cxx:897 AliMUONSlatGeometryBuilder.cxx:898 AliMUONSlatGeometryBuilder.cxx:899 AliMUONSlatGeometryBuilder.cxx:900 AliMUONSlatGeometryBuilder.cxx:901 AliMUONSlatGeometryBuilder.cxx:902 AliMUONSlatGeometryBuilder.cxx:903 AliMUONSlatGeometryBuilder.cxx:904 AliMUONSlatGeometryBuilder.cxx:905 AliMUONSlatGeometryBuilder.cxx:906 AliMUONSlatGeometryBuilder.cxx:907 AliMUONSlatGeometryBuilder.cxx:908 AliMUONSlatGeometryBuilder.cxx:909 AliMUONSlatGeometryBuilder.cxx:910 AliMUONSlatGeometryBuilder.cxx:911 AliMUONSlatGeometryBuilder.cxx:912 AliMUONSlatGeometryBuilder.cxx:913 AliMUONSlatGeometryBuilder.cxx:914 AliMUONSlatGeometryBuilder.cxx:915 AliMUONSlatGeometryBuilder.cxx:916 AliMUONSlatGeometryBuilder.cxx:917 AliMUONSlatGeometryBuilder.cxx:918 AliMUONSlatGeometryBuilder.cxx:919 AliMUONSlatGeometryBuilder.cxx:920 AliMUONSlatGeometryBuilder.cxx:921 AliMUONSlatGeometryBuilder.cxx:922 AliMUONSlatGeometryBuilder.cxx:923 AliMUONSlatGeometryBuilder.cxx:924 AliMUONSlatGeometryBuilder.cxx:925 AliMUONSlatGeometryBuilder.cxx:926 AliMUONSlatGeometryBuilder.cxx:927 AliMUONSlatGeometryBuilder.cxx:928 AliMUONSlatGeometryBuilder.cxx:929 AliMUONSlatGeometryBuilder.cxx:930 AliMUONSlatGeometryBuilder.cxx:931 AliMUONSlatGeometryBuilder.cxx:932 AliMUONSlatGeometryBuilder.cxx:933 AliMUONSlatGeometryBuilder.cxx:934 AliMUONSlatGeometryBuilder.cxx:935 AliMUONSlatGeometryBuilder.cxx:936 AliMUONSlatGeometryBuilder.cxx:937 AliMUONSlatGeometryBuilder.cxx:938 AliMUONSlatGeometryBuilder.cxx:939 AliMUONSlatGeometryBuilder.cxx:940 AliMUONSlatGeometryBuilder.cxx:941 AliMUONSlatGeometryBuilder.cxx:942 AliMUONSlatGeometryBuilder.cxx:943 AliMUONSlatGeometryBuilder.cxx:944 AliMUONSlatGeometryBuilder.cxx:945 AliMUONSlatGeometryBuilder.cxx:946 AliMUONSlatGeometryBuilder.cxx:947 AliMUONSlatGeometryBuilder.cxx:948 AliMUONSlatGeometryBuilder.cxx:949 AliMUONSlatGeometryBuilder.cxx:950 AliMUONSlatGeometryBuilder.cxx:951 AliMUONSlatGeometryBuilder.cxx:952 AliMUONSlatGeometryBuilder.cxx:953 AliMUONSlatGeometryBuilder.cxx:954 AliMUONSlatGeometryBuilder.cxx:955 AliMUONSlatGeometryBuilder.cxx:956 AliMUONSlatGeometryBuilder.cxx:957 AliMUONSlatGeometryBuilder.cxx:958 AliMUONSlatGeometryBuilder.cxx:959 AliMUONSlatGeometryBuilder.cxx:960 AliMUONSlatGeometryBuilder.cxx:961 AliMUONSlatGeometryBuilder.cxx:962 AliMUONSlatGeometryBuilder.cxx:963 AliMUONSlatGeometryBuilder.cxx:964 AliMUONSlatGeometryBuilder.cxx:965 AliMUONSlatGeometryBuilder.cxx:966 AliMUONSlatGeometryBuilder.cxx:967 AliMUONSlatGeometryBuilder.cxx:968 AliMUONSlatGeometryBuilder.cxx:969 AliMUONSlatGeometryBuilder.cxx:970 AliMUONSlatGeometryBuilder.cxx:971 AliMUONSlatGeometryBuilder.cxx:972 AliMUONSlatGeometryBuilder.cxx:973 AliMUONSlatGeometryBuilder.cxx:974 AliMUONSlatGeometryBuilder.cxx:975 AliMUONSlatGeometryBuilder.cxx:976 AliMUONSlatGeometryBuilder.cxx:977 AliMUONSlatGeometryBuilder.cxx:978 AliMUONSlatGeometryBuilder.cxx:979 AliMUONSlatGeometryBuilder.cxx:980 AliMUONSlatGeometryBuilder.cxx:981 AliMUONSlatGeometryBuilder.cxx:982 AliMUONSlatGeometryBuilder.cxx:983 AliMUONSlatGeometryBuilder.cxx:984 AliMUONSlatGeometryBuilder.cxx:985 AliMUONSlatGeometryBuilder.cxx:986 AliMUONSlatGeometryBuilder.cxx:987 AliMUONSlatGeometryBuilder.cxx:988 AliMUONSlatGeometryBuilder.cxx:989 AliMUONSlatGeometryBuilder.cxx:990 AliMUONSlatGeometryBuilder.cxx:991 AliMUONSlatGeometryBuilder.cxx:992 AliMUONSlatGeometryBuilder.cxx:993 AliMUONSlatGeometryBuilder.cxx:994 AliMUONSlatGeometryBuilder.cxx:995 AliMUONSlatGeometryBuilder.cxx:996 AliMUONSlatGeometryBuilder.cxx:997 AliMUONSlatGeometryBuilder.cxx:998 AliMUONSlatGeometryBuilder.cxx:999 AliMUONSlatGeometryBuilder.cxx:1000 AliMUONSlatGeometryBuilder.cxx:1001 AliMUONSlatGeometryBuilder.cxx:1002 AliMUONSlatGeometryBuilder.cxx:1003 AliMUONSlatGeometryBuilder.cxx:1004 AliMUONSlatGeometryBuilder.cxx:1005 AliMUONSlatGeometryBuilder.cxx:1006 AliMUONSlatGeometryBuilder.cxx:1007 AliMUONSlatGeometryBuilder.cxx:1008 AliMUONSlatGeometryBuilder.cxx:1009 AliMUONSlatGeometryBuilder.cxx:1010 AliMUONSlatGeometryBuilder.cxx:1011 AliMUONSlatGeometryBuilder.cxx:1012 AliMUONSlatGeometryBuilder.cxx:1013 AliMUONSlatGeometryBuilder.cxx:1014 AliMUONSlatGeometryBuilder.cxx:1015 AliMUONSlatGeometryBuilder.cxx:1016 AliMUONSlatGeometryBuilder.cxx:1017 AliMUONSlatGeometryBuilder.cxx:1018 AliMUONSlatGeometryBuilder.cxx:1019 AliMUONSlatGeometryBuilder.cxx:1020 AliMUONSlatGeometryBuilder.cxx:1021 AliMUONSlatGeometryBuilder.cxx:1022 AliMUONSlatGeometryBuilder.cxx:1023 AliMUONSlatGeometryBuilder.cxx:1024 AliMUONSlatGeometryBuilder.cxx:1025 AliMUONSlatGeometryBuilder.cxx:1026 AliMUONSlatGeometryBuilder.cxx:1027 AliMUONSlatGeometryBuilder.cxx:1028 AliMUONSlatGeometryBuilder.cxx:1029 AliMUONSlatGeometryBuilder.cxx:1030 AliMUONSlatGeometryBuilder.cxx:1031 AliMUONSlatGeometryBuilder.cxx:1032 AliMUONSlatGeometryBuilder.cxx:1033 AliMUONSlatGeometryBuilder.cxx:1034 AliMUONSlatGeometryBuilder.cxx:1035 AliMUONSlatGeometryBuilder.cxx:1036 AliMUONSlatGeometryBuilder.cxx:1037 AliMUONSlatGeometryBuilder.cxx:1038 AliMUONSlatGeometryBuilder.cxx:1039 AliMUONSlatGeometryBuilder.cxx:1040 AliMUONSlatGeometryBuilder.cxx:1041 AliMUONSlatGeometryBuilder.cxx:1042 AliMUONSlatGeometryBuilder.cxx:1043 AliMUONSlatGeometryBuilder.cxx:1044 AliMUONSlatGeometryBuilder.cxx:1045 AliMUONSlatGeometryBuilder.cxx:1046 AliMUONSlatGeometryBuilder.cxx:1047 AliMUONSlatGeometryBuilder.cxx:1048 AliMUONSlatGeometryBuilder.cxx:1049 AliMUONSlatGeometryBuilder.cxx:1050 AliMUONSlatGeometryBuilder.cxx:1051 AliMUONSlatGeometryBuilder.cxx:1052 AliMUONSlatGeometryBuilder.cxx:1053 AliMUONSlatGeometryBuilder.cxx:1054 AliMUONSlatGeometryBuilder.cxx:1055 AliMUONSlatGeometryBuilder.cxx:1056 AliMUONSlatGeometryBuilder.cxx:1057 AliMUONSlatGeometryBuilder.cxx:1058 AliMUONSlatGeometryBuilder.cxx:1059 AliMUONSlatGeometryBuilder.cxx:1060 AliMUONSlatGeometryBuilder.cxx:1061 AliMUONSlatGeometryBuilder.cxx:1062 AliMUONSlatGeometryBuilder.cxx:1063 AliMUONSlatGeometryBuilder.cxx:1064 AliMUONSlatGeometryBuilder.cxx:1065 AliMUONSlatGeometryBuilder.cxx:1066 AliMUONSlatGeometryBuilder.cxx:1067 AliMUONSlatGeometryBuilder.cxx:1068 AliMUONSlatGeometryBuilder.cxx:1069 AliMUONSlatGeometryBuilder.cxx:1070 AliMUONSlatGeometryBuilder.cxx:1071 AliMUONSlatGeometryBuilder.cxx:1072 AliMUONSlatGeometryBuilder.cxx:1073 AliMUONSlatGeometryBuilder.cxx:1074 AliMUONSlatGeometryBuilder.cxx:1075 AliMUONSlatGeometryBuilder.cxx:1076 AliMUONSlatGeometryBuilder.cxx:1077 AliMUONSlatGeometryBuilder.cxx:1078 AliMUONSlatGeometryBuilder.cxx:1079 AliMUONSlatGeometryBuilder.cxx:1080 AliMUONSlatGeometryBuilder.cxx:1081 AliMUONSlatGeometryBuilder.cxx:1082 AliMUONSlatGeometryBuilder.cxx:1083 AliMUONSlatGeometryBuilder.cxx:1084 AliMUONSlatGeometryBuilder.cxx:1085 AliMUONSlatGeometryBuilder.cxx:1086 AliMUONSlatGeometryBuilder.cxx:1087 AliMUONSlatGeometryBuilder.cxx:1088 AliMUONSlatGeometryBuilder.cxx:1089 AliMUONSlatGeometryBuilder.cxx:1090 AliMUONSlatGeometryBuilder.cxx:1091 AliMUONSlatGeometryBuilder.cxx:1092 AliMUONSlatGeometryBuilder.cxx:1093 AliMUONSlatGeometryBuilder.cxx:1094 AliMUONSlatGeometryBuilder.cxx:1095 AliMUONSlatGeometryBuilder.cxx:1096 AliMUONSlatGeometryBuilder.cxx:1097 AliMUONSlatGeometryBuilder.cxx:1098 AliMUONSlatGeometryBuilder.cxx:1099 AliMUONSlatGeometryBuilder.cxx:1100 AliMUONSlatGeometryBuilder.cxx:1101 AliMUONSlatGeometryBuilder.cxx:1102 AliMUONSlatGeometryBuilder.cxx:1103 AliMUONSlatGeometryBuilder.cxx:1104 AliMUONSlatGeometryBuilder.cxx:1105 AliMUONSlatGeometryBuilder.cxx:1106 AliMUONSlatGeometryBuilder.cxx:1107 AliMUONSlatGeometryBuilder.cxx:1108 AliMUONSlatGeometryBuilder.cxx:1109 AliMUONSlatGeometryBuilder.cxx:1110 AliMUONSlatGeometryBuilder.cxx:1111 AliMUONSlatGeometryBuilder.cxx:1112 AliMUONSlatGeometryBuilder.cxx:1113 AliMUONSlatGeometryBuilder.cxx:1114 AliMUONSlatGeometryBuilder.cxx:1115 AliMUONSlatGeometryBuilder.cxx:1116 AliMUONSlatGeometryBuilder.cxx:1117 AliMUONSlatGeometryBuilder.cxx:1118 AliMUONSlatGeometryBuilder.cxx:1119 AliMUONSlatGeometryBuilder.cxx:1120 AliMUONSlatGeometryBuilder.cxx:1121 AliMUONSlatGeometryBuilder.cxx:1122 AliMUONSlatGeometryBuilder.cxx:1123 AliMUONSlatGeometryBuilder.cxx:1124 AliMUONSlatGeometryBuilder.cxx:1125 AliMUONSlatGeometryBuilder.cxx:1126 AliMUONSlatGeometryBuilder.cxx:1127 AliMUONSlatGeometryBuilder.cxx:1128 AliMUONSlatGeometryBuilder.cxx:1129 AliMUONSlatGeometryBuilder.cxx:1130 AliMUONSlatGeometryBuilder.cxx:1131 AliMUONSlatGeometryBuilder.cxx:1132 AliMUONSlatGeometryBuilder.cxx:1133 AliMUONSlatGeometryBuilder.cxx:1134 AliMUONSlatGeometryBuilder.cxx:1135 AliMUONSlatGeometryBuilder.cxx:1136 AliMUONSlatGeometryBuilder.cxx:1137 AliMUONSlatGeometryBuilder.cxx:1138 AliMUONSlatGeometryBuilder.cxx:1139 AliMUONSlatGeometryBuilder.cxx:1140 AliMUONSlatGeometryBuilder.cxx:1141 AliMUONSlatGeometryBuilder.cxx:1142 AliMUONSlatGeometryBuilder.cxx:1143 AliMUONSlatGeometryBuilder.cxx:1144 AliMUONSlatGeometryBuilder.cxx:1145 AliMUONSlatGeometryBuilder.cxx:1146 AliMUONSlatGeometryBuilder.cxx:1147 AliMUONSlatGeometryBuilder.cxx:1148 AliMUONSlatGeometryBuilder.cxx:1149 AliMUONSlatGeometryBuilder.cxx:1150 AliMUONSlatGeometryBuilder.cxx:1151 AliMUONSlatGeometryBuilder.cxx:1152 AliMUONSlatGeometryBuilder.cxx:1153 AliMUONSlatGeometryBuilder.cxx:1154 AliMUONSlatGeometryBuilder.cxx:1155 AliMUONSlatGeometryBuilder.cxx:1156 AliMUONSlatGeometryBuilder.cxx:1157 AliMUONSlatGeometryBuilder.cxx:1158 AliMUONSlatGeometryBuilder.cxx:1159 AliMUONSlatGeometryBuilder.cxx:1160 AliMUONSlatGeometryBuilder.cxx:1161 AliMUONSlatGeometryBuilder.cxx:1162 AliMUONSlatGeometryBuilder.cxx:1163 AliMUONSlatGeometryBuilder.cxx:1164 AliMUONSlatGeometryBuilder.cxx:1165 AliMUONSlatGeometryBuilder.cxx:1166 AliMUONSlatGeometryBuilder.cxx:1167 AliMUONSlatGeometryBuilder.cxx:1168 AliMUONSlatGeometryBuilder.cxx:1169 AliMUONSlatGeometryBuilder.cxx:1170 AliMUONSlatGeometryBuilder.cxx:1171 AliMUONSlatGeometryBuilder.cxx:1172 AliMUONSlatGeometryBuilder.cxx:1173 AliMUONSlatGeometryBuilder.cxx:1174 AliMUONSlatGeometryBuilder.cxx:1175 AliMUONSlatGeometryBuilder.cxx:1176 AliMUONSlatGeometryBuilder.cxx:1177 AliMUONSlatGeometryBuilder.cxx:1178 AliMUONSlatGeometryBuilder.cxx:1179 AliMUONSlatGeometryBuilder.cxx:1180 AliMUONSlatGeometryBuilder.cxx:1181 AliMUONSlatGeometryBuilder.cxx:1182 AliMUONSlatGeometryBuilder.cxx:1183 AliMUONSlatGeometryBuilder.cxx:1184 AliMUONSlatGeometryBuilder.cxx:1185 AliMUONSlatGeometryBuilder.cxx:1186 AliMUONSlatGeometryBuilder.cxx:1187 AliMUONSlatGeometryBuilder.cxx:1188 AliMUONSlatGeometryBuilder.cxx:1189 AliMUONSlatGeometryBuilder.cxx:1190 AliMUONSlatGeometryBuilder.cxx:1191 AliMUONSlatGeometryBuilder.cxx:1192 AliMUONSlatGeometryBuilder.cxx:1193 AliMUONSlatGeometryBuilder.cxx:1194 AliMUONSlatGeometryBuilder.cxx:1195 AliMUONSlatGeometryBuilder.cxx:1196 AliMUONSlatGeometryBuilder.cxx:1197 AliMUONSlatGeometryBuilder.cxx:1198 AliMUONSlatGeometryBuilder.cxx:1199 AliMUONSlatGeometryBuilder.cxx:1200 AliMUONSlatGeometryBuilder.cxx:1201 AliMUONSlatGeometryBuilder.cxx:1202 AliMUONSlatGeometryBuilder.cxx:1203 AliMUONSlatGeometryBuilder.cxx:1204 AliMUONSlatGeometryBuilder.cxx:1205 AliMUONSlatGeometryBuilder.cxx:1206 AliMUONSlatGeometryBuilder.cxx:1207 AliMUONSlatGeometryBuilder.cxx:1208 AliMUONSlatGeometryBuilder.cxx:1209 AliMUONSlatGeometryBuilder.cxx:1210 AliMUONSlatGeometryBuilder.cxx:1211 AliMUONSlatGeometryBuilder.cxx:1212 AliMUONSlatGeometryBuilder.cxx:1213 AliMUONSlatGeometryBuilder.cxx:1214 AliMUONSlatGeometryBuilder.cxx:1215 AliMUONSlatGeometryBuilder.cxx:1216 AliMUONSlatGeometryBuilder.cxx:1217 AliMUONSlatGeometryBuilder.cxx:1218 AliMUONSlatGeometryBuilder.cxx:1219 AliMUONSlatGeometryBuilder.cxx:1220 AliMUONSlatGeometryBuilder.cxx:1221 AliMUONSlatGeometryBuilder.cxx:1222 AliMUONSlatGeometryBuilder.cxx:1223 AliMUONSlatGeometryBuilder.cxx:1224 AliMUONSlatGeometryBuilder.cxx:1225 AliMUONSlatGeometryBuilder.cxx:1226 AliMUONSlatGeometryBuilder.cxx:1227 AliMUONSlatGeometryBuilder.cxx:1228 AliMUONSlatGeometryBuilder.cxx:1229 AliMUONSlatGeometryBuilder.cxx:1230 AliMUONSlatGeometryBuilder.cxx:1231 AliMUONSlatGeometryBuilder.cxx:1232 AliMUONSlatGeometryBuilder.cxx:1233 AliMUONSlatGeometryBuilder.cxx:1234 AliMUONSlatGeometryBuilder.cxx:1235 AliMUONSlatGeometryBuilder.cxx:1236 AliMUONSlatGeometryBuilder.cxx:1237 AliMUONSlatGeometryBuilder.cxx:1238 AliMUONSlatGeometryBuilder.cxx:1239 AliMUONSlatGeometryBuilder.cxx:1240 AliMUONSlatGeometryBuilder.cxx:1241 AliMUONSlatGeometryBuilder.cxx:1242 AliMUONSlatGeometryBuilder.cxx:1243 AliMUONSlatGeometryBuilder.cxx:1244 AliMUONSlatGeometryBuilder.cxx:1245 AliMUONSlatGeometryBuilder.cxx:1246 AliMUONSlatGeometryBuilder.cxx:1247 AliMUONSlatGeometryBuilder.cxx:1248 AliMUONSlatGeometryBuilder.cxx:1249 AliMUONSlatGeometryBuilder.cxx:1250 AliMUONSlatGeometryBuilder.cxx:1251 AliMUONSlatGeometryBuilder.cxx:1252 AliMUONSlatGeometryBuilder.cxx:1253 AliMUONSlatGeometryBuilder.cxx:1254 AliMUONSlatGeometryBuilder.cxx:1255 AliMUONSlatGeometryBuilder.cxx:1256 AliMUONSlatGeometryBuilder.cxx:1257 AliMUONSlatGeometryBuilder.cxx:1258 AliMUONSlatGeometryBuilder.cxx:1259 AliMUONSlatGeometryBuilder.cxx:1260 AliMUONSlatGeometryBuilder.cxx:1261 AliMUONSlatGeometryBuilder.cxx:1262 AliMUONSlatGeometryBuilder.cxx:1263 AliMUONSlatGeometryBuilder.cxx:1264 AliMUONSlatGeometryBuilder.cxx:1265 AliMUONSlatGeometryBuilder.cxx:1266 AliMUONSlatGeometryBuilder.cxx:1267 AliMUONSlatGeometryBuilder.cxx:1268 AliMUONSlatGeometryBuilder.cxx:1269 AliMUONSlatGeometryBuilder.cxx:1270 AliMUONSlatGeometryBuilder.cxx:1271 AliMUONSlatGeometryBuilder.cxx:1272 AliMUONSlatGeometryBuilder.cxx:1273 AliMUONSlatGeometryBuilder.cxx:1274 AliMUONSlatGeometryBuilder.cxx:1275 AliMUONSlatGeometryBuilder.cxx:1276 AliMUONSlatGeometryBuilder.cxx:1277 AliMUONSlatGeometryBuilder.cxx:1278 AliMUONSlatGeometryBuilder.cxx:1279 AliMUONSlatGeometryBuilder.cxx:1280 AliMUONSlatGeometryBuilder.cxx:1281 AliMUONSlatGeometryBuilder.cxx:1282 AliMUONSlatGeometryBuilder.cxx:1283 AliMUONSlatGeometryBuilder.cxx:1284 AliMUONSlatGeometryBuilder.cxx:1285 AliMUONSlatGeometryBuilder.cxx:1286 AliMUONSlatGeometryBuilder.cxx:1287 AliMUONSlatGeometryBuilder.cxx:1288 AliMUONSlatGeometryBuilder.cxx:1289 AliMUONSlatGeometryBuilder.cxx:1290 AliMUONSlatGeometryBuilder.cxx:1291 AliMUONSlatGeometryBuilder.cxx:1292 AliMUONSlatGeometryBuilder.cxx:1293 AliMUONSlatGeometryBuilder.cxx:1294 AliMUONSlatGeometryBuilder.cxx:1295 AliMUONSlatGeometryBuilder.cxx:1296 AliMUONSlatGeometryBuilder.cxx:1297 AliMUONSlatGeometryBuilder.cxx:1298 AliMUONSlatGeometryBuilder.cxx:1299 AliMUONSlatGeometryBuilder.cxx:1300 AliMUONSlatGeometryBuilder.cxx:1301 AliMUONSlatGeometryBuilder.cxx:1302 AliMUONSlatGeometryBuilder.cxx:1303 AliMUONSlatGeometryBuilder.cxx:1304 AliMUONSlatGeometryBuilder.cxx:1305 AliMUONSlatGeometryBuilder.cxx:1306 AliMUONSlatGeometryBuilder.cxx:1307 AliMUONSlatGeometryBuilder.cxx:1308 AliMUONSlatGeometryBuilder.cxx:1309 AliMUONSlatGeometryBuilder.cxx:1310 AliMUONSlatGeometryBuilder.cxx:1311 AliMUONSlatGeometryBuilder.cxx:1312 AliMUONSlatGeometryBuilder.cxx:1313 AliMUONSlatGeometryBuilder.cxx:1314 AliMUONSlatGeometryBuilder.cxx:1315 AliMUONSlatGeometryBuilder.cxx:1316 AliMUONSlatGeometryBuilder.cxx:1317 AliMUONSlatGeometryBuilder.cxx:1318 AliMUONSlatGeometryBuilder.cxx:1319 AliMUONSlatGeometryBuilder.cxx:1320 AliMUONSlatGeometryBuilder.cxx:1321 AliMUONSlatGeometryBuilder.cxx:1322 AliMUONSlatGeometryBuilder.cxx:1323 AliMUONSlatGeometryBuilder.cxx:1324 AliMUONSlatGeometryBuilder.cxx:1325 AliMUONSlatGeometryBuilder.cxx:1326 AliMUONSlatGeometryBuilder.cxx:1327 AliMUONSlatGeometryBuilder.cxx:1328 AliMUONSlatGeometryBuilder.cxx:1329 AliMUONSlatGeometryBuilder.cxx:1330 AliMUONSlatGeometryBuilder.cxx:1331 AliMUONSlatGeometryBuilder.cxx:1332 AliMUONSlatGeometryBuilder.cxx:1333 AliMUONSlatGeometryBuilder.cxx:1334 AliMUONSlatGeometryBuilder.cxx:1335 AliMUONSlatGeometryBuilder.cxx:1336 AliMUONSlatGeometryBuilder.cxx:1337 AliMUONSlatGeometryBuilder.cxx:1338 AliMUONSlatGeometryBuilder.cxx:1339 AliMUONSlatGeometryBuilder.cxx:1340 AliMUONSlatGeometryBuilder.cxx:1341 AliMUONSlatGeometryBuilder.cxx:1342 AliMUONSlatGeometryBuilder.cxx:1343 AliMUONSlatGeometryBuilder.cxx:1344 AliMUONSlatGeometryBuilder.cxx:1345 AliMUONSlatGeometryBuilder.cxx:1346 AliMUONSlatGeometryBuilder.cxx:1347 AliMUONSlatGeometryBuilder.cxx:1348 AliMUONSlatGeometryBuilder.cxx:1349 AliMUONSlatGeometryBuilder.cxx:1350 AliMUONSlatGeometryBuilder.cxx:1351 AliMUONSlatGeometryBuilder.cxx:1352 AliMUONSlatGeometryBuilder.cxx:1353 AliMUONSlatGeometryBuilder.cxx:1354 AliMUONSlatGeometryBuilder.cxx:1355 AliMUONSlatGeometryBuilder.cxx:1356 AliMUONSlatGeometryBuilder.cxx:1357 AliMUONSlatGeometryBuilder.cxx:1358 AliMUONSlatGeometryBuilder.cxx:1359 AliMUONSlatGeometryBuilder.cxx:1360 AliMUONSlatGeometryBuilder.cxx:1361 AliMUONSlatGeometryBuilder.cxx:1362 AliMUONSlatGeometryBuilder.cxx:1363 AliMUONSlatGeometryBuilder.cxx:1364 AliMUONSlatGeometryBuilder.cxx:1365 AliMUONSlatGeometryBuilder.cxx:1366 AliMUONSlatGeometryBuilder.cxx:1367 AliMUONSlatGeometryBuilder.cxx:1368 AliMUONSlatGeometryBuilder.cxx:1369 AliMUONSlatGeometryBuilder.cxx:1370 AliMUONSlatGeometryBuilder.cxx:1371 AliMUONSlatGeometryBuilder.cxx:1372 AliMUONSlatGeometryBuilder.cxx:1373 AliMUONSlatGeometryBuilder.cxx:1374 AliMUONSlatGeometryBuilder.cxx:1375 AliMUONSlatGeometryBuilder.cxx:1376 AliMUONSlatGeometryBuilder.cxx:1377 AliMUONSlatGeometryBuilder.cxx:1378 AliMUONSlatGeometryBuilder.cxx:1379 AliMUONSlatGeometryBuilder.cxx:1380 AliMUONSlatGeometryBuilder.cxx:1381 AliMUONSlatGeometryBuilder.cxx:1382 AliMUONSlatGeometryBuilder.cxx:1383 AliMUONSlatGeometryBuilder.cxx:1384 AliMUONSlatGeometryBuilder.cxx:1385 AliMUONSlatGeometryBuilder.cxx:1386 AliMUONSlatGeometryBuilder.cxx:1387 AliMUONSlatGeometryBuilder.cxx:1388 AliMUONSlatGeometryBuilder.cxx:1389 AliMUONSlatGeometryBuilder.cxx:1390 AliMUONSlatGeometryBuilder.cxx:1391 AliMUONSlatGeometryBuilder.cxx:1392 AliMUONSlatGeometryBuilder.cxx:1393 AliMUONSlatGeometryBuilder.cxx:1394 AliMUONSlatGeometryBuilder.cxx:1395 AliMUONSlatGeometryBuilder.cxx:1396 AliMUONSlatGeometryBuilder.cxx:1397 AliMUONSlatGeometryBuilder.cxx:1398 AliMUONSlatGeometryBuilder.cxx:1399 AliMUONSlatGeometryBuilder.cxx:1400 AliMUONSlatGeometryBuilder.cxx:1401 AliMUONSlatGeometryBuilder.cxx:1402 AliMUONSlatGeometryBuilder.cxx:1403 AliMUONSlatGeometryBuilder.cxx:1404 AliMUONSlatGeometryBuilder.cxx:1405 AliMUONSlatGeometryBuilder.cxx:1406 AliMUONSlatGeometryBuilder.cxx:1407 AliMUONSlatGeometryBuilder.cxx:1408 AliMUONSlatGeometryBuilder.cxx:1409 AliMUONSlatGeometryBuilder.cxx:1410 AliMUONSlatGeometryBuilder.cxx:1411 AliMUONSlatGeometryBuilder.cxx:1412 AliMUONSlatGeometryBuilder.cxx:1413 AliMUONSlatGeometryBuilder.cxx:1414 AliMUONSlatGeometryBuilder.cxx:1415 AliMUONSlatGeometryBuilder.cxx:1416 AliMUONSlatGeometryBuilder.cxx:1417 AliMUONSlatGeometryBuilder.cxx:1418 AliMUONSlatGeometryBuilder.cxx:1419 AliMUONSlatGeometryBuilder.cxx:1420 AliMUONSlatGeometryBuilder.cxx:1421 AliMUONSlatGeometryBuilder.cxx:1422 AliMUONSlatGeometryBuilder.cxx:1423 AliMUONSlatGeometryBuilder.cxx:1424 AliMUONSlatGeometryBuilder.cxx:1425 AliMUONSlatGeometryBuilder.cxx:1426 AliMUONSlatGeometryBuilder.cxx:1427 AliMUONSlatGeometryBuilder.cxx:1428 AliMUONSlatGeometryBuilder.cxx:1429 AliMUONSlatGeometryBuilder.cxx:1430 AliMUONSlatGeometryBuilder.cxx:1431 AliMUONSlatGeometryBuilder.cxx:1432 AliMUONSlatGeometryBuilder.cxx:1433 AliMUONSlatGeometryBuilder.cxx:1434 AliMUONSlatGeometryBuilder.cxx:1435 AliMUONSlatGeometryBuilder.cxx:1436 AliMUONSlatGeometryBuilder.cxx:1437 AliMUONSlatGeometryBuilder.cxx:1438 AliMUONSlatGeometryBuilder.cxx:1439 AliMUONSlatGeometryBuilder.cxx:1440 AliMUONSlatGeometryBuilder.cxx:1441 AliMUONSlatGeometryBuilder.cxx:1442 AliMUONSlatGeometryBuilder.cxx:1443 AliMUONSlatGeometryBuilder.cxx:1444 AliMUONSlatGeometryBuilder.cxx:1445 AliMUONSlatGeometryBuilder.cxx:1446 AliMUONSlatGeometryBuilder.cxx:1447 AliMUONSlatGeometryBuilder.cxx:1448 AliMUONSlatGeometryBuilder.cxx:1449 AliMUONSlatGeometryBuilder.cxx:1450 AliMUONSlatGeometryBuilder.cxx:1451 AliMUONSlatGeometryBuilder.cxx:1452 AliMUONSlatGeometryBuilder.cxx:1453 AliMUONSlatGeometryBuilder.cxx:1454 AliMUONSlatGeometryBuilder.cxx:1455 AliMUONSlatGeometryBuilder.cxx:1456 AliMUONSlatGeometryBuilder.cxx:1457 AliMUONSlatGeometryBuilder.cxx:1458 AliMUONSlatGeometryBuilder.cxx:1459 AliMUONSlatGeometryBuilder.cxx:1460 AliMUONSlatGeometryBuilder.cxx:1461 AliMUONSlatGeometryBuilder.cxx:1462 AliMUONSlatGeometryBuilder.cxx:1463 AliMUONSlatGeometryBuilder.cxx:1464 AliMUONSlatGeometryBuilder.cxx:1465 AliMUONSlatGeometryBuilder.cxx:1466 AliMUONSlatGeometryBuilder.cxx:1467 AliMUONSlatGeometryBuilder.cxx:1468 AliMUONSlatGeometryBuilder.cxx:1469 AliMUONSlatGeometryBuilder.cxx:1470 AliMUONSlatGeometryBuilder.cxx:1471 AliMUONSlatGeometryBuilder.cxx:1472 AliMUONSlatGeometryBuilder.cxx:1473 AliMUONSlatGeometryBuilder.cxx:1474 AliMUONSlatGeometryBuilder.cxx:1475 AliMUONSlatGeometryBuilder.cxx:1476 AliMUONSlatGeometryBuilder.cxx:1477 AliMUONSlatGeometryBuilder.cxx:1478 AliMUONSlatGeometryBuilder.cxx:1479 AliMUONSlatGeometryBuilder.cxx:1480 AliMUONSlatGeometryBuilder.cxx:1481 AliMUONSlatGeometryBuilder.cxx:1482 AliMUONSlatGeometryBuilder.cxx:1483 AliMUONSlatGeometryBuilder.cxx:1484 AliMUONSlatGeometryBuilder.cxx:1485 AliMUONSlatGeometryBuilder.cxx:1486 AliMUONSlatGeometryBuilder.cxx:1487 AliMUONSlatGeometryBuilder.cxx:1488 AliMUONSlatGeometryBuilder.cxx:1489 AliMUONSlatGeometryBuilder.cxx:1490 AliMUONSlatGeometryBuilder.cxx:1491 AliMUONSlatGeometryBuilder.cxx:1492 AliMUONSlatGeometryBuilder.cxx:1493 AliMUONSlatGeometryBuilder.cxx:1494 AliMUONSlatGeometryBuilder.cxx:1495 AliMUONSlatGeometryBuilder.cxx:1496 AliMUONSlatGeometryBuilder.cxx:1497 AliMUONSlatGeometryBuilder.cxx:1498 AliMUONSlatGeometryBuilder.cxx:1499 AliMUONSlatGeometryBuilder.cxx:1500 AliMUONSlatGeometryBuilder.cxx:1501 AliMUONSlatGeometryBuilder.cxx:1502 AliMUONSlatGeometryBuilder.cxx:1503 AliMUONSlatGeometryBuilder.cxx:1504 AliMUONSlatGeometryBuilder.cxx:1505 AliMUONSlatGeometryBuilder.cxx:1506 AliMUONSlatGeometryBuilder.cxx:1507 AliMUONSlatGeometryBuilder.cxx:1508 AliMUONSlatGeometryBuilder.cxx:1509 AliMUONSlatGeometryBuilder.cxx:1510 AliMUONSlatGeometryBuilder.cxx:1511 AliMUONSlatGeometryBuilder.cxx:1512 AliMUONSlatGeometryBuilder.cxx:1513 AliMUONSlatGeometryBuilder.cxx:1514 AliMUONSlatGeometryBuilder.cxx:1515 AliMUONSlatGeometryBuilder.cxx:1516 AliMUONSlatGeometryBuilder.cxx:1517 AliMUONSlatGeometryBuilder.cxx:1518 AliMUONSlatGeometryBuilder.cxx:1519 AliMUONSlatGeometryBuilder.cxx:1520 AliMUONSlatGeometryBuilder.cxx:1521 AliMUONSlatGeometryBuilder.cxx:1522 AliMUONSlatGeometryBuilder.cxx:1523 AliMUONSlatGeometryBuilder.cxx:1524 AliMUONSlatGeometryBuilder.cxx:1525 AliMUONSlatGeometryBuilder.cxx:1526 AliMUONSlatGeometryBuilder.cxx:1527 AliMUONSlatGeometryBuilder.cxx:1528 AliMUONSlatGeometryBuilder.cxx:1529 AliMUONSlatGeometryBuilder.cxx:1530 AliMUONSlatGeometryBuilder.cxx:1531 AliMUONSlatGeometryBuilder.cxx:1532 AliMUONSlatGeometryBuilder.cxx:1533 AliMUONSlatGeometryBuilder.cxx:1534 AliMUONSlatGeometryBuilder.cxx:1535 AliMUONSlatGeometryBuilder.cxx:1536 AliMUONSlatGeometryBuilder.cxx:1537 AliMUONSlatGeometryBuilder.cxx:1538 AliMUONSlatGeometryBuilder.cxx:1539 AliMUONSlatGeometryBuilder.cxx:1540 AliMUONSlatGeometryBuilder.cxx:1541 AliMUONSlatGeometryBuilder.cxx:1542 AliMUONSlatGeometryBuilder.cxx:1543 AliMUONSlatGeometryBuilder.cxx:1544 AliMUONSlatGeometryBuilder.cxx:1545 AliMUONSlatGeometryBuilder.cxx:1546 AliMUONSlatGeometryBuilder.cxx:1547 AliMUONSlatGeometryBuilder.cxx:1548 AliMUONSlatGeometryBuilder.cxx:1549 AliMUONSlatGeometryBuilder.cxx:1550 AliMUONSlatGeometryBuilder.cxx:1551 AliMUONSlatGeometryBuilder.cxx:1552 AliMUONSlatGeometryBuilder.cxx:1553 AliMUONSlatGeometryBuilder.cxx:1554 AliMUONSlatGeometryBuilder.cxx:1555 AliMUONSlatGeometryBuilder.cxx:1556 AliMUONSlatGeometryBuilder.cxx:1557 AliMUONSlatGeometryBuilder.cxx:1558 AliMUONSlatGeometryBuilder.cxx:1559 AliMUONSlatGeometryBuilder.cxx:1560 AliMUONSlatGeometryBuilder.cxx:1561 AliMUONSlatGeometryBuilder.cxx:1562 AliMUONSlatGeometryBuilder.cxx:1563 AliMUONSlatGeometryBuilder.cxx:1564 AliMUONSlatGeometryBuilder.cxx:1565 AliMUONSlatGeometryBuilder.cxx:1566 AliMUONSlatGeometryBuilder.cxx:1567 AliMUONSlatGeometryBuilder.cxx:1568 AliMUONSlatGeometryBuilder.cxx:1569 AliMUONSlatGeometryBuilder.cxx:1570 AliMUONSlatGeometryBuilder.cxx:1571 AliMUONSlatGeometryBuilder.cxx:1572 AliMUONSlatGeometryBuilder.cxx:1573 AliMUONSlatGeometryBuilder.cxx:1574 AliMUONSlatGeometryBuilder.cxx:1575 AliMUONSlatGeometryBuilder.cxx:1576 AliMUONSlatGeometryBuilder.cxx:1577 AliMUONSlatGeometryBuilder.cxx:1578 AliMUONSlatGeometryBuilder.cxx:1579 AliMUONSlatGeometryBuilder.cxx:1580 AliMUONSlatGeometryBuilder.cxx:1581 AliMUONSlatGeometryBuilder.cxx:1582 AliMUONSlatGeometryBuilder.cxx:1583 AliMUONSlatGeometryBuilder.cxx:1584 AliMUONSlatGeometryBuilder.cxx:1585 AliMUONSlatGeometryBuilder.cxx:1586 AliMUONSlatGeometryBuilder.cxx:1587 AliMUONSlatGeometryBuilder.cxx:1588 AliMUONSlatGeometryBuilder.cxx:1589 AliMUONSlatGeometryBuilder.cxx:1590 AliMUONSlatGeometryBuilder.cxx:1591 AliMUONSlatGeometryBuilder.cxx:1592 AliMUONSlatGeometryBuilder.cxx:1593 AliMUONSlatGeometryBuilder.cxx:1594 AliMUONSlatGeometryBuilder.cxx:1595 AliMUONSlatGeometryBuilder.cxx:1596 AliMUONSlatGeometryBuilder.cxx:1597 AliMUONSlatGeometryBuilder.cxx:1598 AliMUONSlatGeometryBuilder.cxx:1599 AliMUONSlatGeometryBuilder.cxx:1600 AliMUONSlatGeometryBuilder.cxx:1601 AliMUONSlatGeometryBuilder.cxx:1602 AliMUONSlatGeometryBuilder.cxx:1603 AliMUONSlatGeometryBuilder.cxx:1604 AliMUONSlatGeometryBuilder.cxx:1605 AliMUONSlatGeometryBuilder.cxx:1606 AliMUONSlatGeometryBuilder.cxx:1607 AliMUONSlatGeometryBuilder.cxx:1608 AliMUONSlatGeometryBuilder.cxx:1609 AliMUONSlatGeometryBuilder.cxx:1610 AliMUONSlatGeometryBuilder.cxx:1611 AliMUONSlatGeometryBuilder.cxx:1612 AliMUONSlatGeometryBuilder.cxx:1613 AliMUONSlatGeometryBuilder.cxx:1614 AliMUONSlatGeometryBuilder.cxx:1615 AliMUONSlatGeometryBuilder.cxx:1616 AliMUONSlatGeometryBuilder.cxx:1617 AliMUONSlatGeometryBuilder.cxx:1618 AliMUONSlatGeometryBuilder.cxx:1619 AliMUONSlatGeometryBuilder.cxx:1620 AliMUONSlatGeometryBuilder.cxx:1621 AliMUONSlatGeometryBuilder.cxx:1622 AliMUONSlatGeometryBuilder.cxx:1623 AliMUONSlatGeometryBuilder.cxx:1624 AliMUONSlatGeometryBuilder.cxx:1625 AliMUONSlatGeometryBuilder.cxx:1626 AliMUONSlatGeometryBuilder.cxx:1627 AliMUONSlatGeometryBuilder.cxx:1628 AliMUONSlatGeometryBuilder.cxx:1629 AliMUONSlatGeometryBuilder.cxx:1630 AliMUONSlatGeometryBuilder.cxx:1631 AliMUONSlatGeometryBuilder.cxx:1632 AliMUONSlatGeometryBuilder.cxx:1633 AliMUONSlatGeometryBuilder.cxx:1634 AliMUONSlatGeometryBuilder.cxx:1635 AliMUONSlatGeometryBuilder.cxx:1636 AliMUONSlatGeometryBuilder.cxx:1637 AliMUONSlatGeometryBuilder.cxx:1638 AliMUONSlatGeometryBuilder.cxx:1639 AliMUONSlatGeometryBuilder.cxx:1640 AliMUONSlatGeometryBuilder.cxx:1641 AliMUONSlatGeometryBuilder.cxx:1642 AliMUONSlatGeometryBuilder.cxx:1643 AliMUONSlatGeometryBuilder.cxx:1644 AliMUONSlatGeometryBuilder.cxx:1645 AliMUONSlatGeometryBuilder.cxx:1646 AliMUONSlatGeometryBuilder.cxx:1647 AliMUONSlatGeometryBuilder.cxx:1648 AliMUONSlatGeometryBuilder.cxx:1649 AliMUONSlatGeometryBuilder.cxx:1650 AliMUONSlatGeometryBuilder.cxx:1651 AliMUONSlatGeometryBuilder.cxx:1652 AliMUONSlatGeometryBuilder.cxx:1653 AliMUONSlatGeometryBuilder.cxx:1654 AliMUONSlatGeometryBuilder.cxx:1655 AliMUONSlatGeometryBuilder.cxx:1656 AliMUONSlatGeometryBuilder.cxx:1657 AliMUONSlatGeometryBuilder.cxx:1658 AliMUONSlatGeometryBuilder.cxx:1659 AliMUONSlatGeometryBuilder.cxx:1660 AliMUONSlatGeometryBuilder.cxx:1661 AliMUONSlatGeometryBuilder.cxx:1662 AliMUONSlatGeometryBuilder.cxx:1663 AliMUONSlatGeometryBuilder.cxx:1664 AliMUONSlatGeometryBuilder.cxx:1665 AliMUONSlatGeometryBuilder.cxx:1666 AliMUONSlatGeometryBuilder.cxx:1667 AliMUONSlatGeometryBuilder.cxx:1668 AliMUONSlatGeometryBuilder.cxx:1669 AliMUONSlatGeometryBuilder.cxx:1670 AliMUONSlatGeometryBuilder.cxx:1671 AliMUONSlatGeometryBuilder.cxx:1672 AliMUONSlatGeometryBuilder.cxx:1673 AliMUONSlatGeometryBuilder.cxx:1674 AliMUONSlatGeometryBuilder.cxx:1675 AliMUONSlatGeometryBuilder.cxx:1676 AliMUONSlatGeometryBuilder.cxx:1677 AliMUONSlatGeometryBuilder.cxx:1678 AliMUONSlatGeometryBuilder.cxx:1679 AliMUONSlatGeometryBuilder.cxx:1680 AliMUONSlatGeometryBuilder.cxx:1681 AliMUONSlatGeometryBuilder.cxx:1682 AliMUONSlatGeometryBuilder.cxx:1683 AliMUONSlatGeometryBuilder.cxx:1684 AliMUONSlatGeometryBuilder.cxx:1685 AliMUONSlatGeometryBuilder.cxx:1686 AliMUONSlatGeometryBuilder.cxx:1687 AliMUONSlatGeometryBuilder.cxx:1688 AliMUONSlatGeometryBuilder.cxx:1689 AliMUONSlatGeometryBuilder.cxx:1690 AliMUONSlatGeometryBuilder.cxx:1691 AliMUONSlatGeometryBuilder.cxx:1692 AliMUONSlatGeometryBuilder.cxx:1693 AliMUONSlatGeometryBuilder.cxx:1694 AliMUONSlatGeometryBuilder.cxx:1695 AliMUONSlatGeometryBuilder.cxx:1696 AliMUONSlatGeometryBuilder.cxx:1697 AliMUONSlatGeometryBuilder.cxx:1698 AliMUONSlatGeometryBuilder.cxx:1699 AliMUONSlatGeometryBuilder.cxx:1700 AliMUONSlatGeometryBuilder.cxx:1701 AliMUONSlatGeometryBuilder.cxx:1702 AliMUONSlatGeometryBuilder.cxx:1703 AliMUONSlatGeometryBuilder.cxx:1704 AliMUONSlatGeometryBuilder.cxx:1705 AliMUONSlatGeometryBuilder.cxx:1706 AliMUONSlatGeometryBuilder.cxx:1707 AliMUONSlatGeometryBuilder.cxx:1708 AliMUONSlatGeometryBuilder.cxx:1709 AliMUONSlatGeometryBuilder.cxx:1710 AliMUONSlatGeometryBuilder.cxx:1711 AliMUONSlatGeometryBuilder.cxx:1712 AliMUONSlatGeometryBuilder.cxx:1713 AliMUONSlatGeometryBuilder.cxx:1714 AliMUONSlatGeometryBuilder.cxx:1715 AliMUONSlatGeometryBuilder.cxx:1716 AliMUONSlatGeometryBuilder.cxx:1717 AliMUONSlatGeometryBuilder.cxx:1718 AliMUONSlatGeometryBuilder.cxx:1719 AliMUONSlatGeometryBuilder.cxx:1720 AliMUONSlatGeometryBuilder.cxx:1721 AliMUONSlatGeometryBuilder.cxx:1722 AliMUONSlatGeometryBuilder.cxx:1723 AliMUONSlatGeometryBuilder.cxx:1724 AliMUONSlatGeometryBuilder.cxx:1725 AliMUONSlatGeometryBuilder.cxx:1726 AliMUONSlatGeometryBuilder.cxx:1727 AliMUONSlatGeometryBuilder.cxx:1728 AliMUONSlatGeometryBuilder.cxx:1729 AliMUONSlatGeometryBuilder.cxx:1730 AliMUONSlatGeometryBuilder.cxx:1731 AliMUONSlatGeometryBuilder.cxx:1732 AliMUONSlatGeometryBuilder.cxx:1733 AliMUONSlatGeometryBuilder.cxx:1734 AliMUONSlatGeometryBuilder.cxx:1735 AliMUONSlatGeometryBuilder.cxx:1736 AliMUONSlatGeometryBuilder.cxx:1737 AliMUONSlatGeometryBuilder.cxx:1738 AliMUONSlatGeometryBuilder.cxx:1739 AliMUONSlatGeometryBuilder.cxx:1740 AliMUONSlatGeometryBuilder.cxx:1741 AliMUONSlatGeometryBuilder.cxx:1742 AliMUONSlatGeometryBuilder.cxx:1743 AliMUONSlatGeometryBuilder.cxx:1744 AliMUONSlatGeometryBuilder.cxx:1745 AliMUONSlatGeometryBuilder.cxx:1746 AliMUONSlatGeometryBuilder.cxx:1747 AliMUONSlatGeometryBuilder.cxx:1748 AliMUONSlatGeometryBuilder.cxx:1749 AliMUONSlatGeometryBuilder.cxx:1750 AliMUONSlatGeometryBuilder.cxx:1751 AliMUONSlatGeometryBuilder.cxx:1752 AliMUONSlatGeometryBuilder.cxx:1753 AliMUONSlatGeometryBuilder.cxx:1754 AliMUONSlatGeometryBuilder.cxx:1755 AliMUONSlatGeometryBuilder.cxx:1756 AliMUONSlatGeometryBuilder.cxx:1757 AliMUONSlatGeometryBuilder.cxx:1758 AliMUONSlatGeometryBuilder.cxx:1759 AliMUONSlatGeometryBuilder.cxx:1760 AliMUONSlatGeometryBuilder.cxx:1761 AliMUONSlatGeometryBuilder.cxx:1762 AliMUONSlatGeometryBuilder.cxx:1763 AliMUONSlatGeometryBuilder.cxx:1764 AliMUONSlatGeometryBuilder.cxx:1765 AliMUONSlatGeometryBuilder.cxx:1766 AliMUONSlatGeometryBuilder.cxx:1767 AliMUONSlatGeometryBuilder.cxx:1768 AliMUONSlatGeometryBuilder.cxx:1769 AliMUONSlatGeometryBuilder.cxx:1770 AliMUONSlatGeometryBuilder.cxx:1771 AliMUONSlatGeometryBuilder.cxx:1772 AliMUONSlatGeometryBuilder.cxx:1773 AliMUONSlatGeometryBuilder.cxx:1774 AliMUONSlatGeometryBuilder.cxx:1775 AliMUONSlatGeometryBuilder.cxx:1776 AliMUONSlatGeometryBuilder.cxx:1777 AliMUONSlatGeometryBuilder.cxx:1778 AliMUONSlatGeometryBuilder.cxx:1779 AliMUONSlatGeometryBuilder.cxx:1780 AliMUONSlatGeometryBuilder.cxx:1781 AliMUONSlatGeometryBuilder.cxx:1782 AliMUONSlatGeometryBuilder.cxx:1783 AliMUONSlatGeometryBuilder.cxx:1784 AliMUONSlatGeometryBuilder.cxx:1785 AliMUONSlatGeometryBuilder.cxx:1786 AliMUONSlatGeometryBuilder.cxx:1787 AliMUONSlatGeometryBuilder.cxx:1788 AliMUONSlatGeometryBuilder.cxx:1789 AliMUONSlatGeometryBuilder.cxx:1790 AliMUONSlatGeometryBuilder.cxx:1791 AliMUONSlatGeometryBuilder.cxx:1792 AliMUONSlatGeometryBuilder.cxx:1793 AliMUONSlatGeometryBuilder.cxx:1794 AliMUONSlatGeometryBuilder.cxx:1795 AliMUONSlatGeometryBuilder.cxx:1796 AliMUONSlatGeometryBuilder.cxx:1797 AliMUONSlatGeometryBuilder.cxx:1798 AliMUONSlatGeometryBuilder.cxx:1799 AliMUONSlatGeometryBuilder.cxx:1800 AliMUONSlatGeometryBuilder.cxx:1801 AliMUONSlatGeometryBuilder.cxx:1802 AliMUONSlatGeometryBuilder.cxx:1803 AliMUONSlatGeometryBuilder.cxx:1804 AliMUONSlatGeometryBuilder.cxx:1805 AliMUONSlatGeometryBuilder.cxx:1806 AliMUONSlatGeometryBuilder.cxx:1807 AliMUONSlatGeometryBuilder.cxx:1808 AliMUONSlatGeometryBuilder.cxx:1809 AliMUONSlatGeometryBuilder.cxx:1810 AliMUONSlatGeometryBuilder.cxx:1811 AliMUONSlatGeometryBuilder.cxx:1812 AliMUONSlatGeometryBuilder.cxx:1813 AliMUONSlatGeometryBuilder.cxx:1814 AliMUONSlatGeometryBuilder.cxx:1815 AliMUONSlatGeometryBuilder.cxx:1816 AliMUONSlatGeometryBuilder.cxx:1817 AliMUONSlatGeometryBuilder.cxx:1818 AliMUONSlatGeometryBuilder.cxx:1819 AliMUONSlatGeometryBuilder.cxx:1820 AliMUONSlatGeometryBuilder.cxx:1821 AliMUONSlatGeometryBuilder.cxx:1822 AliMUONSlatGeometryBuilder.cxx:1823 AliMUONSlatGeometryBuilder.cxx:1824 AliMUONSlatGeometryBuilder.cxx:1825 AliMUONSlatGeometryBuilder.cxx:1826 AliMUONSlatGeometryBuilder.cxx:1827 AliMUONSlatGeometryBuilder.cxx:1828 AliMUONSlatGeometryBuilder.cxx:1829 AliMUONSlatGeometryBuilder.cxx:1830 AliMUONSlatGeometryBuilder.cxx:1831 AliMUONSlatGeometryBuilder.cxx:1832 AliMUONSlatGeometryBuilder.cxx:1833 AliMUONSlatGeometryBuilder.cxx:1834 AliMUONSlatGeometryBuilder.cxx:1835 AliMUONSlatGeometryBuilder.cxx:1836 AliMUONSlatGeometryBuilder.cxx:1837 AliMUONSlatGeometryBuilder.cxx:1838 AliMUONSlatGeometryBuilder.cxx:1839 AliMUONSlatGeometryBuilder.cxx:1840 AliMUONSlatGeometryBuilder.cxx:1841 AliMUONSlatGeometryBuilder.cxx:1842 AliMUONSlatGeometryBuilder.cxx:1843 AliMUONSlatGeometryBuilder.cxx:1844 AliMUONSlatGeometryBuilder.cxx:1845 AliMUONSlatGeometryBuilder.cxx:1846 AliMUONSlatGeometryBuilder.cxx:1847 AliMUONSlatGeometryBuilder.cxx:1848 AliMUONSlatGeometryBuilder.cxx:1849 AliMUONSlatGeometryBuilder.cxx:1850 AliMUONSlatGeometryBuilder.cxx:1851 AliMUONSlatGeometryBuilder.cxx:1852 AliMUONSlatGeometryBuilder.cxx:1853 AliMUONSlatGeometryBuilder.cxx:1854 AliMUONSlatGeometryBuilder.cxx:1855 AliMUONSlatGeometryBuilder.cxx:1856 AliMUONSlatGeometryBuilder.cxx:1857 AliMUONSlatGeometryBuilder.cxx:1858 AliMUONSlatGeometryBuilder.cxx:1859 AliMUONSlatGeometryBuilder.cxx:1860 AliMUONSlatGeometryBuilder.cxx:1861 AliMUONSlatGeometryBuilder.cxx:1862 AliMUONSlatGeometryBuilder.cxx:1863 AliMUONSlatGeometryBuilder.cxx:1864 AliMUONSlatGeometryBuilder.cxx:1865 AliMUONSlatGeometryBuilder.cxx:1866 AliMUONSlatGeometryBuilder.cxx:1867 AliMUONSlatGeometryBuilder.cxx:1868 AliMUONSlatGeometryBuilder.cxx:1869 AliMUONSlatGeometryBuilder.cxx:1870 AliMUONSlatGeometryBuilder.cxx:1871 AliMUONSlatGeometryBuilder.cxx:1872 AliMUONSlatGeometryBuilder.cxx:1873 AliMUONSlatGeometryBuilder.cxx:1874 AliMUONSlatGeometryBuilder.cxx:1875 AliMUONSlatGeometryBuilder.cxx:1876 AliMUONSlatGeometryBuilder.cxx:1877 AliMUONSlatGeometryBuilder.cxx:1878 AliMUONSlatGeometryBuilder.cxx:1879 AliMUONSlatGeometryBuilder.cxx:1880 AliMUONSlatGeometryBuilder.cxx:1881 AliMUONSlatGeometryBuilder.cxx:1882 AliMUONSlatGeometryBuilder.cxx:1883 AliMUONSlatGeometryBuilder.cxx:1884 AliMUONSlatGeometryBuilder.cxx:1885 AliMUONSlatGeometryBuilder.cxx:1886 AliMUONSlatGeometryBuilder.cxx:1887 AliMUONSlatGeometryBuilder.cxx:1888 AliMUONSlatGeometryBuilder.cxx:1889 AliMUONSlatGeometryBuilder.cxx:1890 AliMUONSlatGeometryBuilder.cxx:1891 AliMUONSlatGeometryBuilder.cxx:1892 AliMUONSlatGeometryBuilder.cxx:1893 AliMUONSlatGeometryBuilder.cxx:1894 AliMUONSlatGeometryBuilder.cxx:1895 AliMUONSlatGeometryBuilder.cxx:1896 AliMUONSlatGeometryBuilder.cxx:1897 AliMUONSlatGeometryBuilder.cxx:1898 AliMUONSlatGeometryBuilder.cxx:1899 AliMUONSlatGeometryBuilder.cxx:1900 AliMUONSlatGeometryBuilder.cxx:1901 AliMUONSlatGeometryBuilder.cxx:1902 AliMUONSlatGeometryBuilder.cxx:1903 AliMUONSlatGeometryBuilder.cxx:1904 AliMUONSlatGeometryBuilder.cxx:1905 AliMUONSlatGeometryBuilder.cxx:1906 AliMUONSlatGeometryBuilder.cxx:1907 AliMUONSlatGeometryBuilder.cxx:1908 AliMUONSlatGeometryBuilder.cxx:1909 AliMUONSlatGeometryBuilder.cxx:1910 AliMUONSlatGeometryBuilder.cxx:1911 AliMUONSlatGeometryBuilder.cxx:1912 AliMUONSlatGeometryBuilder.cxx:1913 AliMUONSlatGeometryBuilder.cxx:1914 AliMUONSlatGeometryBuilder.cxx:1915 AliMUONSlatGeometryBuilder.cxx:1916 AliMUONSlatGeometryBuilder.cxx:1917 AliMUONSlatGeometryBuilder.cxx:1918 AliMUONSlatGeometryBuilder.cxx:1919 AliMUONSlatGeometryBuilder.cxx:1920 AliMUONSlatGeometryBuilder.cxx:1921 AliMUONSlatGeometryBuilder.cxx:1922 AliMUONSlatGeometryBuilder.cxx:1923 AliMUONSlatGeometryBuilder.cxx:1924 AliMUONSlatGeometryBuilder.cxx:1925 AliMUONSlatGeometryBuilder.cxx:1926 AliMUONSlatGeometryBuilder.cxx:1927 AliMUONSlatGeometryBuilder.cxx:1928 AliMUONSlatGeometryBuilder.cxx:1929 AliMUONSlatGeometryBuilder.cxx:1930 AliMUONSlatGeometryBuilder.cxx:1931 AliMUONSlatGeometryBuilder.cxx:1932 AliMUONSlatGeometryBuilder.cxx:1933 AliMUONSlatGeometryBuilder.cxx:1934 AliMUONSlatGeometryBuilder.cxx:1935 AliMUONSlatGeometryBuilder.cxx:1936 AliMUONSlatGeometryBuilder.cxx:1937 AliMUONSlatGeometryBuilder.cxx:1938 AliMUONSlatGeometryBuilder.cxx:1939 AliMUONSlatGeometryBuilder.cxx:1940 AliMUONSlatGeometryBuilder.cxx:1941 AliMUONSlatGeometryBuilder.cxx:1942 AliMUONSlatGeometryBuilder.cxx:1943 AliMUONSlatGeometryBuilder.cxx:1944 AliMUONSlatGeometryBuilder.cxx:1945 AliMUONSlatGeometryBuilder.cxx:1946 AliMUONSlatGeometryBuilder.cxx:1947 AliMUONSlatGeometryBuilder.cxx:1948 AliMUONSlatGeometryBuilder.cxx:1949 AliMUONSlatGeometryBuilder.cxx:1950 AliMUONSlatGeometryBuilder.cxx:1951 AliMUONSlatGeometryBuilder.cxx:1952 AliMUONSlatGeometryBuilder.cxx:1953 AliMUONSlatGeometryBuilder.cxx:1954 AliMUONSlatGeometryBuilder.cxx:1955 AliMUONSlatGeometryBuilder.cxx:1956 AliMUONSlatGeometryBuilder.cxx:1957 AliMUONSlatGeometryBuilder.cxx:1958 AliMUONSlatGeometryBuilder.cxx:1959 AliMUONSlatGeometryBuilder.cxx:1960 AliMUONSlatGeometryBuilder.cxx:1961 AliMUONSlatGeometryBuilder.cxx:1962 AliMUONSlatGeometryBuilder.cxx:1963 AliMUONSlatGeometryBuilder.cxx:1964 AliMUONSlatGeometryBuilder.cxx:1965 AliMUONSlatGeometryBuilder.cxx:1966 AliMUONSlatGeometryBuilder.cxx:1967 AliMUONSlatGeometryBuilder.cxx:1968 AliMUONSlatGeometryBuilder.cxx:1969 AliMUONSlatGeometryBuilder.cxx:1970 AliMUONSlatGeometryBuilder.cxx:1971 AliMUONSlatGeometryBuilder.cxx:1972 AliMUONSlatGeometryBuilder.cxx:1973 AliMUONSlatGeometryBuilder.cxx:1974 AliMUONSlatGeometryBuilder.cxx:1975 AliMUONSlatGeometryBuilder.cxx:1976 AliMUONSlatGeometryBuilder.cxx:1977 AliMUONSlatGeometryBuilder.cxx:1978 AliMUONSlatGeometryBuilder.cxx:1979 AliMUONSlatGeometryBuilder.cxx:1980 AliMUONSlatGeometryBuilder.cxx:1981 AliMUONSlatGeometryBuilder.cxx:1982 AliMUONSlatGeometryBuilder.cxx:1983 AliMUONSlatGeometryBuilder.cxx:1984 AliMUONSlatGeometryBuilder.cxx:1985 AliMUONSlatGeometryBuilder.cxx:1986 AliMUONSlatGeometryBuilder.cxx:1987 AliMUONSlatGeometryBuilder.cxx:1988 AliMUONSlatGeometryBuilder.cxx:1989 AliMUONSlatGeometryBuilder.cxx:1990 AliMUONSlatGeometryBuilder.cxx:1991 AliMUONSlatGeometryBuilder.cxx:1992 AliMUONSlatGeometryBuilder.cxx:1993 AliMUONSlatGeometryBuilder.cxx:1994 AliMUONSlatGeometryBuilder.cxx:1995 AliMUONSlatGeometryBuilder.cxx:1996 AliMUONSlatGeometryBuilder.cxx:1997 AliMUONSlatGeometryBuilder.cxx:1998 AliMUONSlatGeometryBuilder.cxx:1999 AliMUONSlatGeometryBuilder.cxx:2000 AliMUONSlatGeometryBuilder.cxx:2001 AliMUONSlatGeometryBuilder.cxx:2002 AliMUONSlatGeometryBuilder.cxx:2003 AliMUONSlatGeometryBuilder.cxx:2004 AliMUONSlatGeometryBuilder.cxx:2005 AliMUONSlatGeometryBuilder.cxx:2006 AliMUONSlatGeometryBuilder.cxx:2007 AliMUONSlatGeometryBuilder.cxx:2008 AliMUONSlatGeometryBuilder.cxx:2009 AliMUONSlatGeometryBuilder.cxx:2010 AliMUONSlatGeometryBuilder.cxx:2011 AliMUONSlatGeometryBuilder.cxx:2012 AliMUONSlatGeometryBuilder.cxx:2013 AliMUONSlatGeometryBuilder.cxx:2014 AliMUONSlatGeometryBuilder.cxx:2015 AliMUONSlatGeometryBuilder.cxx:2016 AliMUONSlatGeometryBuilder.cxx:2017 AliMUONSlatGeometryBuilder.cxx:2018 AliMUONSlatGeometryBuilder.cxx:2019 AliMUONSlatGeometryBuilder.cxx:2020 AliMUONSlatGeometryBuilder.cxx:2021 AliMUONSlatGeometryBuilder.cxx:2022 AliMUONSlatGeometryBuilder.cxx:2023 AliMUONSlatGeometryBuilder.cxx:2024 AliMUONSlatGeometryBuilder.cxx:2025 AliMUONSlatGeometryBuilder.cxx:2026 AliMUONSlatGeometryBuilder.cxx:2027 AliMUONSlatGeometryBuilder.cxx:2028 AliMUONSlatGeometryBuilder.cxx:2029 AliMUONSlatGeometryBuilder.cxx:2030 AliMUONSlatGeometryBuilder.cxx:2031 AliMUONSlatGeometryBuilder.cxx:2032 AliMUONSlatGeometryBuilder.cxx:2033 AliMUONSlatGeometryBuilder.cxx:2034 AliMUONSlatGeometryBuilder.cxx:2035 AliMUONSlatGeometryBuilder.cxx:2036 AliMUONSlatGeometryBuilder.cxx:2037 AliMUONSlatGeometryBuilder.cxx:2038 AliMUONSlatGeometryBuilder.cxx:2039 AliMUONSlatGeometryBuilder.cxx:2040 AliMUONSlatGeometryBuilder.cxx:2041 AliMUONSlatGeometryBuilder.cxx:2042 AliMUONSlatGeometryBuilder.cxx:2043 AliMUONSlatGeometryBuilder.cxx:2044 AliMUONSlatGeometryBuilder.cxx:2045 AliMUONSlatGeometryBuilder.cxx:2046 AliMUONSlatGeometryBuilder.cxx:2047 AliMUONSlatGeometryBuilder.cxx:2048 AliMUONSlatGeometryBuilder.cxx:2049 AliMUONSlatGeometryBuilder.cxx:2050 AliMUONSlatGeometryBuilder.cxx:2051 AliMUONSlatGeometryBuilder.cxx:2052 AliMUONSlatGeometryBuilder.cxx:2053 AliMUONSlatGeometryBuilder.cxx:2054 AliMUONSlatGeometryBuilder.cxx:2055 AliMUONSlatGeometryBuilder.cxx:2056 AliMUONSlatGeometryBuilder.cxx:2057 AliMUONSlatGeometryBuilder.cxx:2058 AliMUONSlatGeometryBuilder.cxx:2059 AliMUONSlatGeometryBuilder.cxx:2060 AliMUONSlatGeometryBuilder.cxx:2061 AliMUONSlatGeometryBuilder.cxx:2062 AliMUONSlatGeometryBuilder.cxx:2063 AliMUONSlatGeometryBuilder.cxx:2064 AliMUONSlatGeometryBuilder.cxx:2065 AliMUONSlatGeometryBuilder.cxx:2066 AliMUONSlatGeometryBuilder.cxx:2067 AliMUONSlatGeometryBuilder.cxx:2068 AliMUONSlatGeometryBuilder.cxx:2069 AliMUONSlatGeometryBuilder.cxx:2070 AliMUONSlatGeometryBuilder.cxx:2071 AliMUONSlatGeometryBuilder.cxx:2072 AliMUONSlatGeometryBuilder.cxx:2073 AliMUONSlatGeometryBuilder.cxx:2074 AliMUONSlatGeometryBuilder.cxx:2075 AliMUONSlatGeometryBuilder.cxx:2076 AliMUONSlatGeometryBuilder.cxx:2077 AliMUONSlatGeometryBuilder.cxx:2078 AliMUONSlatGeometryBuilder.cxx:2079 AliMUONSlatGeometryBuilder.cxx:2080 AliMUONSlatGeometryBuilder.cxx:2081 AliMUONSlatGeometryBuilder.cxx:2082 AliMUONSlatGeometryBuilder.cxx:2083 AliMUONSlatGeometryBuilder.cxx:2084 AliMUONSlatGeometryBuilder.cxx:2085 AliMUONSlatGeometryBuilder.cxx:2086 AliMUONSlatGeometryBuilder.cxx:2087 AliMUONSlatGeometryBuilder.cxx:2088 AliMUONSlatGeometryBuilder.cxx:2089 AliMUONSlatGeometryBuilder.cxx:2090 AliMUONSlatGeometryBuilder.cxx:2091 AliMUONSlatGeometryBuilder.cxx:2092 AliMUONSlatGeometryBuilder.cxx:2093 AliMUONSlatGeometryBuilder.cxx:2094 AliMUONSlatGeometryBuilder.cxx:2095 AliMUONSlatGeometryBuilder.cxx:2096 AliMUONSlatGeometryBuilder.cxx:2097 AliMUONSlatGeometryBuilder.cxx:2098 AliMUONSlatGeometryBuilder.cxx:2099 AliMUONSlatGeometryBuilder.cxx:2100 AliMUONSlatGeometryBuilder.cxx:2101 AliMUONSlatGeometryBuilder.cxx:2102 AliMUONSlatGeometryBuilder.cxx:2103 AliMUONSlatGeometryBuilder.cxx:2104 AliMUONSlatGeometryBuilder.cxx:2105 AliMUONSlatGeometryBuilder.cxx:2106 AliMUONSlatGeometryBuilder.cxx:2107 AliMUONSlatGeometryBuilder.cxx:2108 AliMUONSlatGeometryBuilder.cxx:2109 AliMUONSlatGeometryBuilder.cxx:2110 AliMUONSlatGeometryBuilder.cxx:2111 AliMUONSlatGeometryBuilder.cxx:2112 AliMUONSlatGeometryBuilder.cxx:2113 AliMUONSlatGeometryBuilder.cxx:2114 AliMUONSlatGeometryBuilder.cxx:2115 AliMUONSlatGeometryBuilder.cxx:2116 AliMUONSlatGeometryBuilder.cxx:2117 AliMUONSlatGeometryBuilder.cxx:2118 AliMUONSlatGeometryBuilder.cxx:2119 AliMUONSlatGeometryBuilder.cxx:2120 AliMUONSlatGeometryBuilder.cxx:2121 AliMUONSlatGeometryBuilder.cxx:2122 AliMUONSlatGeometryBuilder.cxx:2123 AliMUONSlatGeometryBuilder.cxx:2124 AliMUONSlatGeometryBuilder.cxx:2125 AliMUONSlatGeometryBuilder.cxx:2126 AliMUONSlatGeometryBuilder.cxx:2127 AliMUONSlatGeometryBuilder.cxx:2128 AliMUONSlatGeometryBuilder.cxx:2129 AliMUONSlatGeometryBuilder.cxx:2130 AliMUONSlatGeometryBuilder.cxx:2131 AliMUONSlatGeometryBuilder.cxx:2132 AliMUONSlatGeometryBuilder.cxx:2133 AliMUONSlatGeometryBuilder.cxx:2134 AliMUONSlatGeometryBuilder.cxx:2135 AliMUONSlatGeometryBuilder.cxx:2136 AliMUONSlatGeometryBuilder.cxx:2137 AliMUONSlatGeometryBuilder.cxx:2138 AliMUONSlatGeometryBuilder.cxx:2139 AliMUONSlatGeometryBuilder.cxx:2140 AliMUONSlatGeometryBuilder.cxx:2141 AliMUONSlatGeometryBuilder.cxx:2142 AliMUONSlatGeometryBuilder.cxx:2143 AliMUONSlatGeometryBuilder.cxx:2144 AliMUONSlatGeometryBuilder.cxx:2145 AliMUONSlatGeometryBuilder.cxx:2146 AliMUONSlatGeometryBuilder.cxx:2147 AliMUONSlatGeometryBuilder.cxx:2148 AliMUONSlatGeometryBuilder.cxx:2149 AliMUONSlatGeometryBuilder.cxx:2150 AliMUONSlatGeometryBuilder.cxx:2151 AliMUONSlatGeometryBuilder.cxx:2152 AliMUONSlatGeometryBuilder.cxx:2153 AliMUONSlatGeometryBuilder.cxx:2154 AliMUONSlatGeometryBuilder.cxx:2155 AliMUONSlatGeometryBuilder.cxx:2156 AliMUONSlatGeometryBuilder.cxx:2157 AliMUONSlatGeometryBuilder.cxx:2158 AliMUONSlatGeometryBuilder.cxx:2159 AliMUONSlatGeometryBuilder.cxx:2160 AliMUONSlatGeometryBuilder.cxx:2161 AliMUONSlatGeometryBuilder.cxx:2162 AliMUONSlatGeometryBuilder.cxx:2163 AliMUONSlatGeometryBuilder.cxx:2164 AliMUONSlatGeometryBuilder.cxx:2165 AliMUONSlatGeometryBuilder.cxx:2166 AliMUONSlatGeometryBuilder.cxx:2167 AliMUONSlatGeometryBuilder.cxx:2168 AliMUONSlatGeometryBuilder.cxx:2169 AliMUONSlatGeometryBuilder.cxx:2170 AliMUONSlatGeometryBuilder.cxx:2171 AliMUONSlatGeometryBuilder.cxx:2172 AliMUONSlatGeometryBuilder.cxx:2173 AliMUONSlatGeometryBuilder.cxx:2174 AliMUONSlatGeometryBuilder.cxx:2175 AliMUONSlatGeometryBuilder.cxx:2176 AliMUONSlatGeometryBuilder.cxx:2177 AliMUONSlatGeometryBuilder.cxx:2178 AliMUONSlatGeometryBuilder.cxx:2179 AliMUONSlatGeometryBuilder.cxx:2180 AliMUONSlatGeometryBuilder.cxx:2181 AliMUONSlatGeometryBuilder.cxx:2182 AliMUONSlatGeometryBuilder.cxx:2183 AliMUONSlatGeometryBuilder.cxx:2184 AliMUONSlatGeometryBuilder.cxx:2185 AliMUONSlatGeometryBuilder.cxx:2186 AliMUONSlatGeometryBuilder.cxx:2187 AliMUONSlatGeometryBuilder.cxx:2188 AliMUONSlatGeometryBuilder.cxx:2189 AliMUONSlatGeometryBuilder.cxx:2190 AliMUONSlatGeometryBuilder.cxx:2191 AliMUONSlatGeometryBuilder.cxx:2192 AliMUONSlatGeometryBuilder.cxx:2193 AliMUONSlatGeometryBuilder.cxx:2194 AliMUONSlatGeometryBuilder.cxx:2195 AliMUONSlatGeometryBuilder.cxx:2196 AliMUONSlatGeometryBuilder.cxx:2197 AliMUONSlatGeometryBuilder.cxx:2198 AliMUONSlatGeometryBuilder.cxx:2199 AliMUONSlatGeometryBuilder.cxx:2200 AliMUONSlatGeometryBuilder.cxx:2201 AliMUONSlatGeometryBuilder.cxx:2202 AliMUONSlatGeometryBuilder.cxx:2203 AliMUONSlatGeometryBuilder.cxx:2204 AliMUONSlatGeometryBuilder.cxx:2205 AliMUONSlatGeometryBuilder.cxx:2206 AliMUONSlatGeometryBuilder.cxx:2207 AliMUONSlatGeometryBuilder.cxx:2208 AliMUONSlatGeometryBuilder.cxx:2209 AliMUONSlatGeometryBuilder.cxx:2210 AliMUONSlatGeometryBuilder.cxx:2211 AliMUONSlatGeometryBuilder.cxx:2212 AliMUONSlatGeometryBuilder.cxx:2213 AliMUONSlatGeometryBuilder.cxx:2214 AliMUONSlatGeometryBuilder.cxx:2215 AliMUONSlatGeometryBuilder.cxx:2216 AliMUONSlatGeometryBuilder.cxx:2217 AliMUONSlatGeometryBuilder.cxx:2218 AliMUONSlatGeometryBuilder.cxx:2219 AliMUONSlatGeometryBuilder.cxx:2220 AliMUONSlatGeometryBuilder.cxx:2221 AliMUONSlatGeometryBuilder.cxx:2222 AliMUONSlatGeometryBuilder.cxx:2223 AliMUONSlatGeometryBuilder.cxx:2224 AliMUONSlatGeometryBuilder.cxx:2225 AliMUONSlatGeometryBuilder.cxx:2226 AliMUONSlatGeometryBuilder.cxx:2227 AliMUONSlatGeometryBuilder.cxx:2228 AliMUONSlatGeometryBuilder.cxx:2229 AliMUONSlatGeometryBuilder.cxx:2230 AliMUONSlatGeometryBuilder.cxx:2231 AliMUONSlatGeometryBuilder.cxx:2232 AliMUONSlatGeometryBuilder.cxx:2233 AliMUONSlatGeometryBuilder.cxx:2234 AliMUONSlatGeometryBuilder.cxx:2235 AliMUONSlatGeometryBuilder.cxx:2236 AliMUONSlatGeometryBuilder.cxx:2237 AliMUONSlatGeometryBuilder.cxx:2238 AliMUONSlatGeometryBuilder.cxx:2239 AliMUONSlatGeometryBuilder.cxx:2240 AliMUONSlatGeometryBuilder.cxx:2241 AliMUONSlatGeometryBuilder.cxx:2242 AliMUONSlatGeometryBuilder.cxx:2243 AliMUONSlatGeometryBuilder.cxx:2244 AliMUONSlatGeometryBuilder.cxx:2245 AliMUONSlatGeometryBuilder.cxx:2246 AliMUONSlatGeometryBuilder.cxx:2247 AliMUONSlatGeometryBuilder.cxx:2248 AliMUONSlatGeometryBuilder.cxx:2249 AliMUONSlatGeometryBuilder.cxx:2250 AliMUONSlatGeometryBuilder.cxx:2251 AliMUONSlatGeometryBuilder.cxx:2252 AliMUONSlatGeometryBuilder.cxx:2253 AliMUONSlatGeometryBuilder.cxx:2254 AliMUONSlatGeometryBuilder.cxx:2255 AliMUONSlatGeometryBuilder.cxx:2256 AliMUONSlatGeometryBuilder.cxx:2257 AliMUONSlatGeometryBuilder.cxx:2258 AliMUONSlatGeometryBuilder.cxx:2259 AliMUONSlatGeometryBuilder.cxx:2260 AliMUONSlatGeometryBuilder.cxx:2261 AliMUONSlatGeometryBuilder.cxx:2262 AliMUONSlatGeometryBuilder.cxx:2263 AliMUONSlatGeometryBuilder.cxx:2264 AliMUONSlatGeometryBuilder.cxx:2265 AliMUONSlatGeometryBuilder.cxx:2266 AliMUONSlatGeometryBuilder.cxx:2267 AliMUONSlatGeometryBuilder.cxx:2268 AliMUONSlatGeometryBuilder.cxx:2269 AliMUONSlatGeometryBuilder.cxx:2270 AliMUONSlatGeometryBuilder.cxx:2271 AliMUONSlatGeometryBuilder.cxx:2272 AliMUONSlatGeometryBuilder.cxx:2273 AliMUONSlatGeometryBuilder.cxx:2274 AliMUONSlatGeometryBuilder.cxx:2275 AliMUONSlatGeometryBuilder.cxx:2276 AliMUONSlatGeometryBuilder.cxx:2277 AliMUONSlatGeometryBuilder.cxx:2278 AliMUONSlatGeometryBuilder.cxx:2279 AliMUONSlatGeometryBuilder.cxx:2280 AliMUONSlatGeometryBuilder.cxx:2281 AliMUONSlatGeometryBuilder.cxx:2282 AliMUONSlatGeometryBuilder.cxx:2283 AliMUONSlatGeometryBuilder.cxx:2284 AliMUONSlatGeometryBuilder.cxx:2285 AliMUONSlatGeometryBuilder.cxx:2286 AliMUONSlatGeometryBuilder.cxx:2287 AliMUONSlatGeometryBuilder.cxx:2288 AliMUONSlatGeometryBuilder.cxx:2289 AliMUONSlatGeometryBuilder.cxx:2290 AliMUONSlatGeometryBuilder.cxx:2291 AliMUONSlatGeometryBuilder.cxx:2292 AliMUONSlatGeometryBuilder.cxx:2293 AliMUONSlatGeometryBuilder.cxx:2294 AliMUONSlatGeometryBuilder.cxx:2295 AliMUONSlatGeometryBuilder.cxx:2296 AliMUONSlatGeometryBuilder.cxx:2297 AliMUONSlatGeometryBuilder.cxx:2298 AliMUONSlatGeometryBuilder.cxx:2299 AliMUONSlatGeometryBuilder.cxx:2300 AliMUONSlatGeometryBuilder.cxx:2301 AliMUONSlatGeometryBuilder.cxx:2302 AliMUONSlatGeometryBuilder.cxx:2303 AliMUONSlatGeometryBuilder.cxx:2304 AliMUONSlatGeometryBuilder.cxx:2305 AliMUONSlatGeometryBuilder.cxx:2306 AliMUONSlatGeometryBuilder.cxx:2307 AliMUONSlatGeometryBuilder.cxx:2308 AliMUONSlatGeometryBuilder.cxx:2309 AliMUONSlatGeometryBuilder.cxx:2310 AliMUONSlatGeometryBuilder.cxx:2311 AliMUONSlatGeometryBuilder.cxx:2312 AliMUONSlatGeometryBuilder.cxx:2313 AliMUONSlatGeometryBuilder.cxx:2314 AliMUONSlatGeometryBuilder.cxx:2315 AliMUONSlatGeometryBuilder.cxx:2316 AliMUONSlatGeometryBuilder.cxx:2317 AliMUONSlatGeometryBuilder.cxx:2318 AliMUONSlatGeometryBuilder.cxx:2319 AliMUONSlatGeometryBuilder.cxx:2320 AliMUONSlatGeometryBuilder.cxx:2321 AliMUONSlatGeometryBuilder.cxx:2322 AliMUONSlatGeometryBuilder.cxx:2323 AliMUONSlatGeometryBuilder.cxx:2324 AliMUONSlatGeometryBuilder.cxx:2325 AliMUONSlatGeometryBuilder.cxx:2326 AliMUONSlatGeometryBuilder.cxx:2327 AliMUONSlatGeometryBuilder.cxx:2328 AliMUONSlatGeometryBuilder.cxx:2329 AliMUONSlatGeometryBuilder.cxx:2330 AliMUONSlatGeometryBuilder.cxx:2331 AliMUONSlatGeometryBuilder.cxx:2332 AliMUONSlatGeometryBuilder.cxx:2333 AliMUONSlatGeometryBuilder.cxx:2334 AliMUONSlatGeometryBuilder.cxx:2335 AliMUONSlatGeometryBuilder.cxx:2336 AliMUONSlatGeometryBuilder.cxx:2337 AliMUONSlatGeometryBuilder.cxx:2338 AliMUONSlatGeometryBuilder.cxx:2339 AliMUONSlatGeometryBuilder.cxx:2340 AliMUONSlatGeometryBuilder.cxx:2341 AliMUONSlatGeometryBuilder.cxx:2342 AliMUONSlatGeometryBuilder.cxx:2343 AliMUONSlatGeometryBuilder.cxx:2344 AliMUONSlatGeometryBuilder.cxx:2345 AliMUONSlatGeometryBuilder.cxx:2346 AliMUONSlatGeometryBuilder.cxx:2347 AliMUONSlatGeometryBuilder.cxx:2348 AliMUONSlatGeometryBuilder.cxx:2349 AliMUONSlatGeometryBuilder.cxx:2350 AliMUONSlatGeometryBuilder.cxx:2351 AliMUONSlatGeometryBuilder.cxx:2352 AliMUONSlatGeometryBuilder.cxx:2353 AliMUONSlatGeometryBuilder.cxx:2354 AliMUONSlatGeometryBuilder.cxx:2355 AliMUONSlatGeometryBuilder.cxx:2356 AliMUONSlatGeometryBuilder.cxx:2357 AliMUONSlatGeometryBuilder.cxx:2358 AliMUONSlatGeometryBuilder.cxx:2359