Small overlaps corrected.
[u/mrichter/AliRoot.git] / STRUCT / AliABSOv3.cxx
index 190d2cc..af3d522 100644 (file)
@@ -72,10 +72,6 @@ void AliABSOv3::CreateGeometry()
     TGeoVolume* top = gGeoManager->GetVolume("ALIC");
     
 //
     TGeoVolume* top = gGeoManager->GetVolume("ALIC");
     
 //
-// Translation
-//
-    TGeoTranslation* vec0 = new TGeoTranslation(0., 0., 0.);
-//
 // Media
 //
     TGeoMedium* kMedNiW     = gGeoManager->GetMedium("ABSO_Ni/W0");
 // Media
 //
     TGeoMedium* kMedNiW     = gGeoManager->GetMedium("ABSO_Ni/W0");
@@ -182,7 +178,7 @@ void AliABSOv3::CreateGeometry()
       // Front insert 
       Float_t dzSteelEnvelopeFI    =  1.;
       Float_t rInSteelEnvelopeFI   = 42.0/2.;
       // Front insert 
       Float_t dzSteelEnvelopeFI    =  1.;
       Float_t rInSteelEnvelopeFI   = 42.0/2.;
-      Float_t rOuSteelEnvelopeFI   = 85.0/2.;      
+      Float_t rOuSteelEnvelopeFI   = 85.0/2.+ 0.06;      
       
       TGeoPcon* shFaSteelEnvelopeC = new TGeoPcon(0., 360., 7);
       z = 0.;
       
       TGeoPcon* shFaSteelEnvelopeC = new TGeoPcon(0., 360., 7);
       z = 0.;
@@ -323,11 +319,11 @@ void AliABSOv3::CreateGeometry()
       for (Int_t i = 1; i < 5; i++) {
          Float_t rmin = shFaWPlateA->GetRmin(i+2);
          Float_t rmax = shFaWPlateA->GetRmax(i+2) - 3.;        
       for (Int_t i = 1; i < 5; i++) {
          Float_t rmin = shFaWPlateA->GetRmin(i+2);
          Float_t rmax = shFaWPlateA->GetRmax(i+2) - 3.;        
-         Float_t z    = shFaWPlateA->GetZ(i+2);
-         shFaWPlateAI->DefineSection(i, z, rmin, rmax);
+         Float_t zpos = shFaWPlateA->GetZ(i+2);
+         shFaWPlateAI->DefineSection(i, zpos, rmin, rmax);
       }
       TGeoVolume* voFaWPlateAI = new TGeoVolume("AFaWPlateAI", shFaWPlateAI, kMedNiWsh);
       }
       TGeoVolume* voFaWPlateAI = new TGeoVolume("AFaWPlateAI", shFaWPlateAI, kMedNiWsh);
-      voFaWPlateA->AddNode(voFaWPlateAI, 1, vec0);
+      voFaWPlateA->AddNode(voFaWPlateAI, 1, gGeoIdentity);
       
 //
 // Inner Tungsten Shield
       
 //
 // Inner Tungsten Shield
@@ -385,7 +381,7 @@ void AliABSOv3::CreateGeometry()
       Float_t rInFaWTube2C1 =   9.10/2.;
       Float_t rInFaWTube2C2 =  12.58/2.;
       Float_t rOuFaWTube2C1 =  20.70/2.;
       Float_t rInFaWTube2C1 =   9.10/2.;
       Float_t rInFaWTube2C2 =  12.58/2.;
       Float_t rOuFaWTube2C1 =  20.70/2.;
-      Float_t rOuFaWTube2C2 =  30.72/2.;
+      Float_t rOuFaWTube2C2 =  30.72/2.- 0.05;
       // Front Flange 
       Float_t dzFaWTube2F   =  0.6;
       Float_t rInFaWTube2F  = 15.4/2.;
       // Front Flange 
       Float_t dzFaWTube2F   =  0.6;
       Float_t rInFaWTube2F  = 15.4/2.;
@@ -518,7 +514,7 @@ void AliABSOv3::CreateGeometry()
       // Inner region with higher transport cuts
       TGeoPcon*   shFaPbConeI = MakeShapeFromTemplate(shFaPbCone, 0., -3.);
       TGeoVolume* voFaPbConeI  = new TGeoVolume("AFaPbConeI", shFaPbConeI, kMedPbSh);
       // Inner region with higher transport cuts
       TGeoPcon*   shFaPbConeI = MakeShapeFromTemplate(shFaPbCone, 0., -3.);
       TGeoVolume* voFaPbConeI  = new TGeoVolume("AFaPbConeI", shFaPbConeI, kMedPbSh);
-      voFaPbCone->AddNode(voFaPbConeI, 1, vec0);
+      voFaPbCone->AddNode(voFaPbConeI, 1, gGeoIdentity);
       
       
 // Pos 13
       
       
 // Pos 13
@@ -611,7 +607,7 @@ void AliABSOv3::CreateGeometry()
       // 2nd section
       Float_t dzFaCompRing2  =  1.2;
       Float_t rInFaCompRing2 = 14.0/2.;
       // 2nd section
       Float_t dzFaCompRing2  =  1.2;
       Float_t rInFaCompRing2 = 14.0/2.;
-      Float_t rOuFaCompRing2 = 34.3/2.;
+      Float_t rOuFaCompRing2 = 35.3/2.;
 
       TGeoPcon* shFaCompRing = new TGeoPcon(0., 360., 4);
       z = 0.;
 
       TGeoPcon* shFaCompRing = new TGeoPcon(0., 360., 4);
       z = 0.;
@@ -711,16 +707,17 @@ void AliABSOv3::CreateGeometry()
       shFaM->DefineSection(15, z,  rInFaCH2Cone2,                    rOuSteelEnvelopeR2);
 
       TGeoVolume* voFaM = new TGeoVolume("AFaM", shFaM, kMedAir);
       shFaM->DefineSection(15, z,  rInFaCH2Cone2,                    rOuSteelEnvelopeR2);
 
       TGeoVolume* voFaM = new TGeoVolume("AFaM", shFaM, kMedAir);
-
+      voFaM->SetVisibility(0);
+      
 
 //
 //    Assemble volumes inside acceptance
       TGeoPcon* shFaAccM = new TGeoPcon(0., 360., 7);
       for (Int_t i = 0; i < 4; i++) {
 
 //
 //    Assemble volumes inside acceptance
       TGeoPcon* shFaAccM = new TGeoPcon(0., 360., 7);
       for (Int_t i = 0; i < 4; i++) {
-         Float_t z     = shFaGraphiteCone->GetZ(i);
+         Float_t zpos  = shFaGraphiteCone->GetZ(i);
          Float_t rmin  = shFaGraphiteCone->GetRmin(i);
          Float_t rmax  = shFaGraphiteCone->GetRmax(i);
          Float_t rmin  = shFaGraphiteCone->GetRmin(i);
          Float_t rmax  = shFaGraphiteCone->GetRmax(i);
-         shFaAccM->DefineSection(i, z, rmin, rmax);
+         shFaAccM->DefineSection(i, zpos, rmin, rmax);
       }
       z  = dzFaGraphiteCone + dzFaConcreteCone + dzFaSteelCone25;
       z0 = z + zFa + dzFaFlange;
       }
       z  = dzFaGraphiteCone + dzFaConcreteCone + dzFaSteelCone25;
       z0 = z + zFa + dzFaFlange;
@@ -732,7 +729,7 @@ void AliABSOv3::CreateGeometry()
       TGeoVolume* voFaAccM = new TGeoVolume("AFaAcc", shFaAccM, kMedAir);
       
       z = 0;
       TGeoVolume* voFaAccM = new TGeoVolume("AFaAcc", shFaAccM, kMedAir);
       
       z = 0;
-      voFaAccM->AddNode(voFaGraphiteCone, 1, vec0);
+      voFaAccM->AddNode(voFaGraphiteCone, 1, gGeoIdentity);
       z += dzFaGraphiteCone;
       voFaAccM->AddNode(voFaConcreteCone, 1, new TGeoTranslation(0., 0., z + dzFaConcreteCone / 2.));
       z += dzFaConcreteCone;
       z += dzFaGraphiteCone;
       voFaAccM->AddNode(voFaConcreteCone, 1, new TGeoTranslation(0., 0., z + dzFaConcreteCone / 2.));
       z += dzFaConcreteCone;
@@ -743,7 +740,7 @@ void AliABSOv3::CreateGeometry()
 //
 // Inner shield
       TGeoVolumeAssembly* voFaInnerShield = new TGeoVolumeAssembly("AFaInnerShield");
 //
 // Inner shield
       TGeoVolumeAssembly* voFaInnerShield = new TGeoVolumeAssembly("AFaInnerShield");
-      voFaInnerShield->AddNode(voFaWTube1, 1, vec0);
+      voFaInnerShield->AddNode(voFaWTube1, 1, gGeoIdentity);
       z = dzFaWTube1 - 0.6;
       voFaInnerShield->AddNode(voFaWTube2, 1, new TGeoTranslation(0., 0., z) );
       z += dzFaWTube2;
       z = dzFaWTube1 - 0.6;
       voFaInnerShield->AddNode(voFaWTube2, 1, new TGeoTranslation(0., 0., z) );
       z += dzFaWTube2;
@@ -758,16 +755,16 @@ void AliABSOv3::CreateGeometry()
 //    Adding volumes to mother volume
 //
       z = 0.;
 //    Adding volumes to mother volume
 //
       z = 0.;
-      voFaM->AddNode(voFaWPlateA,       1, vec0);
+      voFaM->AddNode(voFaWPlateA,       1, gGeoIdentity);
       z += dzFaWPlate;
       voFaM->AddNode(voFaSteelEnvelope, 1, new TGeoTranslation(0., 0., z));
       z += dzSteelEnvelopeFC;
       voFaM->AddNode(voFaPbCone,        1, new TGeoTranslation(0., 0., z));
       z += (dzFaPbCone + dzFaCH2Cone / 2.);
       voFaM->AddNode(voFaCH2Cone,       1, new TGeoTranslation(0., 0., z));
       z += dzFaWPlate;
       voFaM->AddNode(voFaSteelEnvelope, 1, new TGeoTranslation(0., 0., z));
       z += dzSteelEnvelopeFC;
       voFaM->AddNode(voFaPbCone,        1, new TGeoTranslation(0., 0., z));
       z += (dzFaPbCone + dzFaCH2Cone / 2.);
       voFaM->AddNode(voFaCH2Cone,       1, new TGeoTranslation(0., 0., z));
-      voFaM->AddNode(voFaFlange,   1, vec0);
-      voFaM->AddNode(voFaMgRing,   1, vec0);
-      voFaM->AddNode(voFaCompRing, 1, vec0);
+      voFaM->AddNode(voFaFlange,   1, gGeoIdentity);
+      voFaM->AddNode(voFaMgRing,   1, gGeoIdentity);
+      voFaM->AddNode(voFaCompRing, 1, gGeoIdentity);
       voFaM->AddNode(voFaAccM, 1, new TGeoTranslation(0., 0., dzFaFlange));
 
 ////////////////////////////////////////////////////
       voFaM->AddNode(voFaAccM, 1, new TGeoTranslation(0., 0., dzFaFlange));
 
 ////////////////////////////////////////////////////
@@ -863,7 +860,7 @@ void AliABSOv3::CreateGeometry()
          new TGeoCompositeShape("shFassCentral", "FassCone-(FassWindow:tFassWindow+FassApperture)");
       
       TGeoVolume* voFassCentral = new TGeoVolume("AFassCentral", shFassCentral, kMedSteel);
          new TGeoCompositeShape("shFassCentral", "FassCone-(FassWindow:tFassWindow+FassApperture)");
       
       TGeoVolume* voFassCentral = new TGeoVolume("AFassCentral", shFassCentral, kMedSteel);
-      voFass->AddNode(voFassCentral, 1, vec0);
+      voFass->AddNode(voFassCentral, 1, gGeoIdentity);
       
 //
 // Aluminum ring
       
 //
 // Aluminum ring
@@ -890,10 +887,10 @@ void AliABSOv3::CreateGeometry()
 //
 // Absorber and Support
       TGeoVolumeAssembly* voFA = new TGeoVolumeAssembly("AFA");
 //
 // Absorber and Support
       TGeoVolumeAssembly* voFA = new TGeoVolumeAssembly("AFA");
-      voFA->AddNode(voFaM,        1, vec0);
+      voFA->AddNode(voFaM,        1, gGeoIdentity);
       voFA->AddNode(voFaEndPlate, 1, new TGeoTranslation(0., 0., dzFa + dzEndPlate/2.));
       voFA->AddNode(voFass, 1, new TGeoTranslation(0., 0., 388.45));
       voFA->AddNode(voFaEndPlate, 1, new TGeoTranslation(0., 0., dzFa + dzEndPlate/2.));
       voFA->AddNode(voFass, 1, new TGeoTranslation(0., 0., 388.45));
-      voFA->AddNode(voFassAlRing, 1, new TGeoTranslation(0., 0., 382. - 0.55));
+      voFA->AddNode(voFassAlRing, 1, new TGeoTranslation(0., 0., 382. - 3.56));
       top->AddNode(voFA, 1, new TGeoCombiTrans(0., 0., -90., rotxz));
 }
 
       top->AddNode(voFA, 1, new TGeoCombiTrans(0., 0., -90., rotxz));
 }