Main Page | Class Hierarchy | Class List | File List | Class Members

gear::PadRowLayout2D Class Reference

Abstract description of a planar subdetector with pads (cells) that are positioned in rows (circular or rectangular). More...

#include <PadRowLayout2D.h>

Inheritance diagram for gear::PadRowLayout2D:

gear::FixedPadSizeDiskLayout gear::RectangularPadRowLayout List of all members.

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

Detailed Description

Abstract description of a planar subdetector with pads (cells) that are positioned in rows (circular or rectangular).

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.

Author:
F. Gaede, DESY
Version:
Id
PadRowLayout2D.aid,v 1.2 2006/05/05 12:59:26 gaede Exp


The documentation for this class was generated from the following file:
Generated on Tue Sep 5 11:36:31 2006 for Gear by doxygen 1.3.5