From d1c8235b62e6523d7aa05aa17fa35eaf008a2058 Mon Sep 17 00:00:00 2001
From: David Emschermann <d.emschermann@gsi.de>
Date: Mon, 14 Mar 2022 16:41:35 +0100
Subject: [PATCH] add modification to build MUCH with correct radiation length,
 refs #2432 and refs #2463

---
 macro/mcbm/geometry/much/create_MUCH_geometry_v22e_mcbm.C | 5 +++--
 macro/mcbm/geometry/much/create_MUCH_geometry_v22f_mcbm.C | 7 ++++---
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/macro/mcbm/geometry/much/create_MUCH_geometry_v22e_mcbm.C b/macro/mcbm/geometry/much/create_MUCH_geometry_v22e_mcbm.C
index 0e95466888..d996a1db95 100644
--- a/macro/mcbm/geometry/much/create_MUCH_geometry_v22e_mcbm.C
+++ b/macro/mcbm/geometry/much/create_MUCH_geometry_v22e_mcbm.C
@@ -138,13 +138,14 @@ TGeoVolume* CreateLayersRpc(int istn, int ily);
 fstream infoFile;
 void create_MUCH_geometry_v22e_mcbm()
 {
-
+  // Load FairRunSim to ensure the correct unit system
+  FairRunSim* sim = new FairRunSim();
 
   // -------   Open info file   -----------------------------------------------
   TString infoFileName = FileNameSim;
   infoFileName.ReplaceAll("root", "info");
   infoFile.open(infoFileName.Data(), fstream::out);
-  infoFile << "MUCH geometry created with create_MUCH_geometry_v20a_mcbm.C" << endl << endl;
+  infoFile << "MUCH geometry created with create_MUCH_geometry_v22e_mcbm.C" << endl << endl;
   infoFile << "Build a mMUCH setup for mCBM with 2 GEM." << endl;
   infoFile << "10 mm thick Al plates are used for support and cooling in the "
               "GEM modules."
diff --git a/macro/mcbm/geometry/much/create_MUCH_geometry_v22f_mcbm.C b/macro/mcbm/geometry/much/create_MUCH_geometry_v22f_mcbm.C
index 9ab5ae6ab1..e49502ef72 100644
--- a/macro/mcbm/geometry/much/create_MUCH_geometry_v22f_mcbm.C
+++ b/macro/mcbm/geometry/much/create_MUCH_geometry_v22f_mcbm.C
@@ -136,13 +136,14 @@ TGeoVolume* CreateLayersRpc(int istn, int ily);
 fstream infoFile;
 void create_MUCH_geometry_v22f_mcbm()
 {
-
+  // Load FairRunSim to ensure the correct unit system
+  FairRunSim* sim = new FairRunSim();
 
   // -------   Open info file   -----------------------------------------------
   TString infoFileName = FileNameSim;
   infoFileName.ReplaceAll("root", "info");
   infoFile.open(infoFileName.Data(), fstream::out);
-  infoFile << "MUCH geometry created with create_MUCH_geometry_v20a_mcbm.C" << endl << endl;
+  infoFile << "MUCH geometry created with create_MUCH_geometry_v22f_mcbm.C" << endl << endl;
   infoFile << "Build a mMUCH setup for mCBM with 2 GEM." << endl;
   infoFile << "10 mm thick Al plates are used for support and cooling in the "
               "GEM modules."
@@ -472,7 +473,7 @@ TGeoVolume* CreateLayersGem(int istn, int ily)
       TGeoHMatrix* incline_mod[10];
 
       for (int i = 0; i < 6; i++) {
-        trans[i] = new TGeoTranslation("", pos[0], pos[1], pos[i + 2]);
+        trans[i] = new TGeoTranslation("", pos[0], pos[1], pos[i + 2]);  // shift GEMs in x, y, z here
 
         incline_mod[i]    = new TGeoHMatrix("");
         (*incline_mod[i]) = (*trans[i]) * (*r2);
-- 
GitLab