Skip to content

Commit b4d71c3

Browse files
authored
Review of the dimension of the cave (#592)
Review of the dimensions of the cave based on a new integration design. 1) Updated dimensions of TCC8 and ECN3. 2) Added a Step in ECN3 3) Removed the coat of the absorber. 4) Modified the dimension of the HA and absorber.
1 parent 2eb3c2d commit b4d71c3

File tree

2 files changed

+23
-29
lines changed

2 files changed

+23
-29
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ it in future.
2727
* Event Display: Fix drawing of MC and Geo tracks
2828

2929
### Changed
30+
* Changed the dimension of the cave (ref. https://indico.cern.ch/event/1507466/contributions/6345273/attachments/3003438/5293503/Quick%20Update%20on%20FAIRSHIP%20geometry-1.pdf):
31+
1) Updated dimensions of TCC8 and ECN3.
32+
2) Added a step in ECN3.
33+
3) Removed the coat of the absorber.
34+
4) Modified the dimensions of the HA and absorber.
3035

3136
* Set Decay Volume Medium as helium (previously vacuums),can be explicitly switched to vacuum with --vacuums.
3237
* Medium of SST boxes will be the same as DecayVolumeMedium (previously, always vacuum)

passive/ShipMuonShield.cxx

Lines changed: 18 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -534,8 +534,8 @@ Int_t ShipMuonShield::Initialize(std::vector<TString> &magnetName,
534534
dXIn[1] = 0.5 * m;
535535
dXOut[1] = 0.5 * m;
536536
gapIn[1] = 0.02 * m;
537-
dYIn[1] = 1.3 * m;
538-
dYOut[1] = 1.3 * m;
537+
dYIn[1] = 1.19 * m;
538+
dYOut[1] = 1.19 * m;
539539
gapOut[1] = 0.02 * m;
540540

541541
for (Int_t i = 2; i < nMagnets - 1; ++i) {
@@ -838,29 +838,34 @@ void ShipMuonShield::ConstructGeometry()
838838

839839
// Create TCC8 tunnel around muon shield
840840
Double_t TCC8_length = 170 * m;
841+
// Add small stair step at the beginning of ECN3
842+
Double_t stair_step_length = 0.82 * m;
841843
Double_t ECN3_length = 100 * m;
842844
Double_t TCC8_trench_length = 12 * m;
843845
Double_t zgap = 10 * cm;
844846
Double_t absorber_offset = zgap;
845847
Double_t absorber_half_length = (dZf[0] + dZf[1]) + zgap / 2.;
846848
Double_t z_transition = zEndOfAbsorb + 2 * absorber_half_length + absorber_offset + 14 * cm + TCC8_trench_length;
847849
auto *rock = new TGeoBBox("rock", 20 * m, 20 * m, TCC8_length / 2. + ECN3_length / 2. + 5 * m);
848-
auto *muon_shield_cavern = new TGeoBBox("muon_shield_cavern", 5 * m, 3.75 * m, TCC8_length / 2.);
849-
auto *TCC8_shift = new TGeoTranslation("TCC8_shift", 2.3 * m, 1.75 * m, - TCC8_length / 2.);
850+
auto *muon_shield_cavern = new TGeoBBox("muon_shield_cavern", 4.995 * m, 3.75 * m, TCC8_length / 2.);
851+
auto *TCC8_shift = new TGeoTranslation("TCC8_shift", 1.435 * m, 2.05 * m, - TCC8_length / 2.);
850852
TCC8_shift->RegisterYourself();
851853

852854
// Create ECN3 cavern around vessel
853855
auto *experiment_rock = new TGeoBBox("experiment_rock", 20 * m, 20 * m, ECN3_length / 2.);
854-
auto *experiment_cavern = new TGeoBBox("experiment_cavern", 8 * m, 7.5 * m, ECN3_length / 2.);
855-
auto *ECN3_shift = new TGeoTranslation("ECN3_shift", 3.5 * m, 4 * m, ECN3_length / 2.);
856+
auto *stair_step = new TGeoBBox("stair_step", 7.995 * m, 5.6 * m , stair_step_length / 2.);
857+
auto *stair_step_shift = new TGeoTranslation("stair_step_shift", 3.435 * m, 3.04 * m , stair_step_length / 2.);
858+
stair_step_shift->RegisterYourself();
859+
auto *experiment_cavern = new TGeoBBox("experiment_cavern", 7.995 * m, 6 * m, ECN3_length / 2. - stair_step_length / 2.);
860+
auto *ECN3_shift = new TGeoTranslation("ECN3_shift", 3.435 * m, 2.64 * m, ECN3_length / 2. + stair_step_length);
856861
ECN3_shift->RegisterYourself();
857862

858863
auto *yoke_pit = new TGeoBBox("yoke_pit", 3.5 * m, 4.3 * m + 1 * cm, 2.5 * m);
859864
auto *yoke_pit_shift = new TGeoTranslation("yoke_pit_shift", 0 * m, 0 * m, 31 * m - z_transition);
860865
yoke_pit_shift->RegisterYourself();
861866

862867
auto *target_pit = new TGeoBBox("target_pit", 2 * m, 0.5 * m, 2 * m);
863-
auto *target_pit_shift = new TGeoTranslation("target_pit_shift", 0 * m, -2.5 * m, zEndOfAbsorb - 2 * m - z_transition);
868+
auto *target_pit_shift = new TGeoTranslation("target_pit_shift", 0 * m, -2.2 * m, zEndOfAbsorb - 2 * m - z_transition);
864869
target_pit_shift->RegisterYourself();
865870

866871
float mField = 1.6 * tesla;
@@ -890,7 +895,10 @@ void ShipMuonShield::ConstructGeometry()
890895
mag2->RegisterYourself();
891896
mag_trans.push_back(mag2);
892897

893-
auto abs = new TGeoBBox("absorber", 3.95 * m, 3.4 * m, absorber_half_length);
898+
auto abs = new TGeoBBox("absorber", 4.995 * m -0.001*m, 3.75 * m -0.001*m, absorber_half_length - 0.001);
899+
auto *absorber_shift = new TGeoTranslation("absorber_shift", 1.435 * m, 2.05 * m, 0);
900+
absorber_shift->RegisterYourself();
901+
894902
const std::vector<TString> absorber_magnets =
895903
(fDesign == 7) ? std::vector<TString>{"MagnAbsorb1", "MagnAbsorb2"} : std::vector<TString>{"MagnAbsorb2"};
896904
const std::vector<TString> magnet_components = fDesign == 7 ? std::vector<TString>{
@@ -914,38 +922,19 @@ void ShipMuonShield::ConstructGeometry()
914922
}
915923
}
916924
TGeoCompositeShape *absorberShape = new TGeoCompositeShape(
917-
"Absorber", "absorber" + absorber_magnet_components); // cutting out
925+
"Absorber", "absorber:absorber_shift" + absorber_magnet_components); // cutting out
918926
// magnet parts
919927
// from absorber
920928
TGeoVolume *absorber = new TGeoVolume("AbsorberVol", absorberShape, iron);
921929
absorber->SetLineColor(42); // brown / light red
922930
tShield->AddNode(absorber, 1, new TGeoTranslation(0, 0, zEndOfAbsorb + absorber_half_length + absorber_offset));
923931

924-
if (fDesign > 7) {
925-
auto coatBox = new TGeoBBox("coat", 10 * m - 1 * mm, 10 * m - 1 * mm, absorber_half_length);
926-
auto coatShape = new TGeoCompositeShape("CoatShape", "coat-absorber");
927-
auto coat = new TGeoVolume("CoatVol", coatShape, concrete);
928-
auto *coat_shift = new TGeoTranslation("coat_shift", 0, 0, zEndOfAbsorb + absorber_half_length + absorber_offset);
929-
coat_shift->RegisterYourself();
930-
auto *coat_shift_transition = new TGeoTranslation("coat_shift_transition", 0, 0, zEndOfAbsorb - z_transition + absorber_half_length + absorber_offset);
931-
coat_shift_transition->RegisterYourself();
932-
tShield->AddNode(coat, 1, coat_shift);
933-
TGeoVolume *coatWall = gGeoManager->MakeBox("CoatWall",concrete, 10 * m - 1 * mm, 10 * m - 1 * mm, 7 * cm - 1 * mm);
934-
auto *coatWall_shift = new TGeoTranslation("coatWall_shift", 0, 0, zEndOfAbsorb + 2 * absorber_half_length + absorber_offset + 7 * cm);
935-
coatWall_shift->RegisterYourself();
936-
auto *coatWall_shift_transition = new TGeoTranslation("coatWall_shift_transition", 0, 0, zEndOfAbsorb - z_transition + 2 * absorber_half_length + absorber_offset + 7 * cm);
937-
coatWall_shift_transition->RegisterYourself();
938-
coatWall->SetLineColor(kRed);
939-
tShield->AddNode(coatWall, 1, coatWall_shift);
940-
}
941-
942932
auto *compRock = new TGeoCompositeShape("compRock",
943933
"rock - muon_shield_cavern:TCC8_shift"
944934
"- experiment_cavern:ECN3_shift"
935+
"- stair_step:stair_step_shift"
945936
"- yoke_pit:yoke_pit_shift"
946937
"- target_pit:target_pit_shift"
947-
"- coat:coat_shift_transition"
948-
"- CoatWall:coatWall_shift_transition"
949938
);
950939
auto *Cavern = new TGeoVolume("Cavern", compRock, concrete);
951940
Cavern->SetLineColor(11); // grey

0 commit comments

Comments
 (0)