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

gear::FixedPadSizeDiskLayout Class Reference

Implementation of PadRowLayout2D for a disk with fixed sized keystone pads. More...

#include <FixedPadSizeDiskLayout.h>

Inheritance diagram for gear::FixedPadSizeDiskLayout:

gear::PadRowLayout2D List of all members.

Public Member Functions

 FixedPadSizeDiskLayout (double rMin, double rMax, double padHeight, double PadWidth, int nRow=0, double padGap=0.)
 Construct the FixedPadSizeDiskLayout from the given parameters rMin, rMax, padHeight and PadWidth where the maximum number of pads are fitted to the plane.

virtual ~FixedPadSizeDiskLayout ()
 Destructor.

virtual double getPadGap () const
 The gap width in mm that was given in the C'tor.

virtual double getFixedPadWidth () const
 The fixed width of the pads in mm.

virtual int getPadLayoutType () const
 The type of the row layout: PadRowLayout2D::POLAR.

virtual int getPadShape () const
 The shape of the pads: PadRowLayout2D::RECTANGLE (i.e.

virtual int getNPads () const
 The total number of pads in the TPC.

virtual int getNRows () const
 The number of rows.

virtual double getRowHeight (int rowNumber) const
 The row height in mm.

virtual double getPadHeight (int padIndex) const
 The height of the pad in mm.

virtual double getPadWidth (int padIndex) const
 The width of the pad in radians NB!

virtual Point2D getPadCenter (int padIndex) const
 The center of the pad in 2d coordinates, (x,y) or (r,phi).

virtual const std::vector<
int > & 
getPadsInRow (int rowNumber) const
 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
 Extent of the sensitive plane - [xmin,xmax,ymin,ymax] CARTESIAN or [rmin,rmax,phimin,phimax] POLAR.

virtual int getRowNumber (int padIndex) const
 The number of the row that contains the pad at padIndex - numbering starts at r/y==0.

virtual int getPadNumber (int padIndex) const
 The pad number (column) within the row - numbering starts at phi/x =.

virtual int getPadIndex (int rowNum, int padNum) const
 Create a padIndex for the given row and pad ( column ) number.

virtual int getNearestPad (double c0, double c1) const
 The index of the pad nearest to the given point in 2d coordinates (x,y,) or (r,phi).

virtual int getRightNeighbour (int padIndex) const
 The index of the right neighbour pad.

virtual int getLeftNeighbour (int padIndex) const
 The index of the left neighbour pad.

virtual bool isInsidePad (double c0, double c1, int padIndex) const
 True if coordinate (c0,c1) is within the given pad.

virtual bool isInsidePad (double c0, double c1) const
 True if coordinate (c0,c1) is within any pad.


Protected Attributes

double _rMin
double _rMax
double _rowHeight
double _padWidth
double _padHeight
double _padGap
int _nRow
int _nPad
std::vector< Row_rows
std::vector< double > _extent
std::vector< std::vector<
int > * > 
_padIndices

Detailed Description

Implementation of PadRowLayout2D for a disk with fixed sized keystone pads.

The pads with the given height and width are distributed in symmetrical rings starting with the pad number 0 above the x-axis so that the pad 0 is fully contained in the first quadrant (x>0,y>0 ) and symmetyrical to the last pad right below the the x-axis. The pad width is the width alog the ring's circumference at the middle of the row (through the pad center).

Author:
F. Gaede, DESY
Version:
Id
FixedPadSizeDiskLayout.h,v 1.3 2006/05/12 12:56:31 gaede Exp


Constructor & Destructor Documentation

gear::FixedPadSizeDiskLayout::FixedPadSizeDiskLayout double  rMin,
double  rMax,
double  padHeight,
double  PadWidth,
int  nRow = 0,
double  padGap = 0.
 

Construct the FixedPadSizeDiskLayout from the given parameters rMin, rMax, padHeight and PadWidth where the maximum number of pads are fitted to the plane.

Parameters:
nRow : limits the number of rows - if given
padGap : additional gap between pads in r-phi in mm


Member Function Documentation

virtual int gear::FixedPadSizeDiskLayout::getPadShape  )  const [inline, virtual]
 

The shape of the pads: PadRowLayout2D::RECTANGLE (i.e.

keystone).

Implements gear::PadRowLayout2D.


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