// create and position the slat (mother) volumes
- char idSlatCh5[5];
- char idSlatCh6[5];
+ char idSlatCh5[6];
+ char idSlatCh6[6];
Float_t xSlat3;
Float_t ySlat3 = 0;
angle = 0.;
Float_t dzSlat3 = -0.25; // see drawing PQ7EN345-6 (Delta_slat=80mm instead 85mm)
Float_t zSlat3 = (i%2 ==0)? -(zSlat+dzSlat3) : (zSlat+dzSlat3); // seems not that zSlat3 = zSlat4 & 5 refering to plan PQ7EN345-6 ? -> Indeed, fixed J.C.
- sprintf(idSlatCh5,"LA%d",i+kNslats3-1);
+ sprintf(idSlatCh5,"SLA%d",i+kNslats3-1);
detElemId = 509 - (i + kNslats3-1-4);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh5, detElemId, true, TGeoTranslation(xSlat3, ySlat3, -zSlat3 + dzCh3),
TGeoRotation("rot1",90,angle,90,270+angle,180,0) );
- sprintf(idSlatCh5,"LA%d",3*kNslats3-2+i);
+ sprintf(idSlatCh5,"SLA%d",3*kNslats3-2+i);
detElemId = 500 + (i + kNslats3-1-4);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0)
TGeoRotation("rot2",90,180+angle,90,90+angle,180,0) );
if (i > 0) {
- sprintf(idSlatCh5,"LA%d",kNslats3-1-i);
+ sprintf(idSlatCh5,"SLA%d",kNslats3-1-i);
detElemId = 509 + (i + kNslats3-1-4);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0 && detElemId != 510)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh5, detElemId, true, TGeoTranslation(xSlat3, -ySlat3, -zSlat3 + dzCh3),
TGeoRotation("rot3",90,angle,90,270+angle,180,0) );
- sprintf(idSlatCh5,"LA%d",3*kNslats3-2-i);
+ sprintf(idSlatCh5,"SLA%d",3*kNslats3-2-i);
detElemId = 518 - (i + kNslats3-1-4);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 1 && detElemId != 517)
TGeoRotation("rot4",90,180+angle,90,270+angle,0,0) );
}
- sprintf(idSlatCh6,"LB%d",kNslats3-1+i);
+ sprintf(idSlatCh6,"SLB%d",kNslats3-1+i);
detElemId = 609 - (i + kNslats3-1-4);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh6, detElemId, true, TGeoTranslation(xSlat3, ySlat3, -zSlat3 + dzCh3),
TGeoRotation("rot5",90,angle,90,270+angle,180,0) );
- sprintf(idSlatCh6,"LB%d",3*kNslats3-2+i);
+ sprintf(idSlatCh6,"SLB%d",3*kNslats3-2+i);
detElemId = 600 + (i + kNslats3-1-4);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0)
TGeoRotation("rot6",90,180+angle,90,90+angle,180,0) );
if (i > 0) {
- sprintf(idSlatCh6,"LB%d",kNslats3-1-i);
+ sprintf(idSlatCh6,"SLB%d",kNslats3-1-i);
detElemId = 609 + (i + kNslats3-1-4);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0 && detElemId != 610)
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh6, detElemId, true, TGeoTranslation(xSlat3, -ySlat3, -zSlat3 + dzCh3),
TGeoRotation("rot7",90,angle,90,270+angle,180,0) );
- sprintf(idSlatCh6,"LB%d",3*kNslats3-2-i);
+ sprintf(idSlatCh6,"SLB%d",3*kNslats3-2-i);
detElemId = 618 - (i + kNslats3-1-4);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 1 && detElemId != 617)
if (i == 0 && quadrant == 2) continue;
if (i == 0 && quadrant == 4) continue;
- sprintf(idSlatCh5,"LA%d",ConvertSlatNum(i,quadrant,kNslats3-1));
- sprintf(idSlatCh6,"LB%d",ConvertSlatNum(i,quadrant,kNslats3-1));
+ 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 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[5];
- char idSlatCh8[5];
+ char idSlatCh7[6];
+ char idSlatCh8[6];
Float_t xSlat4;
Float_t ySlat41 = 0;
Float_t ySlat42 = 0;
Float_t dzCh4 = dzCh;
Float_t zSlat4 = (i%2 ==0)? -zSlat : zSlat;
- sprintf(idSlatCh7,"LC%d",kNslats4-1+i);
+ sprintf(idSlatCh7,"SLC%d",kNslats4-1+i);
detElemId = 713 - (i + kNslats4-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh7, detElemId, true, TGeoTranslation(xSlat4, ySlat41, -zSlat4 + dzCh4),
TGeoRotation("rot1",90,angle,90,270+angle,180,0) );
- sprintf(idSlatCh7,"LC%d",3*kNslats4-2+i);
+ sprintf(idSlatCh7,"SLC%d",3*kNslats4-2+i);
detElemId = 700 + (i + kNslats4-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh7, detElemId, true, TGeoTranslation(-xSlat4, ySlat41, zSlat4 - dzCh4),
TGeoRotation("rot2",90,180+angle,90,90+angle,180,0) );
if (i > 0) {
- sprintf(idSlatCh7,"LC%d",kNslats4-1-i);
+ sprintf(idSlatCh7,"SLC%d",kNslats4-1-i);
detElemId = 713 + (i + kNslats4-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0 && detElemId != 714)
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh7, detElemId, true, TGeoTranslation(xSlat4, -ySlat41, -zSlat4 + dzCh4),
TGeoRotation("rot3",90,angle,90,270+angle,180,0) );
- sprintf(idSlatCh7,"LC%d",3*kNslats4-2-i);
+ sprintf(idSlatCh7,"SLC%d",3*kNslats4-2-i);
detElemId = 726 - (i + kNslats4-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 1 && detElemId != 725 )
TGeoRotation("rot4",90,180+angle,90,270+angle,0,0) );
}
- sprintf(idSlatCh8,"LD%d",kNslats4-1+i);
+ sprintf(idSlatCh8,"SLD%d",kNslats4-1+i);
detElemId = 813 - (i + kNslats4-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh8, detElemId, true, TGeoTranslation(xSlat4, ySlat42, -zSlat4 + dzCh4),
TGeoRotation("rot5",90,angle,90,270+angle,180,0) );
- sprintf(idSlatCh8,"LD%d",3*kNslats4-2+i);
+ sprintf(idSlatCh8,"SLD%d",3*kNslats4-2+i);
detElemId = 800 + (i + kNslats4-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh8, detElemId, true, TGeoTranslation(-xSlat4, ySlat42, zSlat4 - dzCh4),
TGeoRotation("rot6",90,180+angle,90,90+angle,180,0) );
if (i > 0) {
- sprintf(idSlatCh8,"LD%d",kNslats4-1-i);
+ sprintf(idSlatCh8,"SLD%d",kNslats4-1-i);
detElemId = 813 + (i + kNslats4-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0 && detElemId != 814)
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh8, detElemId, true, TGeoTranslation(xSlat4, -ySlat42, -zSlat4 + dzCh4),
TGeoRotation("rot7",90,angle,90,270+angle,180,0) );
- sprintf(idSlatCh8,"LD%d",3*kNslats4-2-i);
+ sprintf(idSlatCh8,"SLD%d",3*kNslats4-2-i);
detElemId = 826 - (i + kNslats4-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 1 && detElemId != 825 )
if (i == 0 && quadrant == 2) continue;
if (i == 0 && quadrant == 4) continue;
- sprintf(idSlatCh7,"LC%d",ConvertSlatNum(i,quadrant,kNslats4-1));
- sprintf(idSlatCh8,"LD%d",ConvertSlatNum(i,quadrant,kNslats4-1));
+ 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 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[5];
- char idSlatCh10[5];
+ char idSlatCh9[6];
+ char idSlatCh10[6];
Float_t xSlat5;
Float_t ySlat5 = 0;
angle = 0.;
Float_t dzCh5 = dzCh;
Float_t zSlat5 = (i%2 ==0)? -zSlat : zSlat;
- sprintf(idSlatCh9,"LE%d",kNslats5-1+i);
+ sprintf(idSlatCh9,"SLE%d",kNslats5-1+i);
detElemId = 913 - (i + kNslats5-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0)
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh9, detElemId, true, TGeoTranslation(xSlat5, ySlat5, -zSlat5 + dzCh5),
TGeoRotation("rot1",90,angle,90,270+angle,180,0) );
- sprintf(idSlatCh9,"LE%d",3*kNslats5-2+i);
+ sprintf(idSlatCh9,"SLE%d",3*kNslats5-2+i);
detElemId = 900 + (i + kNslats5-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh9, detElemId, true, TGeoTranslation(-xSlat5, ySlat5, zSlat5 - dzCh5),
TGeoRotation("rot2",90,180+angle,90,90+angle,180,0) );
if (i > 0) {
- sprintf(idSlatCh9,"LE%d",kNslats5-1-i);
+ sprintf(idSlatCh9,"SLE%d",kNslats5-1-i);
detElemId = 913 + (i + kNslats5-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0 && detElemId != 914)
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh9, detElemId, true, TGeoTranslation(xSlat5, -ySlat5, -zSlat5 + dzCh5),
TGeoRotation("rot3",90,angle,90,270+angle,180,0) );
- sprintf(idSlatCh9,"LE%d",3*kNslats5-2-i);
+ sprintf(idSlatCh9,"SLE%d",3*kNslats5-2-i);
detElemId = 926 - (i + kNslats5-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 1 && detElemId != 925 )
TGeoRotation("rot4",90,180+angle,90,270+angle,0,0) );
}
- sprintf(idSlatCh10,"LF%d",kNslats5-1+i);
+ sprintf(idSlatCh10,"SLF%d",kNslats5-1+i);
detElemId = 1013 - (i + kNslats5-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh10, detElemId, true, TGeoTranslation(xSlat5, ySlat5, -zSlat5 + dzCh5),
TGeoRotation("rot5",90,angle,90,270+angle,180,0) );
- sprintf(idSlatCh10,"LF%d",3*kNslats5-2+i);
+ sprintf(idSlatCh10,"SLF%d",3*kNslats5-2+i);
detElemId = 1000 + (i + kNslats5-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0)
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh10, detElemId, true, TGeoTranslation(-xSlat5, ySlat5, zSlat5 - dzCh5),
TGeoRotation("rot6",90,180+angle,90,90+angle,180,0) );
if (i > 0) {
- sprintf(idSlatCh10,"LF%d",kNslats5-1-i);
+ sprintf(idSlatCh10,"SLF%d",kNslats5-1-i);
detElemId = 1013 + (i + kNslats5-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 0 && detElemId != 1014)
else
GetEnvelopes(moduleId)->AddEnvelope(idSlatCh10, detElemId, true, TGeoTranslation(xSlat5, -ySlat5, -zSlat5 + dzCh5),
TGeoRotation("rot7",90,angle,90,270+angle,180,0) );
- sprintf(idSlatCh10,"LF%d",3*kNslats5-2-i);
+ sprintf(idSlatCh10,"SLF%d",3*kNslats5-2-i);
detElemId = 1026 - (i + kNslats5-1-6);
moduleId = AliMpDEManager::GetGeomModuleId(detElemId);
if (detElemId % 2 == 1 && detElemId != 1025 )
if (i == 0 && quadrant == 2) continue;
if (i == 0 && quadrant == 4) continue;
- sprintf(idSlatCh9,"LE%d",ConvertSlatNum(i,quadrant,kNslats5-1));
- sprintf(idSlatCh10,"LF%d",ConvertSlatNum(i,quadrant,kNslats5-1));
+ 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.; // ok
}
-
//______________________________________________________________________________
-void AliMUONSlatGeometryBuilder::SetTransformations()
+void AliMUONSlatGeometryBuilder::SetVolumes()
{
-/// Defines the transformations for the station345 chambers.
+/// Defines the volumes for the station345 chambers.
if (gAlice->GetModule("DIPO")) {
// if DIPO is preset, the whole station will be placed in DDIP volume
SetVolume(13, "SC09O", true);
SetVolume(14, "SC10I", true);
SetVolume(15, "SC10O", true);
+}
+
+
+//______________________________________________________________________________
+void AliMUONSlatGeometryBuilder::SetTransformations()
+{
+/// Defines the transformations for the station345 chambers.
// Stations 345 are not perpendicular to the beam axis
// See AliMUONConstants class