From 22f4ab5bee60ae8d056648883254f450c9c7d97e Mon Sep 17 00:00:00 2001
From: Whitney Armstrong <warmstrong@anl.gov>
Date: Sun, 17 Sep 2017 18:20:30 -0500
Subject: [PATCH] Added helper to get the segmentation dimensions

modified:   include/DDRec/CellIDPositionConverter.h
modified:   src/CellIDPositionConverter.cpp
---
 DDRec/include/DDRec/CellIDPositionConverter.h | 4 ++++
 DDRec/src/CellIDPositionConverter.cpp         | 8 ++++++++
 2 files changed, 12 insertions(+)

diff --git a/DDRec/include/DDRec/CellIDPositionConverter.h b/DDRec/include/DDRec/CellIDPositionConverter.h
index 6ceab09cd..6f4ea8e9e 100644
--- a/DDRec/include/DDRec/CellIDPositionConverter.h
+++ b/DDRec/include/DDRec/CellIDPositionConverter.h
@@ -96,6 +96,10 @@ namespace dd4hep {
        */
       Readout findReadout(const PlacedVolume& pv) const ;
 
+      /** Returns the segmentation.cellDimensions. 
+       *
+       */
+    std::vector<double> cellDimensions(const CellID& cell) const ;
 
     protected:
       VolumeManager _volumeManager{} ;
diff --git a/DDRec/src/CellIDPositionConverter.cpp b/DDRec/src/CellIDPositionConverter.cpp
index f55dc06c3..77c650b33 100644
--- a/DDRec/src/CellIDPositionConverter.cpp
+++ b/DDRec/src/CellIDPositionConverter.cpp
@@ -327,6 +327,14 @@ namespace dd4hep {
       return Readout() ;
     }
 
+    std::vector<double> CellIDPositionConverter::cellDimensions(const CellID& cell) const {
+      auto context = findContext( cell ) ;
+      if( context == nullptr ) return { };
+      dd4hep::Readout r  = findReadout( context->element ) ;
+      dd4hep::Segmentation seg = r.segmentation() ;
+      return seg.cellDimensions( cell );
+    }
+
 
 
 
-- 
GitLab