GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
FixedDiskLayoutBase.h
1 #ifndef FixedDiskLayoutBase_h
2 #define FixedDiskLayoutBase_h 1
3 
4 #include "gear/PadRowLayout2D.h"
5 
6 
7 namespace gear {
8 
9 
19 
20  public:
21 
22 
32  virtual int getPadLayoutType() const;
33 
37  virtual int getCoordinateType() const { return PadRowLayout2D::POLAR ; }
38 
41  virtual int getPadShape() const { return PadRowLayout2D::RECTANGLE ; }
42 
46  virtual int getRowNumber(int padIndex) const { return ( 0xffff0000 & padIndex ) >> 16 ; }
47 
51  virtual int getPadNumber(int padIndex) const { return ( 0x0000ffff & padIndex ) ; }
52 
55  virtual double getDistanceToPad(double c0, double c1, int padIndex) const;
56 
57  }; // class
58 
59 } // namespace gear
60 #endif // ifndef FixedPadAngleDiskLayout_h
Abstract description of a planar subdetector with pads (cells) that are positioned in rows (circular ...
virtual double getDistanceToPad(double c0, double c1, int padIndex) const
Returns the closest distance to the edge (outer border) of the pad.
Base class for circular PadRowLayout2D implementations.
virtual int getPadLayoutType() const
virtual int getCoordinateType() const
The type of the row layouts coordinate system: PadRowLayout2D.POLAR.
virtual int getRowNumber(int padIndex) const
The number of the row that contains the pad at padIndex.
virtual int getPadShape() const
The shape of the pads: PadRowLayout2D::RECTANGLE (i.e. keystone).
virtual int getPadNumber(int padIndex) const
The pad number (column) within the row.