@@ -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