X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STRUCT%2FAliABSOv3.cxx;h=e611caac548efb66e09087b92becbf1724f34f01;hb=ed8b2ee0e3e3f9a726ee341cf32d1421b39a04f7;hp=6865c3fee34333376ca3aad0162633d9a64fa189;hpb=d4e77c616ed9f49307025b0a91db2a7e0e2139fe;p=u%2Fmrichter%2FAliRoot.git diff --git a/STRUCT/AliABSOv3.cxx b/STRUCT/AliABSOv3.cxx index 6865c3fee34..e611caac548 100644 --- a/STRUCT/AliABSOv3.cxx +++ b/STRUCT/AliABSOv3.cxx @@ -178,7 +178,7 @@ void AliABSOv3::CreateGeometry() // 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.; @@ -319,8 +319,8 @@ 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.; - 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); voFaWPlateA->AddNode(voFaWPlateAI, 1, gGeoIdentity); @@ -381,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 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.; @@ -557,6 +557,7 @@ void AliABSOv3::CreateGeometry() // Drawing ALIP2A__00xx // /////////////////////////////////// Float_t dzFaSteelCone25 = 25.; + Float_t eps = 0.001; Float_t rInFaSteelCone25A = rInFaConcreteCone2; Float_t rOuFaSteelCone25A = rOuFaConcreteCone2; Float_t rInFaSteelCone25B = rInFaSteelCone25A + dzFaSteelCone25 * angle02; @@ -564,8 +565,8 @@ void AliABSOv3::CreateGeometry() TGeoVolume* voFaSteelCone25 = new TGeoVolume("AFaSteelCone25", new TGeoCone(dzFaSteelCone25/2., - rInFaSteelCone25A, rOuFaSteelCone25A, - rInFaSteelCone25B, rOuFaSteelCone25B), + rInFaSteelCone25A + eps, rOuFaSteelCone25A - eps, + rInFaSteelCone25B + eps, rOuFaSteelCone25B - eps), kMedSteelSh); // Pos 16 @@ -581,16 +582,16 @@ void AliABSOv3::CreateGeometry() TGeoVolume* voFaSteelCone31 = new TGeoVolume("AFaSteelCone31", new TGeoCone(dzFaSteelCone31/2., - rInFaSteelCone31A, rOuFaSteelCone31A, - rInFaSteelCone31B, rOuFaSteelCone31B), + rInFaSteelCone31A + eps, rOuFaSteelCone31A - eps, + rInFaSteelCone31B + eps, rOuFaSteelCone31B - eps), kMedSteelSh); - // Outer Rregion with higher transport cuts + // Outer Region with higher transport cuts dz = 5.; TGeoVolume* voFaSteelCone31I = new TGeoVolume("AFaSteelCone31I", new TGeoCone(dz/2., - rInFaSteelCone31B - dz * angle03, - rOuFaSteelCone31B - dz * angle10, - rInFaSteelCone31B, rOuFaSteelCone31B), + rInFaSteelCone31B - dz * angle03 + eps, + rOuFaSteelCone31B - dz * angle10 - eps, + rInFaSteelCone31B + eps, rOuFaSteelCone31B - eps), kMedSteel); voFaSteelCone31->AddNode(voFaSteelCone31I, 1, new TGeoTranslation(0., 0., dzFaSteelCone31/2. - dz/2.)); @@ -607,7 +608,7 @@ void AliABSOv3::CreateGeometry() // 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.; @@ -714,10 +715,10 @@ void AliABSOv3::CreateGeometry() // 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); - shFaAccM->DefineSection(i, z, rmin, rmax); + shFaAccM->DefineSection(i, zpos, rmin, rmax); } z = dzFaGraphiteCone + dzFaConcreteCone + dzFaSteelCone25; z0 = z + zFa + dzFaFlange; @@ -733,9 +734,9 @@ void AliABSOv3::CreateGeometry() z += dzFaGraphiteCone; voFaAccM->AddNode(voFaConcreteCone, 1, new TGeoTranslation(0., 0., z + dzFaConcreteCone / 2.)); z += dzFaConcreteCone; - voFaAccM->AddNode(voFaSteelCone25, 1, new TGeoTranslation(0., 0., z + dzFaSteelCone25 / 2. + 0.001)); + voFaAccM->AddNode(voFaSteelCone25, 1, new TGeoTranslation(0., 0., z + dzFaSteelCone25 / 2.)); z += dzFaSteelCone25; - voFaAccM->AddNode(voFaSteelCone31, 1, new TGeoTranslation(0., 0., z + dzFaSteelCone31 / 2. + 0.001)); + voFaAccM->AddNode(voFaSteelCone31, 1, new TGeoTranslation(0., 0., z + dzFaSteelCone31 / 2.)); // // Inner shield @@ -890,12 +891,12 @@ void AliABSOv3::CreateGeometry() 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(voFassAlRing, 1, new TGeoTranslation(0., 0., 382. - 3.5)); + voFA->AddNode(voFassAlRing, 1, new TGeoTranslation(0., 0., 382. - 3.56)); top->AddNode(voFA, 1, new TGeoCombiTrans(0., 0., -90., rotxz)); } -TGeoPcon* AliABSOv3::MakeShapeFromTemplate(TGeoPcon* pcon, Float_t drMin, Float_t drMax) +TGeoPcon* AliABSOv3::MakeShapeFromTemplate(const TGeoPcon* pcon, Float_t drMin, Float_t drMax) { // // Returns new shape based on a template changing