Geometry properties of a FTD detector needed for reconstruction code. More...
#include <FTDParametersImpl.h>
Public Member Functions | |
virtual void | addLayer (int nPetals, int nSensors, bool isDoubleSided, int sensorType, double petalOpAngle, double phi0, double alpha, double zposition, double zoffset, double zsign0, double supportRinner, double supportThickness, double supportLengthMin, double supportLengthMax, double supportWidth, double supportRadLength, double sensitiveRinner, double sensitiveThickness, double sensitiveLengthMin, double sensitiveLengthMax, double sensitiveWidth, double sensitiveRadLength) |
adding a Layer to the vertex one layer consists of a number of petals and sensitive areas (nPetals) that are each Z-equidistant to IP (disk). More... | |
virtual const FTDLayerLayout & | getFTDLayerLayout () const |
Returns the layer layout in the Vertex. | |
virtual int | getLayerIndex (const Vector3D &p) const |
returns the layerIndex which correspond to the layer where the point is. More... | |
virtual int | getSensitiveIndex (const Vector3D &p) const |
returns the petal Index which correspond to the layer where the point is. More... | |
bool | isPointInFTD (const Vector3D &p, const bool &sensitive=false) const |
returns if a point is in support (sensitive == false) or in sensitive (sensitive == true) | |
int | getPetalIndex (const Vector3D &p, const bool &sensitive=false) const |
returns the petal number corresponding to a given point. More... | |
Vector3D | distanceToPlane (Vector3D p, Vector3D r, Vector3D n, Vector3D u, Vector3D v, float minU, float maxU, float minV, float maxV) const |
returns distance to nearest support petal (sensitive == false) or nearest sensitiv (sensitive == true) More... | |
Vector3D | planeLineIntersection (Vector3D r, Vector3D n, Vector3D linePoint, Vector3D lineDir) const |
returns the first point on the ftd, where it intersects with a given straight line (parameters point p and direction v) More... | |
double | confiningRatio (Vector3D p, Vector3D r, Vector3D n, Vector3D u, Vector3D v, float minU, float maxU, float minV, float maxV) const |
returns the confiningRatio of a point p in a plane when the plane (r,n) is reduced to a finite square extensions in direction u (minU to maxU) and in direction v (minV to maxV) | |
Vector3D | correctToBorderPoint (Vector3D vPlane, Vector3D u, Vector3D v, float minU, float maxU, float minV, float maxV) const |
corrects the vector vPlane into the given borders, given by direction u (minU to maxU) and in direction v (minV to maxV) the corrected Vector is returned | |
bool | isEqual (double valueOne, double valueTwo) const |
bool | isEqual (Vector3D p1, Vector3D p2) const |
bool | differsLess (double valueOne, double valueTwo) const |
double | correctPhiRange (double Phi) const |
returns Phi corrected to Range -M_PI/2 to +M_PI/2 | |
double | getPhiPoint (Vector3D p) const |
returns Phi for a point | |
Public Member Functions inherited from gear::GearParametersImpl | |
virtual | ~GearParametersImpl () |
Destructor. | |
virtual int | getIntVal (const std::string &key) const |
Integer value for key. More... | |
virtual double | getDoubleVal (const std::string &key) const |
Double value for key. More... | |
virtual const std::string & | getStringVal (const std::string &key) const |
String value for key. More... | |
virtual const std::vector< int > & | getIntVals (const std::string &key) const |
Integer values for key. More... | |
virtual const std::vector < double > & | getDoubleVals (const std::string &key) const |
Double values for key. More... | |
virtual const std::vector < std::string > & | getStringVals (const std::string &key) const |
String values for key. More... | |
virtual void | setIntVal (const std::string &key, int val) |
Set Integer value for key. | |
virtual void | setDoubleVal (const std::string &key, double val) |
Double value for key. | |
virtual void | setStringVal (const std::string &key, const std::string &val) |
String value for key. | |
virtual void | setIntVals (const std::string &key, const std::vector< int > &vals) |
Integer values for key. | |
virtual void | setDoubleVals (const std::string &key, const std::vector< double > &vals) |
Double values for key. | |
virtual void | setStringVals (const std::string &key, const std::vector< std::string > &vals) |
String values for key. | |
virtual const std::vector < std::string > & | getIntKeys () const |
All keys of int variables. More... | |
virtual const std::vector < std::string > & | getDoubleKeys () const |
All keys of double variables. More... | |
virtual const std::vector < std::string > & | getStringKeys () const |
All keys of string variables. More... | |
virtual const std::vector < std::string > & | getIntVecKeys () const |
All keys of IntVec variables. More... | |
virtual const std::vector < std::string > & | getDoubleVecKeys () const |
All keys of DoubleVec variables. More... | |
virtual const std::vector < std::string > & | getStringVecKeys () const |
All keys of StringVec variables. More... | |
Public Member Functions inherited from gear::GearParameters | |
virtual | ~GearParameters () |
Destructor. | |
Public Member Functions inherited from gear::FTDParameters | |
virtual | ~FTDParameters () |
Destructor. | |
Static Public Attributes | |
static const int | PIXEL = 1 |
static const int | STRIP = 2 |
static const int | FACE = 1 |
static const int | BACK = 2 |
Static Public Attributes inherited from gear::FTDParameters | |
static const int | PIXEL = 1 |
static const int | STRIP = 2 |
static const int | FACE = 1 |
static const int | BACK = 2 |
Protected Attributes | |
FTDLayerLayoutImpl | _layer {} |
int | _ftdType {} |
Protected Attributes inherited from gear::GearParametersImpl | |
std::map< std::string, int > | _intMap {} |
std::map< std::string, double > | _doubleMap {} |
std::map< std::string, std::string > | _stringMap {} |
std::map< std::string, IntVec > | _intVecMap {} |
std::map< std::string, DoubleVec > | _doubleVecMap {} |
std::map< std::string, StringVec > | _stringVecMap {} |
StringVec | _intKeys {} |
StringVec | _doubleKeys {} |
StringVec | _stringKeys {} |
StringVec | _intVecKeys {} |
StringVec | _doubleVecKeys {} |
StringVec | _stringVecKeys {} |
Additional Inherited Members | |
Public Types inherited from gear::GearParametersImpl | |
typedef std::map< std::string, int > | IntMap |
typedef std::map< std::string, double > | DoubleMap |
typedef std::map< std::string, std::string > | StringMap |
typedef std::map< std::string, IntVec > | IntVecMap |
typedef std::map< std::string, DoubleVec > | DoubleVecMap |
typedef std::map< std::string, StringVec > | StringVecMap |
Geometry properties of a FTD detector needed for reconstruction code.
The FTD is assumed to consist of a number of disks (layers) located along the Z-axis. Each disk consists of a number of trapezoid petals that are uniformly distributed in a circle around the Z-axis .
The sensitive volumes are rectangular pixels for the disks 1 and 2 covering the petal face nearest the IP; the remaining disks mount trapezoids covering both faces of the petal (we assume 1 sensitive layer per face, in the current implementation there are two). The sensitive volumes can be placed relative to the (insensitive) petals.
Definition at line 26 of file FTDParametersImpl.h.
|
inlinevirtual |
adding a Layer to the vertex one layer consists of a number of petals and sensitive areas (nPetals) that are each Z-equidistant to IP (disk).
The petals and sensitive areas are located in a plane XY with the same distance to IP (zposition) with dimensions length (xMin and xMax, because are trapezoids), width (perpendicular to connection IP-spacepoint) and thickness (extension to connection IP-spacepoint).
nPetals | the number of petals and sensitive areas inside the layer |
nSensors | the number of sensors per petal |
isDoubleSided | whether the Petal has sensors on front AND back |
sensorType | the type of the sensors: PIXEL, STRIP |
phi0 | azimuthal angle of vector defined by the Z-axis to first petal x-positive, y-positive edge |
alpha | angle of rotation of the petal in the turbine-blade design |
zposition | the centered position of the disk (layer) at Z-axis |
rInner | Distance from the z-axis to the closest point of the petal (sensitive) |
thickness | the thickness in mm of the support (supportThickness) or the sensitive area (sensitiveThickness) (Z-axis distances) |
lengthMin | the length (x-direction) in mm of the support (supportLength) or the sensitive area (sensitiveLength) in its shorter side |
lengthMax | the length (x-direction) in mm of the support (supportLength) or the sensitive area (sensitiveLength) in its longest side |
width | the width (y-direction) of the support (supportWidth) or the sensitive area (sensitiveWidth) in mm |
radLength | the radiation lenght of the support (supportRadLength) or the sensitive area (sensitiveRadLength) in mm |
Definition at line 70 of file FTDParametersImpl.h.
References gear::FTDLayerLayoutImpl::addLayer().
Referenced by gear::FTDParametersXML::fromXML().
Vector3D gear::FTDParametersImpl::distanceToPlane | ( | Vector3D | p, |
Vector3D | r, | ||
Vector3D | n, | ||
Vector3D | u, | ||
Vector3D | v, | ||
float | minU, | ||
float | maxU, | ||
float | minV, | ||
float | maxV | ||
) | const |
returns distance to nearest support petal (sensitive == false) or nearest sensitiv (sensitive == true)
returns vector to from point to closest point in described plane r as spacepoint vector n as normal vector u and v as in-plane vectors minU and maxU as min/max sizes of vector u still in plane minV and maxV as min/max sizes of vector v still in plane
|
virtual |
returns the layerIndex which correspond to the layer where the point is.
If the point is not inside any layer returns -1
Definition at line 22 of file FTDParametersImpl.cc.
Referenced by getPetalIndex().
int gear::FTDParametersImpl::getPetalIndex | ( | const Vector3D & | p, |
const bool & | sensitive = false |
||
) | const |
returns the petal number corresponding to a given point.
Return -1 if the point is outside the petal. If sensitive=true, uses the geometry of the sensitive to perform the result
Definition at line 127 of file FTDParametersImpl.cc.
References gear::FTDLayerLayoutImpl::getEndPhi(), getLayerIndex(), gear::FTDLayerLayoutImpl::getMaxRadius(), gear::FTDLayerLayoutImpl::getNPetals(), gear::FTDLayerLayoutImpl::getSensitiveRinner(), gear::FTDLayerLayoutImpl::getStartPhi(), and gear::FTDLayerLayoutImpl::getSupportRinner().
Referenced by isPointInFTD().
|
virtual |
returns the petal Index which correspond to the layer where the point is.
If the point is not inside any layer returns -1returns the layerIndex which correspond to the layer where the point is. If the point is not inside any layer returns -1
Definition at line 68 of file FTDParametersImpl.cc.
Referenced by isPointInFTD().
Vector3D gear::FTDParametersImpl::planeLineIntersection | ( | Vector3D | r, |
Vector3D | n, | ||
Vector3D | linePoint, | ||
Vector3D | lineDir | ||
) | const |
returns the first point on the ftd, where it intersects with a given straight line (parameters point p and direction v)
returns the intersection point of a plane and a straight line