diff --git a/DDG4/edm4hep/Geant4Output2EDM4hep.cpp b/DDG4/edm4hep/Geant4Output2EDM4hep.cpp index f22d2beca4101dd721d6e90dc9d9d8d921a9aa1a..4c6a37f67971b830f29393e5508504c69ef05a06 100644 --- a/DDG4/edm4hep/Geant4Output2EDM4hep.cpp +++ b/DDG4/edm4hep/Geant4Output2EDM4hep.cpp @@ -23,6 +23,7 @@ /// podio include files #include <podio/Frame.h> #include <podio/ROOTFrameWriter.h> +#include <podio/podioVersion.h> /// Namespace for the AIDA detector description toolkit namespace dd4hep { @@ -107,10 +108,13 @@ namespace dd4hep { printout(DEBUG, "Geant4OutputEDM4hep", "Saving event parameter: %s", p.first); frame.putParameter(p.first, p.second); } +#if podio_VERSION_MAJOR > 0 || podio_VERSION_MINOR > 16 || podio_VERSION_PATCH > 2 + // This functionality is only present in podio > 0.16.2 for (auto const& p: this->dblParameters()) { printout(DEBUG, "Geant4OutputEDM4hep", "Saving event parameter: %s", p.first); frame.putParameter(p.first, p.second); } +#endif } } // End namespace sim } // End namespace dd4hep @@ -378,7 +382,10 @@ void Geant4Output2EDM4hep::saveEvent(OutputContext<G4Event>& ctxt) { runNumber = parameters->runNumber() + runNumberOffset; eventNumber = parameters->eventNumber() + eventNumberOffset; parameters->extractParameters(m_frame); +#if podio_VERSION_MAJOR > 0 || podio_VERSION_MINOR > 16 || podio_VERSION_PATCH > 2 + // This functionality is only present in podio > 0.16.2 eventWeight = m_frame.getParameter<double>("EventWeights"); +#endif } else { // ... or from DD4hep framework runNumber = m_runNo + runNumberOffset; eventNumber = ctxt.context->GetEventID() + eventNumberOffset;