From 04392d947c5636ed8148d3c0b496c50491db743a Mon Sep 17 00:00:00 2001
From: Axel Puntke <axel.puntke@uni-muenster.de>
Date: Mon, 28 Feb 2022 17:25:06 +0100
Subject: [PATCH] Create and use medialist in TRD v21c and v21d geometry

---
 macro/mcbm/geometry/trd/Create_TRD_Geometry_v21c.C | 9 +++++++++
 macro/mcbm/geometry/trd/Create_TRD_Geometry_v21d.C | 9 +++++++++
 2 files changed, 18 insertions(+)

diff --git a/macro/mcbm/geometry/trd/Create_TRD_Geometry_v21c.C b/macro/mcbm/geometry/trd/Create_TRD_Geometry_v21c.C
index fb4919b5e5..2319bce46c 100644
--- a/macro/mcbm/geometry/trd/Create_TRD_Geometry_v21c.C
+++ b/macro/mcbm/geometry/trd/Create_TRD_Geometry_v21c.C
@@ -597,6 +597,8 @@ void dump_digi_file();
 
 void Create_TRD_Geometry_v21c()
 {
+  // Load FairRunSim to ensure the correct unit system
+  FairRunSim* sim = new FairRunSim();
 
   // declare TRD layer layout
   if (setupid > 2)
@@ -676,6 +678,13 @@ void Create_TRD_Geometry_v21c()
   gGeoMan->Write();  // use this is you want GeoManager format in the output
   outfile->Close();
 
+  // create medialist for this geometry
+  TString createmedialist = gSystem->Getenv("VMCWORKDIR");
+  createmedialist += "/macro/geometry/create_medialist.C";
+  std::cout << "Loading macro " << createmedialist << std::endl;
+  gROOT->LoadMacro(createmedialist);
+  gROOT->ProcessLine("create_medialist(\"\", false)");
+
   dump_info_file();
   dump_digi_file();
 
diff --git a/macro/mcbm/geometry/trd/Create_TRD_Geometry_v21d.C b/macro/mcbm/geometry/trd/Create_TRD_Geometry_v21d.C
index cd7853b3e6..e20568a04e 100644
--- a/macro/mcbm/geometry/trd/Create_TRD_Geometry_v21d.C
+++ b/macro/mcbm/geometry/trd/Create_TRD_Geometry_v21d.C
@@ -598,6 +598,8 @@ void dump_digi_file();
 
 void Create_TRD_Geometry_v21d()
 {
+  // Load FairRunSim to ensure the correct unit system
+  FairRunSim* sim = new FairRunSim();
 
   // declare TRD layer layout
   if (setupid > 2)
@@ -677,6 +679,13 @@ void Create_TRD_Geometry_v21d()
   gGeoMan->Write();  // use this is you want GeoManager format in the output
   outfile->Close();
 
+  // create medialist for this geometry
+  TString createmedialist = gSystem->Getenv("VMCWORKDIR");
+  createmedialist += "/macro/geometry/create_medialist.C";
+  std::cout << "Loading macro " << createmedialist << std::endl;
+  gROOT->LoadMacro(createmedialist);
+  gROOT->ProcessLine("create_medialist(\"\", false)");
+
   dump_info_file();
   dump_digi_file();
 
-- 
GitLab