1 #ifndef SEGMENTATIONMULTIGRIDSTRIPXYALG_H 2 #define SEGMENTATIONMULTIGRIDSTRIPXYALG_H 33 gar::raw::CellID_t GetCellID(
const gar::geo::GeometryCore& geo,
const unsigned int& det_id,
const unsigned int& stave,
const unsigned int& module,
const unsigned int& layer,
const unsigned int& slice,
const std::array<double, 3>& localPosition)
const override;
47 const double&
gridSizeX()
const override {
return _gridSizeX; }
49 const double&
gridSizeY()
const {
return _gridSizeY; }
51 const double&
stripSizeX()
const override {
return _stripSizeX; }
55 const double&
offsetX()
const {
return _offsetX; }
57 const double&
offsetY()
const {
return _offsetY; }
59 const double&
layerDimX()
const {
return _layer_dim_X; }
61 const double&
layerDimY()
const {
return _layer_dim_Y; }
71 const unsigned int&
nLayers()
const override {
return _nLayers; }
93 void setLayerDimXY(
const double& dimX,
const double& dimY)
const override { _layer_dim_X = dimX; _layer_dim_Y = dimY; }
95 void setVariables(
const double& innerangle,
const double &endcapsidelength)
const override { _InnerAngle = innerangle; _EndcapSideLength = endcapsidelength; }
99 void PrintParameters()
const override;
101 std::array<std::vector<unsigned int>, 2> TokenizeLayerVectors(std::vector<std::string> grid)
const;
std::string _xId
the field name used for X
double _frac
fraction of tiles to remove at the edge
unsigned int _nLayers
number of layers
const std::string & fieldNameY() const
double _gridSizeX
the grid size in X
const std::string & fieldNameLayer() const
void setOffsetY(double offset)
std::string _encoding
the encoding string
const double & offsetX() const
double _EndcapSideLength
Endcap Side Length.
std::vector< std::string > _gridBarrelLayers
the layers (start::end) for grid in Barrel
const std::string & fieldNameX() const
const std::string & fieldNameSlice() const
double _gridSizeY
the grid size in Y
void setStripSizeX(double stripSize)
double _offsetY
the coordinate offset in Y
double _stripSizeY
the strip size in Y
Description of geometry of one entire detector.
void setFieldNameX(const std::string &fieldName)
const unsigned int & nLayers() const override
const double & gridSizeX() const override
double _layer_dim_X
layer dimension in X
void setGridSizeX(double cellSize)
void setLayerDimXY(const double &dimX, const double &dimY) const override
const double & stripSizeX() const override
std::string _layerId
the field name used for layer
static QFile::DecoderFn decoder
void setVariables(const double &innerangle, const double &endcapsidelength) const override
const double & gridSizeY() const
const double & layerDimX() const
virtual void reconfigure(fhicl::ParameterSet const &pset)
std::string _sliceId
the field name used for slice
Helper class for decoding and encoding a bit field of 64bits for convenient declaration.
double _offsetX
the coordinate offset in X
const double & layerDimY() const
void setFieldNameLayer(const std::string &fieldName)
const double & stripSizeY() const
void setGridSizeY(double cellSize)
double _stripSizeX
the strip size in X
unsigned int _active_slice
active slice number
General GArSoft Utilities.
std::string _yId
the field name used for Y
std::vector< std::string > _stripBarrelLayers
the layers (start::end) for strips in Barrel
std::vector< std::string > _gridEndcapLayers
the layers (start::end) for grid in Endcap
void setFieldNameY(const std::string &fieldName)
bool _OnSameLayer
are the strips on the same layer?
void setOffsetX(double offset)
void setFieldNameSlice(const std::string &fieldName)
std::vector< std::string > _stripEndcapLayers
the layers (start::end) for strips in Endcap
const double & offsetY() const
LArSoft geometry interface.
double _InnerAngle
Inner Angle.
void setStripSizeY(double stripSize)
double _layer_dim_Y
layer dimension in Y