]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STRUCT/AliSHILv3.cxx
ATO-98 - forgotten commit - Getter for regstered correction - to enable change of...
[u/mrichter/AliRoot.git] / STRUCT / AliSHILv3.cxx
index f5df0c586f032cc1db2d8c53c1126e3b7f94529d..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;
 
       
@@ -355,8 +358,8 @@ void AliSHILv3::CreateGeometry()
       Float_t rInSaa1StEnv2 = 41.7/2.;
       Float_t rOuSaa1StEnv2 = rInSaa1StEnv2 + dSt / TMath::Cos(2.0 * kDegRad) - 0.05;
 // 3         
-      Float_t rOuSaa1StEnv3 = 57.6/2.;
-      Float_t rInSaa1StEnv3 = rOuSaa1StEnv3 - dSt - 0.05;
+      Float_t rOuSaa1StEnv3 = 57.6/2.; 
+      Float_t rInSaa1StEnv3 = rOuSaa1StEnv3 - dSt + 0.05;
 // 4
       Float_t rInSaa1StEnv4 = 63.4/2.;
       Float_t rOuSaa1StEnv4 = rInSaa1StEnv4 + dSt / TMath::Cos(1.6 * kDegRad) - 0.05;
@@ -641,12 +644,12 @@ void AliSHILv3::CreateGeometry()
       shSaa1M->DefineSection(14, z, 0.,    rmaxSaa1);
       shSaa1M->DefineSection(15, z, rmax,  rmaxSaa1);
       z = zSaa1StRing;     
-      shSaa1M->DefineSection(16, z, rmax, rOuSaa1String);
+      shSaa1M->DefineSection(16, z, rmax + 0.4, rOuSaa1String);
       z += dzSaa1PbCompF1;
-      shSaa1M->DefineSection(17, z, rmax, rOuSaa1String);
-      shSaa1M->DefineSection(18, z, rmax, rOuSaa1PbCompF3);
+      shSaa1M->DefineSection(17, z, rmax + 0.4, rOuSaa1String);
+      shSaa1M->DefineSection(18, z, rmax + 0.4, rOuSaa1PbCompF3);
       z += dzSaa1PbCompF2;
-      shSaa1M->DefineSection(19, z, rmax, rOuSaa1PbCompF3);
+      shSaa1M->DefineSection(19, z, rmax + 0.4, rOuSaa1PbCompF3);
 
 //
 //    Inner 1.69deg line
@@ -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