Base class for circular PadRowLayout2D implementations. More...
#include <FixedDiskLayoutBase.h>
Public Member Functions | |
virtual int | getPadLayoutType () const |
virtual int | getCoordinateType () const |
The type of the row layouts coordinate system: PadRowLayout2D.POLAR. | |
virtual int | getPadShape () const |
The shape of the pads: PadRowLayout2D::RECTANGLE (i.e. keystone). | |
virtual int | getRowNumber (int padIndex) const |
The number of the row that contains the pad at padIndex. More... | |
virtual int | getPadNumber (int padIndex) const |
The pad number (column) within the row. More... | |
virtual double | getDistanceToPad (double c0, double c1, int padIndex) const |
Returns the closest distance to the edge (outer border) of the pad. | |
Public Member Functions inherited from gear::PadRowLayout2D | |
virtual | ~PadRowLayout2D () |
Destructor. | |
virtual PadRowLayout2D * | clone () const =0 |
Returns a copy (clone) of this class. More... | |
virtual int | getPadLayoutImplType () const =0 |
The type of the row layout implementation: PadRowLayout2D.RECTANGULARPADROWLAYOUT, PadRowLayout2D.FIXEDPADSIZEDISKLAYOUT, PadRowLayout2D.FIXEDPADANGLEDISKLAYOUT or PadRowLayout2D.TPCMODULE. | |
virtual int | getNPads () const =0 |
The total number of pads. | |
virtual int | getNRows () const =0 |
The number of rows. | |
virtual double | getRowHeight (int rowNumber) const =0 |
The row height in mm. | |
virtual double | getPadWidth (int padIndex) const =0 |
The width of the pad at padIndex in mm (CARTESIAN) or radians (POLAR). More... | |
virtual double | getPadPitch (int padIndex) const =0 |
The pitch (i. More... | |
virtual Vector2D | getPadCenter (int padIndex) const =0 |
The center of the pad in 2d coordinates, (x,y) or (r,phi). | |
virtual double | getPadHeight (int padIndex) const =0 |
The height of the pad in mm. | |
virtual const std::vector< int > & | getPadsInRow (int rowNumber) const =0 |
Indices of all pads in row rowNumber (row indices start from 0 at the bottom (CARTESIAN) or at the center (POLAR)). | |
virtual const std::vector < double > & | getPlaneExtent () const =0 |
Extent of the sensitive plane - [xmin,xmax,ymin,ymax] CARTESIAN or [rmin,rmax,phimin,phimax] POLAR. | |
virtual int | getPadIndex (int rowNum, int padNum) const =0 |
Create a padIndex for the given row and pad ( column ) number. | |
virtual int | getNearestPad (double c0, double c1) const =0 |
The index of the pad nearest to the given point in 2d coordinates (x,y,) or (r,phi). | |
virtual int | getRightNeighbour (int padIndex) const =0 |
The index of the right neighbour pad. | |
virtual int | getLeftNeighbour (int padIndex) const =0 |
The index of the left neighbour pad. | |
virtual bool | isInsidePad (double c0, double c1, int padIndex) const =0 |
True if coordinate (c0,c1) is within the given pad. | |
virtual bool | isInsidePad (double c0, double c1) const =0 |
True if coordinate (c0,c1) is within any pad. | |
Additional Inherited Members | |
Static Public Attributes inherited from gear::PadRowLayout2D | |
static const int | RECTANGULARPADROWLAYOUT = 1 |
static const int | FIXEDPADSIZEDISKLAYOUT = 2 |
static const int | FIXEDPADANGLEDISKLAYOUT = 3 |
static const int | VERSATILEDISKROWLAYOUT = 4 |
static const int | TPCMODULE = 100 |
static const int | CARTESIAN = 1 |
static const int | POLAR = 2 |
static const int | RECTANGLE = 1 |
static const int | DIAMOND = 2 |
static const int | HEXAGON = 3 |
static const int | CHEVRON = 4 |
Base class for circular PadRowLayout2D implementations.
It implements the functionality common for all FixedPad***DiskLayout classes to avoid code duplication (non-trivial distance calculations etc).
Definition at line 18 of file FixedDiskLayoutBase.h.
|
virtual |
For backward compatibility this function returns PadRowLayout2D.CARTESIAN, i. e. getCoordinateType().}
Implements gear::PadRowLayout2D.
Reimplemented in gear::VersatileDiskRowLayout.
Definition at line 11 of file FixedDiskLayoutBase.cc.
References getCoordinateType().
|
inlinevirtual |
The pad number (column) within the row.
Pad numbering within the row starts with 0 at phiMin.
Implements gear::PadRowLayout2D.
Reimplemented in gear::VersatileDiskRowLayout, and gear::FixedPadSizeDiskLayout.
Definition at line 51 of file FixedDiskLayoutBase.h.
Referenced by gear::FixedPadAngleDiskLayout::getLeftNeighbour(), gear::FixedPadAngleDiskLayout::getPadCenter(), and gear::FixedPadAngleDiskLayout::getRightNeighbour().
|
inlinevirtual |
The number of the row that contains the pad at padIndex.
Row numbering starts at rMin.
Implements gear::PadRowLayout2D.
Reimplemented in gear::VersatileDiskRowLayout, and gear::FixedPadSizeDiskLayout.
Definition at line 46 of file FixedDiskLayoutBase.h.
Referenced by getDistanceToPad(), gear::FixedPadAngleDiskLayout::getLeftNeighbour(), gear::FixedPadAngleDiskLayout::getPadCenter(), and gear::FixedPadAngleDiskLayout::getRightNeighbour().