From 92d1d3fce259855f2585d0d194b349a611b97ff6 Mon Sep 17 00:00:00 2001
From: wenxingfang <1473717798@qq.com>
Date: Tue, 24 Nov 2020 15:51:03 +0800
Subject: [PATCH] use expected exceptions in try and catch

---
 .../GaudiPandora/src/GeometryCreator.cpp       | 18 +++++-------------
 .../Pandora/GaudiPandora/src/TrackCreator.cpp  |  8 ++++----
 .../PFA/Pandora/GaudiPandora/src/Utility.cpp   |  4 ++--
 3 files changed, 11 insertions(+), 19 deletions(-)

diff --git a/Reconstruction/PFA/Pandora/GaudiPandora/src/GeometryCreator.cpp b/Reconstruction/PFA/Pandora/GaudiPandora/src/GeometryCreator.cpp
index ebc32e47..2e996bfc 100644
--- a/Reconstruction/PFA/Pandora/GaudiPandora/src/GeometryCreator.cpp
+++ b/Reconstruction/PFA/Pandora/GaudiPandora/src/GeometryCreator.cpp
@@ -101,19 +101,11 @@ void GeometryCreator::SetMandatorySubDetectorParameters(SubDetectorTypeMap &subD
     trackerParameters.m_subDetectorName = "Tracker";
     trackerParameters.m_subDetectorType = pandora::INNER_TRACKER;
     if(m_settings.m_use_dd4hep_geo){
-        try{
-            trackerParameters.m_innerRCoordinate = PanUtil::getTrackingRegionExtent()[0];
-            trackerParameters.m_outerRCoordinate = PanUtil::getTrackingRegionExtent()[1];
-            trackerParameters.m_outerZCoordinate = PanUtil::getTrackingRegionExtent()[2];
-            std::cout<<"DD m_innerRCoordinate="<<trackerParameters.m_innerRCoordinate.Get()<<",m_outerRCoordinate="<<trackerParameters.m_outerRCoordinate.Get()<<",m_outerZCoordinate="<<trackerParameters.m_outerZCoordinate.Get()<<std::endl;
-        }
-        catch(...){
-            trackerParameters.m_innerRCoordinate = 0.1;
-            trackerParameters.m_outerRCoordinate = 2000;
-            trackerParameters.m_outerZCoordinate = 2000;
-            std::cout<<"GeometryCreator WARNING: does not find TrackingRegion information from dd4hep and set the arbitral value to m_innerRCoordinate="<<trackerParameters.m_innerRCoordinate.Get()<<",m_outerRCoordinate="<<trackerParameters.m_outerRCoordinate.Get()<<",m_outerZCoordinate="<<trackerParameters.m_outerZCoordinate.Get()<<std::endl;
-        }
-        
+        std::vector<double> tmp_extent = PanUtil::getTrackingRegionExtent();
+        trackerParameters.m_innerRCoordinate = tmp_extent[0];
+        trackerParameters.m_outerRCoordinate = tmp_extent[1];
+        trackerParameters.m_outerZCoordinate = tmp_extent[2];
+        std::cout<<"DD m_innerRCoordinate="<<trackerParameters.m_innerRCoordinate.Get()<<",m_outerRCoordinate="<<trackerParameters.m_outerRCoordinate.Get()<<",m_outerZCoordinate="<<trackerParameters.m_outerZCoordinate.Get()<<std::endl;
     }
     else{
         trackerParameters.m_innerRCoordinate = tpcParameters.getPadLayout().getPlaneExtent()[0];
diff --git a/Reconstruction/PFA/Pandora/GaudiPandora/src/TrackCreator.cpp b/Reconstruction/PFA/Pandora/GaudiPandora/src/TrackCreator.cpp
index b1b9532c..8e51d16c 100644
--- a/Reconstruction/PFA/Pandora/GaudiPandora/src/TrackCreator.cpp
+++ b/Reconstruction/PFA/Pandora/GaudiPandora/src/TrackCreator.cpp
@@ -74,8 +74,8 @@ TrackCreator::TrackCreator(const Settings &settings, const pandora::Pandora *con
                   std::cout<<"TrackCreator WARNING:Does not find TPC parameter from dd4hep and set it to dummy value"<<std::endl;
               }
            }
-        catch (...){
-            std::cout<<"TrackCreator WARNING:exception during TPC parameter construction."<<std::endl;
+        catch (std::runtime_error &exception){
+            std::cout<<"TrackCreator WARNING:exception during TPC parameter construction:"<<exception.what()<<std::endl;
         }
         //Instead of gear, loop over a provided list of forward (read: endcap) tracking detectors.
         const std::vector< dd4hep::DetElement>& endcapDets = dd4hep::DetectorSelector(mainDetector).detectors(  ( dd4hep::DetType::TRACKER | dd4hep::DetType::ENDCAP )) ;
@@ -106,8 +106,8 @@ TrackCreator::TrackCreator(const Settings &settings, const pandora::Pandora *con
                 }
                 m_nFtdLayers = m_ftdZPositions.size() ;
             }
-            catch (...){
-            std::cout<<"TrackCreator WARNING: exception during Forward Tracking Disk parameter construction for detector "<<std::endl;
+            catch (std::runtime_error &exception){
+            std::cout<<"TrackCreator WARNING: exception during Forward Tracking Disk parameter construction for detector: "<<exception.what()<<std::endl;
             }
         }
         // Calculate etd and set parameters
diff --git a/Reconstruction/PFA/Pandora/GaudiPandora/src/Utility.cpp b/Reconstruction/PFA/Pandora/GaudiPandora/src/Utility.cpp
index 66384793..02797f01 100644
--- a/Reconstruction/PFA/Pandora/GaudiPandora/src/Utility.cpp
+++ b/Reconstruction/PFA/Pandora/GaudiPandora/src/Utility.cpp
@@ -26,8 +26,8 @@ std::vector<double> PanUtil::getTrackingRegionExtent(){
       extent[1]=mainDetector.constantAsDouble("tracker_region_rmax")/dd4hep::mm;
       extent[2]=mainDetector.constantAsDouble("tracker_region_zmax")/dd4hep::mm;
   }
-  catch(...){
-      std::cout<<"WARNING, does not find TrackingRegion info from dd4hep, set it to dummy value"<<std::endl;
+  catch(std::runtime_error &exception){
+      std::cout<<"WARNING, does not find TrackingRegion info from dd4hep, set it to dummy value:"<<exception.what()<<std::endl;
       extent[0]=0.1;
       extent[1]=1000;
       extent[2]=2000;
-- 
GitLab