GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
Public Member Functions | List of all members
gear::FixedDiskLayoutBase Class Reference

Base class for circular PadRowLayout2D implementations. More...

#include <FixedDiskLayoutBase.h>

Inheritance diagram for gear::FixedDiskLayoutBase:
gear::PadRowLayout2D gear::FixedPadAngleDiskLayout gear::FixedPadSizeDiskLayout gear::VersatileDiskRowLayout

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 PadRowLayout2Dclone () 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
 

Detailed Description

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).

Author
M. Killenberg, University of Bonn
Version
$Id$

Definition at line 18 of file FixedDiskLayoutBase.h.

Member Function Documentation

int gear::FixedDiskLayoutBase::getPadLayoutType ( ) const
virtual
Deprecated:
{ As there now is more than one implementation for each coordinate type this is not sufficient to distinguish the implementations any more. Use getPadLayoutImplType() to get the implementation type. Use getCoordinateType() to get the type of the coordinate system.

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().

virtual int gear::FixedDiskLayoutBase::getPadNumber ( int  padIndex) const
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().

virtual int gear::FixedDiskLayoutBase::getRowNumber ( int  padIndex) const
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().


The documentation for this class was generated from the following files: