From a169d0e508b27850b8f4da0fae5bff848a85de2b Mon Sep 17 00:00:00 2001
From: Frank Gaede <frank.gaede@desy.de>
Date: Tue, 30 May 2017 19:18:00 +0200
Subject: [PATCH] implemnt CellIDPositionConverter::position(cell)

---
 DDRec/src/CellIDPositionConverter.cpp | 49 ++++-----------------------
 1 file changed, 6 insertions(+), 43 deletions(-)

diff --git a/DDRec/src/CellIDPositionConverter.cpp b/DDRec/src/CellIDPositionConverter.cpp
index 26abd33b4..f8c08230a 100644
--- a/DDRec/src/CellIDPositionConverter.cpp
+++ b/DDRec/src/CellIDPositionConverter.cpp
@@ -23,10 +23,9 @@ namespace DD4hep {
 
 
     DD4hep::Geometry::VolumeManagerContext* CellIDPositionConverter::findContext(const CellID& cellID) const{
-
       return _volumeManager.lookupContext( cellID ) ;
     }
-
+    
 
     CellID CellIDPositionConverter::cellIDFromLocal(const Position& local, const VolumeID volID) const {
       double l[3];
@@ -96,51 +95,15 @@ namespace DD4hep {
       elementToGlobal.LocalToMaster(e, g);
 
 
-
-      std::cout << " local " << local << std::endl 
-		<< "cellid: " << std::hex << cell << std::dec
-		<< "\n  ---- volToElement: \n"  ;
-
-      volToElement.Print() ;
-
-      std::cout << "\n elementToGlobal : \n" ;
-      
-      elementToGlobal.Print() ;
-      
-
-      const TGeoMatrix& volToWorld = context->toWorld ;
-
-      std::cout << "\n volToWorld : \n" ;
-      volToWorld.Print() ;
+      // std::cout << " local " << local << " , " 
+      //  		<< "cellid: " << cell 
+      // 		<< " : " << r.idSpec().str( cell )
+      // 		<< " pv: " << pv.name() 
+      // 		<< std::endl ; 
 
 
-      //      volToWorld.LocalToMaster( l, g ) ;
-      
-
-      TGeoHMatrix myWorld = elementToGlobal ;
-      myWorld.Multiply( &volToElement ) ;
-
-      
-      std::cout << "\n myWorld : \n" ;
-      myWorld.Print() ;
-
-
-      
-
       return Position(g[0], g[1], g[2]);
     }
-    // Position CellIDPositionConverter::position(const CellID& cell) const {
-    //   double l[3];
-    //   double g[3];
-    //   DetElement det = this->detectorElement(cell);
-    //   Position local = this->findReadout(det).segmentation().position(cell);
-    //   local.GetCoordinates(l);
-    //   // FIXME: direct lookup of transformations seems to be broken
-    //   //const TGeoMatrix& localToGlobal = _volumeManager.worldTransformation(cell);
-    //   const TGeoMatrix& localToGlobal = det.nominal().worldTransformation();
-    //   localToGlobal.LocalToMaster(l, g);
-    //   return Position(g[0], g[1], g[2]);
-    // }
 
     /*
      * Returns the local position from a given cell ID
-- 
GitLab