From a5317f172474e5a1039796679915f0c894482ca6 Mon Sep 17 00:00:00 2001
From: Yorgos Voutsinas <georgios.voutsinas@desy.de>
Date: Thu, 23 Mar 2017 18:31:41 +0100
Subject: [PATCH] adding a layered calorimeter struct that copes with conical
 calorimeters

---
 DDRec/src/DetectorData.cpp | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/DDRec/src/DetectorData.cpp b/DDRec/src/DetectorData.cpp
index d83c86e31..fe1e6202d 100644
--- a/DDRec/src/DetectorData.cpp
+++ b/DDRec/src/DetectorData.cpp
@@ -1,10 +1,14 @@
 #include "DDRec/DetectorData.h"
 
+#include <boost/io/ios_state.hpp>
+
 namespace DD4hep {
   namespace DDRec {
 
 
     std::ostream& operator<<( std::ostream& io , const FixedPadSizeTPCData& d ){
+      boost::io::ios_base_all_saver ifs(io);
+
       io <<  " --FixedPadSizeTPCData: "  << std::scientific << std::endl ; 
       io <<  "   zHalf : "              <<  d.zHalf  << std::endl ; 
       io <<  "   rMin : "               <<  d.rMin << std::endl ; 
@@ -25,6 +29,7 @@ namespace DD4hep {
 
 
     std::ostream& operator<<( std::ostream& io , const ZPlanarData& d ) {
+      boost::io::ios_base_all_saver ifs(io);
 
       io <<  " -- ZPlanarData: "  << std::scientific << std::endl ; 
       io <<  " zHalfShell  : " <<  d.zHalfShell  << std::endl ; 
@@ -68,6 +73,7 @@ namespace DD4hep {
     }
 
     std::ostream& operator<<( std::ostream& io , const ZDiskPetalsData& d ) {
+      boost::io::ios_base_all_saver ifs(io);
 
       io <<  " -- ZDiskPetalsData: "  << std::scientific << std::endl ; 
       io <<  "  widthStrip : " <<  d.widthStrip  << std::endl ; 
@@ -116,6 +122,7 @@ namespace DD4hep {
 
     
     std::ostream& operator<<( std::ostream& io , const ConicalSupportData& d ) {
+      boost::io::ios_base_all_saver ifs(io);
 
       io <<  " -- ConicalSupportData : "  << std::scientific << std::endl ; 
       io <<  "  isSymmetricInZ : " <<  d.isSymmetricInZ  << std::endl ; 
@@ -139,6 +146,7 @@ namespace DD4hep {
 
     
     std::ostream& operator<<( std::ostream& io , const LayeredCalorimeterData& d ) {
+      boost::io::ios_base_all_saver ifs(io);
 
       io <<  " -- LayeredCalorimeterData : "  << std::scientific << std::endl ; 
       io <<  "  LayoutType : " <<  ( d.layoutType == LayeredCalorimeterStruct::BarrelLayout ?
@@ -223,17 +231,14 @@ namespace DD4hep {
 
 
 
-
-
-
-
-
     std::ostream& operator<<( std::ostream& io , const NeighbourSurfacesData& d ){
+      boost::io::ios_base_all_saver ifs(io);
+
       io <<  " --NeighbourSurfacesData: "  << std::scientific << std::endl ; 
       io <<  "   sameLayer.size() : " << d.sameLayer.size() << std::endl ; 
       return io ;
     }
  
-
+    
   } // namespace
 }
-- 
GitLab