From 92ef2f71c953b3a60ca52aecc9810e74e2b3eb57 Mon Sep 17 00:00:00 2001 From: Markus Frank <Markus.Frank@cern.ch> Date: Thu, 8 Feb 2024 08:53:14 +0100 Subject: [PATCH] Implement CONST properties to optical sufaces. (Requires new release of ROOT) --- DDG4/src/Geant4Converter.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/DDG4/src/Geant4Converter.cpp b/DDG4/src/Geant4Converter.cpp index 294d21343..edb4402ac 100644 --- a/DDG4/src/Geant4Converter.cpp +++ b/DDG4/src/Geant4Converter.cpp @@ -1435,7 +1435,8 @@ void* Geant4Converter::handleOpticalSurface(TObject* surface) const { TGeoOpticalSurface::ModelToString(optSurf->GetModel()), TGeoOpticalSurface::FinishToString(optSurf->GetFinish()), optSurf->GetSigmaAlpha(), optSurf->GetPolish()); - + /// + /// Convert non-scalar properties from GDML tables G4MaterialPropertiesTable* tab = nullptr; TListIter itp(&optSurf->GetProperties()); for(TObject* obj = itp.Next(); obj; obj = itp.Next()) { @@ -1488,6 +1489,9 @@ void* Geant4Converter::handleOpticalSurface(TObject* surface) const { " Geant4: %8.3g [MeV] TGeo: %8.3g [GeV] Conversion: %8.3g", bins[i], v->bins[i], conv.first); } + /// + /// Convert scalar properties +#if ROOT_VERSION_CODE >= ROOT_VERSION(6,31,1) TListIter itc(&optSurf->GetConstProperties()); for(TObject* obj = itc.Next(); obj; obj = itc.Next()) { string exc_str; @@ -1536,6 +1540,7 @@ void* Geant4Converter::handleOpticalSurface(TObject* surface) const { named->GetName(), value, conv, value * conv); tab->AddConstProperty(named->GetName(), value * conv); } +#endif // ROOT_VERSION >= 6.31.1 info.g4OpticalSurfaces[optSurf] = g4; } return g4; -- GitLab