From b2c4c2208dc9d45d3a13e082c7f744b5099303b8 Mon Sep 17 00:00:00 2001 From: Florian Uhlig <f.uhlig@gsi.de> Date: Fri, 11 Feb 2022 17:03:09 +0100 Subject: [PATCH] Fix creation of geometries sts_v22[abc]_mcbm Only create the geometry file with exported geometry and placement matrix. Use correct unit system. Create also the file needed for the media check. --- macro/mcbm/geometry/sts/create_stsgeo_v22a.C | 25 ++++++++++++-------- macro/mcbm/geometry/sts/create_stsgeo_v22b.C | 25 ++++++++++++-------- macro/mcbm/geometry/sts/create_stsgeo_v22c.C | 25 ++++++++++++-------- 3 files changed, 45 insertions(+), 30 deletions(-) diff --git a/macro/mcbm/geometry/sts/create_stsgeo_v22a.C b/macro/mcbm/geometry/sts/create_stsgeo_v22a.C index 5a922b4db2..ab51480c3b 100644 --- a/macro/mcbm/geometry/sts/create_stsgeo_v22a.C +++ b/macro/mcbm/geometry/sts/create_stsgeo_v22a.C @@ -273,6 +273,8 @@ void create_stsgeo_v22a(const char* geoTag = "v22a_mcbm") infoFile << "Beam pipe: R3 = " << gkPipeR3 << " cm at z = " << gkPipeZ3 << " cm" << endl; // -------------------------------------------------------------------------- + // Load FairRunSim to ensure the correct unit system + FairRunSim* sim = new FairRunSim(); // ------- Load media from media file ----------------------------------- FairGeoLoader* geoLoad = new FairGeoLoader("TGeo", "FairGeoLoader"); @@ -946,9 +948,13 @@ void create_stsgeo_v22a(const char* geoTag = "v22a_mcbm") gGeoMan->Test(); TFile* geoFile = new TFile(geoFileName, "RECREATE"); - top->Write(); + sts->Export(geoFileName); cout << endl; - cout << "Geometry " << top->GetName() << " written to " << geoFileName << endl; + cout << "Geometry " << sts->GetName() << " exported to " << geoFileName << endl; + geoFile->Close(); + + geoFile = new TFile(geoFileName, "UPDATE"); + stsTrans->Write(); geoFile->Close(); TString geoFileName_ = "sts_"; @@ -958,18 +964,17 @@ void create_stsgeo_v22a(const char* geoTag = "v22a_mcbm") gGeoMan->Write(); // use this is you want GeoManager format in the output geoFile->Close(); - TString geoFileName__ = "sts_"; - geoFileName_ = geoFileName__ + geoTag + "-geo.root"; - sts->Export(geoFileName_); - - geoFile = new TFile(geoFileName_, "UPDATE"); - stsTrans->Write(); - geoFile->Close(); - top->Draw("ogl"); gGeoManager->SetVisLevel(6); infoFile.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)"); } // ============================================================================ // ====== End of main function ===== diff --git a/macro/mcbm/geometry/sts/create_stsgeo_v22b.C b/macro/mcbm/geometry/sts/create_stsgeo_v22b.C index 98d40f5626..3b6de175a1 100644 --- a/macro/mcbm/geometry/sts/create_stsgeo_v22b.C +++ b/macro/mcbm/geometry/sts/create_stsgeo_v22b.C @@ -283,6 +283,8 @@ void create_stsgeo_v22b(const char* geoTag = "v22b_mcbm") infoFile << "Beam pipe: R3 = " << gkPipeR3 << " cm at z = " << gkPipeZ3 << " cm" << endl; // -------------------------------------------------------------------------- + // Load FairRunSim to ensure the correct unit system + FairRunSim* sim = new FairRunSim(); // ------- Load media from media file ----------------------------------- FairGeoLoader* geoLoad = new FairGeoLoader("TGeo", "FairGeoLoader"); @@ -955,9 +957,13 @@ void create_stsgeo_v22b(const char* geoTag = "v22b_mcbm") gGeoMan->Test(); TFile* geoFile = new TFile(geoFileName, "RECREATE"); - top->Write(); + sts->Export(geoFileName); cout << endl; - cout << "Geometry " << top->GetName() << " written to " << geoFileName << endl; + cout << "Geometry " << sts->GetName() << " exported to " << geoFileName << endl; + geoFile->Close(); + + geoFile = new TFile(geoFileName, "UPDATE"); + stsTrans->Write(); geoFile->Close(); TString geoFileName_ = "sts_"; @@ -967,18 +973,17 @@ void create_stsgeo_v22b(const char* geoTag = "v22b_mcbm") gGeoMan->Write(); // use this is you want GeoManager format in the output geoFile->Close(); - TString geoFileName__ = "sts_"; - geoFileName_ = geoFileName__ + geoTag + "-geo.root"; - sts->Export(geoFileName_); - - geoFile = new TFile(geoFileName_, "UPDATE"); - stsTrans->Write(); - geoFile->Close(); - top->Draw("ogl"); gGeoManager->SetVisLevel(6); infoFile.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)"); } // ============================================================================ // ====== End of main function ===== diff --git a/macro/mcbm/geometry/sts/create_stsgeo_v22c.C b/macro/mcbm/geometry/sts/create_stsgeo_v22c.C index 6e026952ed..9d91975d7a 100644 --- a/macro/mcbm/geometry/sts/create_stsgeo_v22c.C +++ b/macro/mcbm/geometry/sts/create_stsgeo_v22c.C @@ -284,6 +284,8 @@ void create_stsgeo_v22c(const char* geoTag = "v22c_mcbm") infoFile << "Beam pipe: R3 = " << gkPipeR3 << " cm at z = " << gkPipeZ3 << " cm" << endl; // -------------------------------------------------------------------------- + // Load FairRunSim to ensure the correct unit system + FairRunSim* sim = new FairRunSim(); // ------- Load media from media file ----------------------------------- FairGeoLoader* geoLoad = new FairGeoLoader("TGeo", "FairGeoLoader"); @@ -956,9 +958,13 @@ void create_stsgeo_v22c(const char* geoTag = "v22c_mcbm") gGeoMan->Test(); TFile* geoFile = new TFile(geoFileName, "RECREATE"); - top->Write(); + sts->Export(geoFileName); cout << endl; - cout << "Geometry " << top->GetName() << " written to " << geoFileName << endl; + cout << "Geometry " << sts->GetName() << " exported to " << geoFileName << endl; + geoFile->Close(); + + geoFile = new TFile(geoFileName, "UPDATE"); + stsTrans->Write(); geoFile->Close(); TString geoFileName_ = "sts_"; @@ -968,18 +974,17 @@ void create_stsgeo_v22c(const char* geoTag = "v22c_mcbm") gGeoMan->Write(); // use this is you want GeoManager format in the output geoFile->Close(); - TString geoFileName__ = "sts_"; - geoFileName_ = geoFileName__ + geoTag + "-geo.root"; - sts->Export(geoFileName_); - - geoFile = new TFile(geoFileName_, "UPDATE"); - stsTrans->Write(); - geoFile->Close(); - top->Draw("ogl"); gGeoManager->SetVisLevel(6); infoFile.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)"); } // ============================================================================ // ====== End of main function ===== -- GitLab