#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 [rmin,rmax,phimin,phimax] 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.
1.3.5