From 92b2990774d7d46de14c0326a28b7f6faf266ef3 Mon Sep 17 00:00:00 2001 From: Andre Sailer <andre.philippe.sailer@cern.ch> Date: Fri, 15 Feb 2019 18:01:16 +0100 Subject: [PATCH] DDRec::DetectorData: add Data Struct to store any number of named parameters with double value --- DDRec/include/DDRec/DetectorData.h | 6 ++++++ DDRec/src/DetectorData.cpp | 14 ++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/DDRec/include/DDRec/DetectorData.h b/DDRec/include/DDRec/DetectorData.h index 9b822aa90..f78152940 100644 --- a/DDRec/include/DDRec/DetectorData.h +++ b/DDRec/include/DDRec/DetectorData.h @@ -485,6 +485,12 @@ namespace dd4hep { std::ostream& operator<<( std::ostream& io , const NeighbourSurfacesData& d ) ; + struct MapStringDoubleStruct { + std::map<std::string, double> doubleParameters{}; + }; + using DoubleParameters = StructExtension<MapStringDoubleStruct>; + + std::ostream& operator<<( std::ostream& io , const DoubleParameters& d ) ; } /* namespace rec */ } /* namespace dd4hep */ diff --git a/DDRec/src/DetectorData.cpp b/DDRec/src/DetectorData.cpp index be7811e43..c3ea7d2d5 100644 --- a/DDRec/src/DetectorData.cpp +++ b/DDRec/src/DetectorData.cpp @@ -199,6 +199,20 @@ namespace dd4hep { io << " sameLayer.size() : " << d.sameLayer.size() << std::endl ; return io ; } + + + std::ostream& operator<<(std::ostream& io, const DoubleParameters& d) { + boost::io::ios_base_all_saver ifs(io); + io << " --DoubleParameters: " << std::scientific << std::endl ; + for (auto const& thePair: d.doubleParameters) { + io << " " + << std::setw(40) << thePair.first << ":" + << std::setw(14) << thePair.second + << std::endl; + } + return io ; + } + } // namespace -- GitLab