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