From c0483c812e596639627b773d441f847e3e92a575 Mon Sep 17 00:00:00 2001 From: Shaojun Lu <shaojun.lu@desy.de> Date: Wed, 18 May 2016 09:34:04 +0000 Subject: [PATCH] Updated TiledLayerGridXY segmentation, and added two functions to set and access the layer identifier string, which may be defined in the compact xml file. --- DDSegmentation/include/DDSegmentation/TiledLayerGridXY.h | 8 ++++++++ DDSegmentation/src/TiledLayerGridXY.cpp | 3 +-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/DDSegmentation/include/DDSegmentation/TiledLayerGridXY.h b/DDSegmentation/include/DDSegmentation/TiledLayerGridXY.h index ea9cf8c15..c1cb91a61 100644 --- a/DDSegmentation/include/DDSegmentation/TiledLayerGridXY.h +++ b/DDSegmentation/include/DDSegmentation/TiledLayerGridXY.h @@ -68,6 +68,10 @@ public: const std::string& fieldNameY() const { return _yId; } + /// access the field name used for Layer + const std::string& fieldNameLayer() const { + return _identifierLayer; + } /// set the grid size in X void setGridSizeX(double cellSize) { _gridSizeX = cellSize; @@ -100,6 +104,10 @@ public: void setFieldNameY(const std::string& fieldName) { _yId = fieldName; } + /// set the field name used for Y + void setFieldNameLayer(const std::string& fieldName) { + _identifierLayer= fieldName; + } /// set the layer boundary dimension for X void setBoundaryLayerX(double halfX) { diff --git a/DDSegmentation/src/TiledLayerGridXY.cpp b/DDSegmentation/src/TiledLayerGridXY.cpp index 2c05b508a..6d7b4bf55 100644 --- a/DDSegmentation/src/TiledLayerGridXY.cpp +++ b/DDSegmentation/src/TiledLayerGridXY.cpp @@ -32,8 +32,7 @@ TiledLayerGridXY::TiledLayerGridXY(const std::string& cellEncoding) : registerParameter("offset_y", "Cell offset in Y", _offsetY, 0., SegmentationParameter::LengthUnit, true); registerIdentifier("identifier_x", "Cell ID identifier for X", _xId, "x"); registerIdentifier("identifier_y", "Cell ID identifier for Y", _yId, "y"); - registerParameter("identifier_layer", "Cell encoding identifier for layer", _identifierLayer, std::string("layer"), - SegmentationParameter::NoUnit, true); + registerIdentifier("identifier_layer", "Cell encoding identifier for layer", _identifierLayer, "layer"); registerParameter("layer_offsetX", "List of layer x offset", _layerOffsetX, std::vector<double>(), SegmentationParameter::NoUnit, true); registerParameter("layer_offsetY", "List of layer y offset", _layerOffsetY, std::vector<double>(), -- GitLab