1 #include "gearimpl/FTDParametersImpl.h"
5 #define _EPSILON 0.0001
136 double pRadius = sqrt( p[0]*p[0] + p[1]*p[1] ) ;
139 double pPhi = atan2( p[1], p[0] );
143 for(
int petal=0; petal < _layer.
getNPetals(layer); petal++)
145 const double lowpetalphi = _layer.
getStartPhi(layer, petal, sensitive);
146 const double highpetalphi = _layer.
getEndPhi(layer, petal, sensitive);
147 if( pPhi <= highpetalphi && pPhi >= lowpetalphi )
153 if( foundpetal == -1)
170 if( pRadius < rMin || pRadius > rMax )
virtual int getSensitiveIndex(const Vector3D &p) const
returns the petal Index which correspond to the layer where the point is.
virtual double getSupportRinner(int layerIndex) const
The R-min of the petals in the XY-plane in mm for supports.
int getPetalIndex(const Vector3D &p, const bool &sensitive=false) const
returns the petal number corresponding to a given point.
virtual double getSensitiveRinner(int layerIndex) const
The R-min of the support in the XY-plane in mm for sensors.
bool isPointInFTD(const Vector3D &p, const bool &sensitive=false) const
returns if a point is in support (sensitive == false) or in sensitive (sensitive == true) ...
Simple three dimensional vector providing the components for cartesian, cylindrical and spherical coo...
virtual double getMaxRadius(const int &layerIndex, const bool &sensitive=false) const
returns maximum radius for a given layer
virtual int getLayerIndex(const Vector3D &p) const
returns the layerIndex which correspond to the layer where the point is.
virtual double getEndPhi(const int &layerIndex, const int &petalInd, const bool &sensitive=false) const
returns ending phi for first petal in layer layerIndex (on side facing IP)
virtual int getNPetals(int layerIndex) const
The number of petals in the layer layerIndex - layer indexing starts at 0 for the layer closest to IP...
virtual double getStartPhi(const int &layerIndex, const int &petalInd, const bool &sensitive=false) const
returns starting phi for first petal in layer layerIndex (on side facing IP)