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