a megatile is a rectangule in x-y, split into a grid along x and y, with an exactly integer number of cells in x and y.
More...
|
| MegatileLayerGridXY (const std::string &cellEncoding="") |
| Default constructor passing the encoding string. More...
|
|
| MegatileLayerGridXY (const BitFieldCoder *decoder) |
| Default constructor used by derived classes passing an existing decoder. More...
|
|
virtual | ~MegatileLayerGridXY () |
| destructor More...
|
|
void | setup () |
|
virtual Vector3D | position (const CellID &cellID) const |
| determine the position based on the cell ID More...
|
|
virtual CellID | cellID (const Vector3D &localPosition, const Vector3D &globalPosition, const VolumeID &volumeID) const |
| determine the cell ID based on the position More...
|
|
void | setMegaTileSizeXY (double x, double y) |
|
void | setMegaTileOffsetXY (double x, double y) |
| set the coordinate offset in X, Y More...
|
|
void | setMegaTileCellsXY (unsigned int layer, int ix, int iy) |
|
void | setSpecialMegaTile (unsigned int layer, unsigned int tile, double sizex, double sizey, double offsetx, double offsety, unsigned int ncellsx, unsigned int ncellsy) |
|
const std::string & | fieldNameX () const |
| access the field name used for X More...
|
|
const std::string & | fieldNameY () const |
| access the field name used for Y More...
|
|
void | setFieldNameX (const std::string &fieldName) |
| set the field name used for X More...
|
|
void | setFieldNameY (const std::string &fieldName) |
| set the field name used for Y More...
|
|
virtual std::vector< double > | cellDimensions (const CellID &cellID) const |
| Returns a vector<double> of the cellDimensions of the given cell ID in natural order of dimensions, e.g., dx/dy/dz, or dr/r*dPhi. More...
|
|
virtual std::vector< double > | cellDimensions (const unsigned int ilayer, const unsigned int iwafer) const |
|
int | getUnifNCellsX () |
|
int | getUnifNCellsY () |
|
virtual | ~CartesianGrid () |
| Destructor. More...
|
|
virtual | ~Segmentation () |
| Destructor. More...
|
|
virtual void | addSubsegmentation (long key_min, long key_max, Segmentation *entry) |
| Add subsegmentation. Call only valid for Multi-segmentations. Default implementation throws an exception. More...
|
|
virtual VolumeID | volumeID (const CellID &cellID) const |
| Determine the volume ID from the full cell ID by removing all local fields. More...
|
|
virtual void | neighbours (const CellID &cellID, std::set< CellID > &neighbours) const |
| Calculates the neighbours of the given cell ID and adds them to the list of neighbours. More...
|
|
virtual std::string | fieldDescription () const |
| Access the encoding string. More...
|
|
virtual const std::string & | name () const |
| Access the segmentation name. More...
|
|
virtual void | setName (const std::string &value) |
| Set the segmentation name. More...
|
|
virtual const std::string & | type () const |
| Access the segmentation type. More...
|
|
virtual const std::string & | description () const |
| Access the description of the segmentation. More...
|
|
virtual const BitFieldCoder * | decoder () const |
| Access the underlying decoder. More...
|
|
virtual void | setDecoder (const BitFieldCoder *decoder) |
| Set the underlying decoder. More...
|
|
virtual Parameter | parameter (const std::string ¶meterName) const |
| Access to parameter by name. More...
|
|
virtual Parameters | parameters () const |
| Access to all parameters. More...
|
|
virtual void | setParameters (const Parameters ¶meters) |
| Set all parameters from an existing set of parameters. More...
|
|
|
void | getSegInfo (unsigned int layerIndex, unsigned int waferIndex) const |
|
| CartesianGrid (const std::string &cellEncoding="") |
| Default constructor used by derived classes passing the encoding string. More...
|
|
| CartesianGrid (const BitFieldCoder *decoder) |
| Default constructor used by derived classes passing an existing decoder. More...
|
|
| Segmentation (const std::string &cellEncoding="") |
| Default constructor used by derived classes passing the encoding string. More...
|
|
| Segmentation (const BitFieldCoder *decoder) |
| Default constructor used by derived classes passing an existing decoder. More...
|
|
template<typename TYPE > |
void | registerParameter (const std::string &nam, const std::string &desc, TYPE ¶m, const TYPE &defaultVal, UnitType unitTyp=SegmentationParameter::NoUnit, bool isOpt=false) |
| Add a parameter to this segmentation. Used by derived classes to define their parameters. More...
|
|
void | registerIdentifier (const std::string &nam, const std::string &desc, std::string &ident, const std::string &defaultVal) |
| Add a cell identifier to this segmentation. Used by derived classes to define their required identifiers. More...
|
|
|
static double | binToPosition (FieldID bin, double cellSize, double offset=0.) |
| Helper method to convert a bin number to a 1D position. More...
|
|
static int | positionToBin (double position, double cellSize, double offset=0.) |
| Helper method to convert a 1D position to a cell ID. More...
|
|
static double | binToPosition (FieldID bin, std::vector< double > const &cellBoundaries, double offset=0.) |
| Helper method to convert a bin number to a 1D position given a vector of binBoundaries. More...
|
|
static int | positionToBin (double position, std::vector< double > const &cellBoundaries, double offset=0.) |
| Helper method to convert a 1D position to a cell ID given a vector of binBoundaries. More...
|
|
a megatile is a rectangule in x-y, split into a grid along x and y, with an exactly integer number of cells in x and y.
this class assumes a mostly-common megatile size, with possibility for a number of "special" megatiles of non-standard size / segmentation
the segmentation of standard megatiles is defined layer-by-layer.
some changes wrt previous version from Kotera et al.
- significantly simplified.
- complications due to end-of-slab moved to higher level detector drivers.
D. Jeans - Nov 2016
July 2017 - DJeans some changes for easier use of multi-layer segmentations
- for uniform segmentation, allow setting of ncellsx/y via parameter
- use std::vector, rather than fixed array to store ncells values
Definition at line 48 of file MegatileLayerGridXY.h.