Skip to content

Commit 844f0ec

Browse files
sawenzelclaude
andcommitted
Fix the unreachable vacuum of the A-side beam pipe
This fixes a problem in the A-side beam pipe, whose vacuum volume occupied no space. - aluSideAVac was a daughter of aluSideA, a hollow Pcon that does not contain its own bore, so the navigator never descended into it. - The beam line from z = 44.5 cm to z = 426 cm was CAVE_Air, not PIPE_VACUUM. - The vacuum is now a daughter of the barrel. - Its bore stays at the third section's inner radius up to kZ36. The wider flange bore beyond it is occupied by the RB24 vacuum modules. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 63cd5f4 commit 844f0ec

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

Detectors/Passive/src/Pipe.cxx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -741,21 +741,22 @@ void Pipe::ConstructGeometry()
741741
zPos = aluSideA->GetZ(13) + flangeASteelRing->GetDz();
742742
barrel->AddNode(voflangeASteelRing, 1, new TGeoTranslation(0., 30., zPos));
743743

744-
// The vacuum inside aluSideA and flangeASteelRing
745-
TGeoPcon* aluSideAVac = new TGeoPcon(0., 360., 8);
744+
// The vacuum inside the aluminium section. aluSideA is a hollow Pcon, so it does
745+
// not contain its own bore and the vacuum is a daughter of the barrel. The bore
746+
// is kept at the third section's inner radius all the way to kZ36: the wider
747+
// flange bore beyond it is occupied by the RB24 vacuum modules.
748+
TGeoPcon* aluSideAVac = new TGeoPcon(0., 360., 6);
746749
aluSideAVac->DefineSection(0, aluSideA->GetZ(0), 0., aluSideA->GetRmin(0));
747750
aluSideAVac->DefineSection(1, aluSideA->GetZ(1), 0., aluSideA->GetRmin(1));
748751
aluSideAVac->DefineSection(2, aluSideA->GetZ(2), 0., aluSideA->GetRmin(2));
749752
aluSideAVac->DefineSection(3, aluSideA->GetZ(7), 0., aluSideA->GetRmin(7));
750753
aluSideAVac->DefineSection(4, aluSideA->GetZ(8), 0., aluSideA->GetRmin(8));
751-
aluSideAVac->DefineSection(5, aluSideA->GetZ(11), 0., aluSideA->GetRmin(11));
752-
aluSideAVac->DefineSection(6, aluSideA->GetZ(12), 0., aluSideA->GetRmin(12));
753-
aluSideAVac->DefineSection(7, aluSideA->GetZ(13), 0., aluSideA->GetRmin(13));
754+
aluSideAVac->DefineSection(5, aluSideA->GetZ(13), 0., aluSideA->GetRmin(9));
754755

755756
TGeoVolume* voaluSideAVac = new TGeoVolume("aluSideAVac", aluSideAVac, kMedVac);
756757
voaluSideAVac->SetLineColor(kGreen);
757758
voaluSideAVac->SetVisibility(1);
758-
voaluSideA->AddNode(voaluSideAVac, 1, gGeoIdentity);
759+
barrel->AddNode(voaluSideAVac, 1, new TGeoTranslation(0., 30., 0.));
759760

760761
// The support ring on A Side
761762
TGeoTube* sideASuppRing = new TGeoTube(kAluminum2ndSectionOuterRadius, kSupportRingRmax, kSupportRingLength / 2.);

0 commit comments

Comments
 (0)