TGeoVolume* top = gGeoManager->GetVolume("ALIC");
//
-// Translation
-//
- TGeoTranslation* vec0 = new TGeoTranslation(0., 0., 0.);
-//
// Media
//
TGeoMedium* kMedNiW = gGeoManager->GetMedium("ABSO_Ni/W0");
TGeoMedium* kMedNiWsh = gGeoManager->GetMedium("ABSO_Ni/W3");
+//
TGeoMedium* kMedSteel = gGeoManager->GetMedium("ABSO_ST_C0");
TGeoMedium* kMedSteelSh = gGeoManager->GetMedium("ABSO_ST_C3");
+//
TGeoMedium* kMedAir = gGeoManager->GetMedium("ABSO_AIR_C0");
-
+//
TGeoMedium* kMedPb = gGeoManager->GetMedium("ABSO_PB_C0");
TGeoMedium* kMedPbSh = gGeoManager->GetMedium("ABSO_PB_C2");
-
- TGeoMedium* kMedConc = gGeoManager->GetMedium("ABSO_CC_C0");
-
- TGeoMedium* kMedCH2 = gGeoManager->GetMedium("ABSO_CH2_C0");
-
+//
+ TGeoMedium* kMedConcSh = gGeoManager->GetMedium("ABSO_CC_C2");
+//
+ TGeoMedium* kMedCH2Sh = gGeoManager->GetMedium("ABSO_CH2_C2");
+//
TGeoMedium* kMedC = gGeoManager->GetMedium("ABSO_C_C0");
TGeoMedium* kMedCsh = gGeoManager->GetMedium("ABSO_C_C2");
-
+//
TGeoMedium* kMedAlu = gGeoManager->GetMedium("ABSO_ALU_C0");
+//
+ TGeoMedium* kMedMg = gGeoManager->GetMedium("ABSO_MG_C0");
//
const Float_t kDegRad = TMath::Pi() / 180.;
TGeoVolume* voFaWPlateA = new TGeoVolume("AFaWPlateA", shFaWPlateA, kMedNiW);
// Inner region with higher transport cuts
- TGeoPcon* shFaWPlateAI = new TGeoPcon(0., 360., 6);
+ TGeoPcon* shFaWPlateAI = new TGeoPcon(0., 360., 5);
z = 3.;
shFaWPlateAI->DefineSection(0, z, rInFaQPlateF + z * angle10, rOuFaQPlateC1 + (z - dzFaWPlateF) * angle24);
for (Int_t i = 1; i < 5; i++) {
shFaWPlateAI->DefineSection(i, z, rmin, rmax);
}
TGeoVolume* voFaWPlateAI = new TGeoVolume("AFaWPlateAI", shFaWPlateAI, kMedNiWsh);
- voFaWPlateA->AddNode(voFaWPlateAI, 1, vec0);
+ voFaWPlateA->AddNode(voFaWPlateAI, 1, gGeoIdentity);
//
// Inner Tungsten Shield
TGeoVolume* voFaGraphiteCone = new TGeoVolume("AFaGraphiteCone", shFaGraphiteCone, kMedCsh);
//
// Outer region with lower transport cuts
- dz = 40.;
+ dz = 50.;
TGeoCone* shFaGraphiteConeO = new TGeoCone(dz/2.,
rInFaGraphiteCone1, rOuFaGraphiteCone1,
rInFaGraphiteCone1, rOuFaGraphiteCone1 + dz * angle10);
// 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
new TGeoCone(dzFaConcreteCone/2.,
rInFaConcreteCone1, rOuFaConcreteCone1,
rInFaConcreteCone2, rOuFaConcreteCone2),
- kMedConc);
+ kMedConcSh);
// Pos 14
///////////////////////////////////
new TGeoCone(dzFaCH2Cone/2.,
rInFaCH2Cone1, rInFaCH2Cone1 + dFaCH2Cone,
rInFaCH2Cone2, rInFaCH2Cone2 + dFaCH2Cone),
- kMedCH2);
+ kMedCH2Sh);
// Pos 15
rInFaSteelCone31A, rOuFaSteelCone31A,
rInFaSteelCone31B, rOuFaSteelCone31B),
kMedSteelSh);
- // Inner Region with higher transport cuts
+ // Outer Rregion with higher transport cuts
dz = 5.;
TGeoVolume* voFaSteelCone31I = new TGeoVolume("AFaSteelCone31I",
- new TGeoCone(dz/2.,
- rInFaSteelCone31B - dz * angle03,
- rOuFaSteelCone31B - dz * angle10,
- rInFaSteelCone31B, rOuFaSteelCone31B),
+ new TGeoCone(dz/2.,
+ rInFaSteelCone31B - dz * angle03,
+ rOuFaSteelCone31B - dz * angle10,
+ rInFaSteelCone31B, rOuFaSteelCone31B),
kMedSteel);
voFaSteelCone31->AddNode(voFaSteelCone31I, 1, new TGeoTranslation(0., 0., dzFaSteelCone31/2. - dz/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.;
shFaMgRing->DefineSection(6, z, rInFaMgRingO, rInFaCompRing2);
z += dzFaMgRingO;
shFaMgRing->DefineSection(7, z, rInFaMgRingO, rInFaCompRing2);
-
- TGeoVolume* voFaMgRing = new TGeoVolume("AFaMgRing", shFaMgRing, kMedNiW);
+ TGeoVolume* voFaMgRing = new TGeoVolume("AFaMgRing", shFaMgRing, kMedMg);
//
shFaM->DefineSection(15, z, rInFaCH2Cone2, rOuSteelEnvelopeR2);
TGeoVolume* voFaM = new TGeoVolume("AFaM", shFaM, kMedAir);
-
+ voFaM->SetVisibility(0);
+
//
// Assemble volumes inside acceptance
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;
//
// 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;
// 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));
- 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));
////////////////////////////////////////////////////
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
//
// 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(voFassAlRing, 1, new TGeoTranslation(0., 0., 382. - 0.55));
+ voFA->AddNode(voFassAlRing, 1, new TGeoTranslation(0., 0., 382. - 3.5));
top->AddNode(voFA, 1, new TGeoCombiTrans(0., 0., -90., rotxz));
}