From 39a341fcaf364fde61e28c6fbc3daa6b0e42e502 Mon Sep 17 00:00:00 2001
From: Frank Gaede <frank.gaede@desy.de>
Date: Fri, 18 Sep 2015 10:03:36 +0000
Subject: [PATCH]  - optionally dump surfaces

---
 UtilityApps/src/dumpdetector.cpp | 25 +++++++++++++++++--------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/UtilityApps/src/dumpdetector.cpp b/UtilityApps/src/dumpdetector.cpp
index f1c485d37..9c9f346a5 100644
--- a/UtilityApps/src/dumpdetector.cpp
+++ b/UtilityApps/src/dumpdetector.cpp
@@ -39,13 +39,20 @@ using namespace dd4hep ;
 
 int main(int argc, char** argv ){
     
-  if( argc != 2 ) {
-    std::cout << " usage: dumpdetector compact.xml " << std::endl ;
+  if( argc < 2 ) {
+    std::cout << " usage: dumpdetector compact.xml [-s]" 
+	      << "  -s :  also print surfaces " 
+	      << std::endl ;
+
     exit(1) ;
   }
   
   std::string inFile =  argv[1] ;
 
+
+  bool printSurfaces = ( argc>2 && !strcmp( argv[2] , "-s" ) );
+
+
   LCDD& lcdd = LCDD::getInstance();
 
   lcdd.fromCompact( inFile );
@@ -110,12 +117,14 @@ int main(int argc, char** argv ){
 
     std::cout << de.name() << "[ path: "<< de.placementPath ()  <<  "] (id: " << de.id() << ") - sens type : " << lcdd.sensitiveDetector( de.name() ).type() << "\t surfaces : " <<  ( sL.empty() ? 0 : sL.size()  ) << std::endl ;
 
-    // for( SurfaceList::const_iterator it = sL.begin() ; it != sL.end() ; ++it ){
-    //   Surface* surf =  *it ;
-    //   std::cout << " ------------------------- " 
-    // 		<< " surface: "  << *surf         << std::endl
-    // 		<< " ------------------------- "  << std::endl ;
-    // }
+    if( printSurfaces ){
+      for( SurfaceList::const_iterator sit = sL.begin() ; sit != sL.end() ; ++sit ){
+	const ISurface* surf =  *sit ;
+	std::cout << " ------------------------- " 
+		  << " surface: "  << *surf         << std::endl
+		  << " ------------------------- "  << std::endl ;
+      }
+    }
   }
 
   std::cout << "############################################################################### "  << std::endl  << std::endl  ;
-- 
GitLab