]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STRUCT/AliSHILv3.cxx
3mm overlap corrected
[u/mrichter/AliRoot.git] / STRUCT / AliSHILv3.cxx
index 22bd528a12685aae087563f59b3c32fe4ddac558..68ec4e7556df89c3e66e900da487e080a63ee638 100644 (file)
@@ -91,6 +91,9 @@ void AliSHILv3::CreateGeometry()
     TGeoMedium* kMedPbSh    = gGeoManager->GetMedium("SHIL_PB_C2");
 //
     TGeoMedium* kMedConcSh  = gGeoManager->GetMedium("SHIL_CC_C2");
+//
+    TGeoMedium* kMedCastiron   = gGeoManager->GetMedium("SHIL_CAST_IRON0");
+    TGeoMedium* kMedCastironSh = gGeoManager->GetMedium("SHIL_CAST_IRON2");
 //
     const Float_t kDegRad = TMath::Pi() / 180.;
     const Float_t kAngle02   = TMath::Tan( 2.00   * kDegRad);   
@@ -242,25 +245,25 @@ void AliSHILv3::CreateGeometry()
       dz = 0.;
       
       dz +=  kFaWring2HWidth;
-      asFaExtraShield->AddNode(voFaWring2,    1, new TGeoCombiTrans(0., 0., dz, rot090));
-      asFaExtraShield->AddNode(voFaWring2,    2, new TGeoCombiTrans(0., 0., dz, rot270));
+      asFaExtraShield->AddNode(voFaWring2,    1, new TGeoCombiTrans(0., 0., dz, rot180));
+      asFaExtraShield->AddNode(voFaWring2,    2, new TGeoCombiTrans(0., 0., dz, rot000));
       dz +=   kFaWring2HWidth;
       dz +=   kFaDWrings;
       dz +=   kFaWring3HWidth;
-      asFaExtraShield->AddNode(voFaWring3,    1, new TGeoCombiTrans(0., 0., dz, rot000));
-      asFaExtraShield->AddNode(voFaWring3,    2, new TGeoCombiTrans(0., 0., dz, rot180));
+      asFaExtraShield->AddNode(voFaWring3,    1, new TGeoCombiTrans(0., 0., dz, rot090));
+      asFaExtraShield->AddNode(voFaWring3,    2, new TGeoCombiTrans(0., 0., dz, rot270));
       dz +=   kFaWring3HWidth;   
       dz +=   kFaWring5HWidth;   
       asFaExtraShield->AddNode(voFaWring5,    1, new TGeoTranslation(0., 0., dz));
       dz +=   kFaWring5HWidth;   
       dz +=   kFaWring3HWidth;   
-      asFaExtraShield->AddNode(voFaWring3,    3, new TGeoCombiTrans(0., 0., dz, rot090));
-      asFaExtraShield->AddNode(voFaWring3,    4, new TGeoCombiTrans(0., 0., dz, rot270));
+      asFaExtraShield->AddNode(voFaWring3,    3, new TGeoCombiTrans(0., 0., dz, rot180));
+      asFaExtraShield->AddNode(voFaWring3,    4, new TGeoCombiTrans(0., 0., dz, rot000));
       dz +=   kFaWring3HWidth;   
       dz +=   kFaDWrings;
       dz +=   kFaWring2HWidth;
-      asFaExtraShield->AddNode(voFaWring2,    3, new TGeoCombiTrans(0., 0., dz, rot000));
-      asFaExtraShield->AddNode(voFaWring2,    4, new TGeoCombiTrans(0., 0., dz, rot180));
+      asFaExtraShield->AddNode(voFaWring2,    3, new TGeoCombiTrans(0., 0., dz, rot090));
+      asFaExtraShield->AddNode(voFaWring2,    4, new TGeoCombiTrans(0., 0., dz, rot270));
       dz +=   kFaWring2HWidth;
 
       
@@ -683,8 +686,8 @@ void AliSHILv3::CreateGeometry()
       Float_t saa1Wring2Rinner  = 20.31;
       Float_t saa1Wring2Router  = 23.40;
       Float_t saa1Wring2HWidth  =  3.75;
-      Float_t saa1Wring2Cutoffx =  4.45;
-      Float_t saa1Wring2Cutoffy =  4.45;
+      Float_t saa1Wring2Cutoffx =  4.9;
+      Float_t saa1Wring2Cutoffy =  4.9;
       TGeoTubeSeg* shSaa1Wring2a  = new TGeoTubeSeg(saa1Wring2Rinner, saa1Wring2Router, saa1Wring2HWidth, 0., 90.);
       shSaa1Wring2a->SetName("shSaa1Wring2a");
       TGeoBBox* shSaa1Wring2b  = new TGeoBBox(saa1Wring2Router / 2., saa1Wring2Router / 2., saa1Wring2HWidth);
@@ -703,8 +706,8 @@ void AliSHILv3::CreateGeometry()
       Float_t saa1Wring3Rinner  = 20.31;
       Float_t saa1Wring3Router  = 23.40;
       Float_t saa1Wring3HWidth  =  3.75;
-      Float_t saa1Wring3Cutoffx =  4.50;
-      Float_t saa1Wring3Cutoffy =  4.40;
+      Float_t saa1Wring3Cutoffx =  4.80;
+      Float_t saa1Wring3Cutoffy =  4.80;
       TGeoTubeSeg* shSaa1Wring3a  = new TGeoTubeSeg(saa1Wring3Rinner, saa1Wring3Router, saa1Wring3HWidth, 0., 90.);
       shSaa1Wring3a->SetName("shSaa1Wring3a");
       TGeoBBox* shSaa1Wring3b  = new TGeoBBox(saa1Wring3Router / 2., saa1Wring3Router / 2., saa1Wring3HWidth);
@@ -1121,9 +1124,7 @@ void AliSHILv3::CreateGeometry()
 //    SAA3 Outer Shape           //
 //    Drawing ALIP2A__0288       //
 ///////////////////////////////////
-      
       TGeoVolumeAssembly* voSaa3  = new TGeoVolumeAssembly("YSAA3");
-      
 ///////////////////////////////////
 //    SAA3 Concrete cone         //
 //    Drawing ALIP2A__0284       //
@@ -1142,7 +1143,7 @@ void AliSHILv3::CreateGeometry()
       TGeoCompositeShape* shSaa3CCBlock = new TGeoCompositeShape("Saa3CCBlock", "Saa3CCBlockO-Saa3InnerRegion");
       TGeoVolume* voSaa3CCBlock         = new TGeoVolume("YSAA3CCBlock", shSaa3CCBlock, kMedConcSh);     
 
-
+      
       voSaa3->AddNode(voSaa3CCBlock, 1, gGeoIdentity);
       
 //    Plate 1: 240 cm x 80 cm x 100 cm (x 2)
@@ -1186,7 +1187,7 @@ void AliSHILv3::CreateGeometry()
       TGeoCompositeShape* shMuonFilter = new TGeoCompositeShape("MuonFilter", "FilterO-FilterI:trFilter");
       //
       // !!!!! Needs to be inclined
-      TGeoVolume* voMuonFilter = new TGeoVolume("YMuonFilter", shMuonFilter, kMedSteel);
+      TGeoVolume* voMuonFilter = new TGeoVolume("YMuonFilter", shMuonFilter, kMedCastiron);
 
       // Inner part with higher transport cuts
       Float_t dzMuonFilterH = 50.;
@@ -1195,7 +1196,7 @@ void AliSHILv3::CreateGeometry()
       TGeoTube*   shMuonFilterIH  = new TGeoTube(0., 50., dzMuonFilterH + 5.);
       shMuonFilterIH->SetName("FilterIH");
       TGeoCompositeShape* shMuonFilterH = new TGeoCompositeShape("MuonFilterH", "FilterOH-FilterIH:trFilter");
-      TGeoVolume* voMuonFilterH = new TGeoVolume("YMuonFilterH", shMuonFilterH, kMedSteelSh);
+      TGeoVolume* voMuonFilterH = new TGeoVolume("YMuonFilterH", shMuonFilterH, kMedCastironSh);
       voMuonFilter->AddNode(voMuonFilterH, 1, gGeoIdentity);
       
 //  
@@ -1277,7 +1278,7 @@ void AliSHILv3::CreateGeometry()
       voYOUT1->SetVisibility(0);
 
       voYOUT1->AddNode(asSaa1ExtraShield, 1, new TGeoCombiTrans(0., 0., - (100.7 + 62.2 + saa1ExtraShieldL / 2. + ziFaWTail), rotxz));
-      voYOUT1->AddNode(asFaExtraShield,   1, new TGeoCombiTrans(0., 0., - (16.41 + kFaWring2HWidth + ziFaWTail), rotxz));
+      voYOUT1->AddNode(asFaExtraShield,   1, new TGeoCombiTrans(0., 0., - (16.41 - 1.46 + kFaWring2HWidth + ziFaWTail), rotxz));
       top->AddNode(voYOUT1, 1, gGeoIdentity);
 //
 //  Mother volume for muon stations 4+5 and trigger stations.
@@ -1316,7 +1317,7 @@ void AliSHILv3::CreateGeometry()
       InvertPcon(shYOUT21);
       shYOUT21->SetName("shYOUT21");
 
-      TGeoBBox* shYOUT22 = new TGeoBBox(460. , 200., 65.);
+      TGeoBBox* shYOUT22 = new TGeoBBox(460. , 200., 65. - 1.5);
       shYOUT22->SetName("shYOUT22");
       
       TGeoTranslation* tYOUT22 = new TGeoTranslation(0., -310. - 200., -zcFilter);
@@ -1382,7 +1383,7 @@ void AliSHILv3::InvertPcon(TGeoPcon* pcon)
     delete[] rmax;
 }
 
-TGeoPcon* AliSHILv3::MakeShapeFromTemplate(TGeoPcon* pcon, Float_t drMin, Float_t drMax)
+TGeoPcon* AliSHILv3::MakeShapeFromTemplate(const TGeoPcon* pcon, Float_t drMin, Float_t drMax)
 {
     // 
     // Returns new shape based on a template changing