]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONSlatGeometryBuilder.cxx
AliHLTTPCCAMerger.cxx added to compilation
[u/mrichter/AliRoot.git] / MUON / AliMUONSlatGeometryBuilder.cxx
index b6cce47b39ac6222d0b65b159f7a00f87b2fb9f0..129f3d1d85297fa6ffcd253fe6709e1d762cb0b2 100644 (file)
@@ -289,8 +289,8 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
 
       // 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.;
@@ -317,7 +317,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
        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)
@@ -327,7 +327,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
            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)
@@ -338,7 +338,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
                                                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)
@@ -348,7 +348,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
              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)
@@ -359,7 +359,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
                                                  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)
@@ -369,7 +369,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
            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)
@@ -380,7 +380,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
                                                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)
@@ -389,7 +389,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
          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)
@@ -605,8 +605,8 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
          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.;
@@ -997,8 +997,8 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
     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;
@@ -1016,7 +1016,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
       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)
@@ -1026,7 +1026,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
          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)
@@ -1036,7 +1036,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
          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)
@@ -1045,7 +1045,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
        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 )
@@ -1056,7 +1056,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
                                     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)
@@ -1066,7 +1066,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
          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)
@@ -1076,7 +1076,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
          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)
@@ -1085,7 +1085,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
        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 )
@@ -1265,8 +1265,8 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
        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);
 
@@ -1549,8 +1549,8 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
     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.;
@@ -1568,7 +1568,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
       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)
@@ -1577,7 +1577,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
       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)
@@ -1587,7 +1587,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
          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)
@@ -1596,7 +1596,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
       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 )
@@ -1607,7 +1607,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
                                                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)
@@ -1617,7 +1617,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
          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)
@@ -1627,7 +1627,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
          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)
@@ -1636,7 +1636,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
       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 )
@@ -1814,8 +1814,8 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
        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
@@ -2054,11 +2054,10 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
 
 }
 
-
 //______________________________________________________________________________
-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
@@ -2091,6 +2090,13 @@ void AliMUONSlatGeometryBuilder::SetTransformations()
   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