// 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.;
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);
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.;
// 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;
TGeoVolume* voFaSteelCone25 = new TGeoVolume("AFaSteelCone25",
new TGeoCone(dzFaSteelCone25/2.,
- rInFaSteelCone25A, rOuFaSteelCone25A,
- rInFaSteelCone25B, rOuFaSteelCone25B),
+ rInFaSteelCone25A + eps, rOuFaSteelCone25A - eps,
+ rInFaSteelCone25B + eps, rOuFaSteelCone25B - eps),
kMedSteelSh);
// Pos 16
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.));
// 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;
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
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