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

Geometry properties of a FTD detector needed for reconstruction code. More...

#include <FTDParametersImpl.h>

Inheritance diagram for gear::FTDParametersImpl:
gear::GearParametersImpl gear::FTDParameters gear::GearParameters gear::GearParameters

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

Detailed Description

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.

See Also
addLayer .
Author
J. Duarte, IFCA (based from VXDParametersImpl)
Version
$Id:

Definition at line 26 of file FTDParametersImpl.h.

Member Function Documentation

virtual void gear::FTDParametersImpl::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 
)
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).

Parameters
nPetalsthe number of petals and sensitive areas inside the layer
nSensorsthe number of sensors per petal
isDoubleSidedwhether the Petal has sensors on front AND back
sensorTypethe type of the sensors: PIXEL, STRIP
phi0azimuthal angle of vector defined by the Z-axis to first petal x-positive, y-positive edge
alphaangle of rotation of the petal in the turbine-blade design
zpositionthe centered position of the disk (layer) at Z-axis
rInnerDistance from the z-axis to the closest point of the petal (sensitive)
thicknessthe thickness in mm of the support (supportThickness) or the sensitive area (sensitiveThickness) (Z-axis distances)
lengthMinthe length (x-direction) in mm of the support (supportLength) or the sensitive area (sensitiveLength) in its shorter side
lengthMaxthe length (x-direction) in mm of the support (supportLength) or the sensitive area (sensitiveLength) in its longest side
widththe width (y-direction) of the support (supportWidth) or the sensitive area (sensitiveWidth) in mm
radLengththe 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

int gear::FTDParametersImpl::getLayerIndex ( const Vector3D p) const
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().

int gear::FTDParametersImpl::getSensitiveIndex ( const Vector3D p) const
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


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