#include <PadRowLayout2D.h>
Inheritance diagram for gear::PadRowLayout2D:
Public Member Functions | |
virtual | ~PadRowLayout2D () |
Destructor. | |
virtual int | getPadLayoutType () const=0 |
The type of the row layout: PadRowLayout2D.CARTESIAN or PadRowLayout2D.POLAR. | |
virtual int | getPadShape () const=0 |
The shape of the pads, one of PadRowLayout2D.RECTANGLE (Keystone), PadRowLayout2D.DIAMOND, PadRowLayout2D.HEXAGON, PadRowLayout2D.CHEVRON. | |
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). | |
virtual Point2D | 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 [phimin,phimax,rmin,rmax] POLAR. | |
virtual int | getRowNumber (int padIndex) const=0 |
The number of the row that contains the pad at padIndex - numbering starts at r/y==0. | |
virtual int | getPadNumber (int padIndex) const=0 |
The pad number (column) within the row - numbering starts at phi/x == 0. | |
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. | |
Static Public Attributes | |
const int | CARTESIAN = 1 |
const int | POLAR = 2 |
const int | RECTANGLE = 1 |
const int | DIAMOND = 2 |
const int | HEXAGON = 3 |
const int | CHEVRON = 4 |
This can be used, e.g. to describe the layout of the GEMs in a TPC or the FTD disks. The pads are indexed by row and column numbers in one 32-bit word.