From e24cdcf0ae23bf6e2265ba4cdcc1ace4b968ee71 Mon Sep 17 00:00:00 2001
From: Frank Gaede <frank.gaede@desy.de>
Date: Fri, 19 Jun 2015 11:26:02 +0000
Subject: [PATCH] added Coil (incl. units) to Gear files

---
 DDRec/src/gear/createGearForCLIC.cpp | 25 ++++++++++++++++++++++---
 DDRec/src/gear/createGearForILD.cpp  |  6 +++---
 2 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/DDRec/src/gear/createGearForCLIC.cpp b/DDRec/src/gear/createGearForCLIC.cpp
index 3f79a634c..8b25fed75 100644
--- a/DDRec/src/gear/createGearForCLIC.cpp
+++ b/DDRec/src/gear/createGearForCLIC.cpp
@@ -240,7 +240,26 @@ namespace DD4hep{
       } 
 
       //============================================================================================
+      
+      try {
+	
+	DetElement coilDE = lcdd.detector("Solenoid") ;
+	
+	gear::GearParametersImpl* gearCOIL = new gear::GearParametersImpl();
+	
+	Tube coilTube = Tube( coilDE.volume().solid() )  ;
+	
+	gearCOIL->setDoubleVal("Coil_cryostat_outer_radius" , coilTube->GetRmin()/ dd4hep::mm ) ;
+	gearCOIL->setDoubleVal("Coil_cryostat_inner_radius" , coilTube->GetRmax()/ dd4hep::mm ) ;
+	gearCOIL->setDoubleVal("Coil_cryostat_half_z"       , coilTube->GetDZ()/ dd4hep::mm ) ;
+	
+	coilDE.addExtension< GearHandle >( new GearHandle( gearCOIL, "CoilParameters" ) ) ;
+	
+      } catch( std::runtime_error& e ){  
+	std::cerr << " >>>> " << e.what() << std::endl ;
+      } 
 
+      //============================================================================================
       try {
 
 	DetElement tubeDE = lcdd.detector("Tube") ;
@@ -289,13 +308,13 @@ namespace DD4hep{
       caloMap["HCalBarrel"] = "HcalBarrelParameters"  ; 
       caloMap["ECalBarrel"] = "EcalBarrelParameters" ;
       caloMap["ECalEndcap"] = "EcalEndcapParameters" ;
-//       caloMap["ECalPlug"]   = "EcalPlugParameters" ;
+      caloMap["ECalPlug"]   = "EcalPlugParameters" ;
       caloMap["YokeBarrel"] = "YokeBarrelParameters" ;
       caloMap["YokeEndcap"] = "YokeEndcapParameters" ;
-//       caloMap["YokePlug"]   = "YokePlugParameters" ;
+      caloMap["YokePlug"]   = "YokePlugParameters" ;
       caloMap["HCalBarrel"] = "HcalBarrelParameters" ;
       caloMap["HCalEndcap"] = "HcalEndcapParameters" ;
-//       caloMap["HCalRing"]   = "HcalRingParameters" ;
+      caloMap["HCalRing"]   = "HcalRingParameters" ;
       caloMap["LumiCal"]	    = "LcalParameters" ;
 //       caloMap["LHCal"]	    = "LHcalParameters" ;
       caloMap["BeamCal"]    = "BeamCalParameters" ;
diff --git a/DDRec/src/gear/createGearForILD.cpp b/DDRec/src/gear/createGearForILD.cpp
index 5b2159fda..a029c828b 100644
--- a/DDRec/src/gear/createGearForILD.cpp
+++ b/DDRec/src/gear/createGearForILD.cpp
@@ -276,9 +276,9 @@ namespace DD4hep{
 	
 	Tube coilTube = Tube( coilDE.volume().solid() )  ;
 	
-	gearCOIL->setDoubleVal("Coil_cryostat_outer_radius" , coilTube->GetRmin() ) ;
-	gearCOIL->setDoubleVal("Coil_cryostat_inner_radius" , coilTube->GetRmax() ) ;
-	gearCOIL->setDoubleVal("Coil_cryostat_half_z"       , coilTube->GetDZ() ) ;
+	gearCOIL->setDoubleVal("Coil_cryostat_outer_radius" , coilTube->GetRmin()/ dd4hep::mm ) ;
+	gearCOIL->setDoubleVal("Coil_cryostat_inner_radius" , coilTube->GetRmax()/ dd4hep::mm ) ;
+	gearCOIL->setDoubleVal("Coil_cryostat_half_z"       , coilTube->GetDZ()/ dd4hep::mm ) ;
 	
 	coilDE.addExtension< GearHandle >( new GearHandle( gearCOIL, "CoilParameters" ) ) ;
       
-- 
GitLab