GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
Classes | Public Types | Public Member Functions | Protected Attributes | Friends | List of all members
gear::FTDLayerLayoutImpl Class Reference
Inheritance diagram for gear::FTDLayerLayoutImpl:
gear::FTDLayerLayout

Classes

struct  Layer
 Helper class for layer properties. More...
 

Public Types

typedef std::vector< LayerLayerVec
 

Public Member Functions

virtual int getNLayers () const
 The total number of layers (z-positives and z-negatives disks). More...
 
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. More...
 
virtual int getNSensors (int layerIndex) const
 The number of sensors per petal on a specific layer - Sensor indexing is defined as follows: (illustrated here by a doublesided petal with 4 sensors) it starts with number 1: the sensor on the side facing the IP (the front), that is farthest from the xy - origin. More...
 
virtual bool isDoubleSided (int layerIndex) const
 Whether the petals on a layer have sensors in front and back.
 
virtual int getSensorType (int layerIndex) const
 The sensor type of the disk: pixel or micro-strip The return value corresponds to the following values: gear::FTDParameters::PIXEL gear::FTDParameters::STRIP.
 
virtual double getPhiHalfDistance (int layerIndex) const
 Angular half-width of the petals of a layer. More...
 
virtual double getPhi0 (const int &layerIndex) const
 Angular distance (XY plane) of a first petal (whose index is 0)
 
virtual double getAlpha (int layerIndex) const
 Angle of rotation in the own plane of a petal.
 
virtual double getZposition (const int &layerIndex) const
 The z-position of the centroid of the disk structure.
 
virtual double getZoffset (const int &layerIndex) const
 The z-offset of the support structure in a staggered the setup - the z position of the even numbered petals is getZposition(i)+getZoffsetSign0(i)*getZoffset(i), the odd numbered petals: getZposition(i)-getZoffsetSign0(i)*getZoffset(i),.
 
virtual double getZoffsetSign0 (const int &layerIndex) const
 The z-offset sign for the first petal (petalId=0)
 
virtual double getSupportZposition (const int &layerIndex, const int &petalIndex) const
 The position of the support in z direction in mm for the petalIndex petal in layer layerIndex - layer indexing starting at 0 from the layer closest to IP. More...
 
virtual double getSupportRinner (int layerIndex) const
 The R-min of the petals in the XY-plane in mm for supports.
 
virtual double getSupportRadLength (int layerIndex) const
 The radiation length in the support structure supports of layer layerIndex - layer indexing starts at 0 for the layer closest to IP.
 
virtual double getSupportThickness (int layerIndex) const
 The thickness in mm of the supports in layerIndex - layer indexing starting at 0 for the layer closest to IP.
 
virtual double getSupportLengthMin (int layerIndex) const
 The length (x-direction) in mm for the smallest edge of the supports in layerIndex - layer indexing starting at 0 for the layer closest to IP.
 
virtual double getSupportLengthMax (int layerIndex) const
 The length (x-direction) in mm for the largest edge of the supports in layerIndex - layer indexing starting at 0 for the layer closest to IP.
 
virtual double getSupportWidth (int layerIndex) const
 The width in mm for supports in layer layerIndex - layer indexing starting at 0 from the layer closest to IP.
 
virtual double getSensitiveZposition (const int &layerIndex, const int &petalIndex, const int &sensorIndex) const
 The position of the sensitive in z direction in mm for sensor sensorIndex of the petal support petalIndex in layer layerIndex - Layer indexing starting at 0 from the layer closest to IP. More...
 
virtual double getSensitiveRinner (int layerIndex) const
 The R-min of the support in the XY-plane in mm for sensors.
 
virtual double getSensitiveRadLength (int layerIndex) const
 The radiation length in sensitive volumes in layer layerIndex - layer indexing starts at 0 for the layer closest to IP.
 
virtual double getSensitiveThickness (int layerIndex) const
 The thickness in mm of the sensitive area in supports in layer layerIndex.
 
virtual double getSensitiveLengthMin (int layerIndex) const
 Same as getSupportLengthMin() except for the sensitive part of the support. More...
 
virtual double getSensitiveLengthMax (int layerIndex) const
 Same as getSupportLengthMax() except for the sensitive part of the support. More...
 
virtual double getSensitiveWidth (int layerIndex) const
 The width of the sensitive area in supports in layer layerIndex in mm.
 
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)
 Add a new layer at the given position.
 
virtual double getPhiPetalCd (const int &layerIndex, const int &petalIndex) const
 Azimuthal angle of the petal petalIndex Centroid at layer layerIndex. More...
 
virtual double getMaxRadius (const int &layerIndex, const bool &sensitive=false) const
 returns maximum radius for a given layer
 
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)
 
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 double getThicknessForAngle (const int &layerIndex, const double &tetha, const double &phi, const bool &sensitive=false) const
 returns thickness as viewed under the incidence angles phi and theta in layer layerIndex. More...
 
- Public Member Functions inherited from gear::FTDLayerLayout
virtual ~FTDLayerLayout ()
 Destructor.
 

Protected Attributes

LayerVec _lVec {}
 
LayerVec _sVec {}
 
std::vector< vframe_eL {}
 
std::vector< vframe_eS {}
 

Friends

class FTDParametersImpl
 

Detailed Description

Definition at line 36 of file FTDLayerLayoutImpl.h.

Member Function Documentation

virtual int gear::FTDLayerLayoutImpl::getNLayers ( ) const
inlinevirtual

The total number of layers (z-positives and z-negatives disks).

Implements gear::FTDLayerLayout.

Definition at line 75 of file FTDLayerLayoutImpl.h.

virtual int gear::FTDLayerLayoutImpl::getNPetals ( int  layerIndex) const
inlinevirtual

The number of petals in the layer layerIndex - layer indexing starts at 0 for the layer closest to IP.

Implements gear::FTDLayerLayout.

Definition at line 79 of file FTDLayerLayoutImpl.h.

Referenced by gear::FTDParametersImpl::getPetalIndex().

virtual int gear::FTDLayerLayoutImpl::getNSensors ( int  layerIndex) const
inlinevirtual

The number of sensors per petal on a specific layer - Sensor indexing is defined as follows: (illustrated here by a doublesided petal with 4 sensors) it starts with number 1: the sensor on the side facing the IP (the front), that is farthest from the xy - origin.

2 is the next sensor on the same side closer to the xy - origin. 3 is on the back ( the side not facing the IP ) and is back to back to sensor 1. 4 is then back to back to sensor 2.

If it were for exmaple 8 sensors on a doublesided petal, it would be (from outside to inside) 1,2,3,4 on the front and 5,6,7,8 on the back.

If it were 3 sensors on a singlesided petal, it would be just 1,2,3 on the front.

Implements gear::FTDLayerLayout.

Definition at line 94 of file FTDLayerLayoutImpl.h.

virtual double gear::FTDLayerLayoutImpl::getPhiHalfDistance ( int  layerIndex) const
inlinevirtual

Angular half-width of the petals of a layer.

This angle define the trapezoid.

Implements gear::FTDLayerLayout.

Definition at line 110 of file FTDLayerLayoutImpl.h.

double gear::FTDLayerLayoutImpl::getPhiPetalCd ( const int &  layerIndex,
const int &  petalIndex 
) const
virtual

Azimuthal angle of the petal petalIndex Centroid at layer layerIndex.

Layer indexing starting at 0 from the layer closest to IP. Petal indexing starting at 0 for the petal placed in the X-axis and grows with positive rotation around Z-axis.

Implements gear::FTDLayerLayout.

Definition at line 160 of file FTDLayerLayoutImpl.cc.

virtual double gear::FTDLayerLayoutImpl::getSensitiveLengthMax ( int  layerIndex) const
inlinevirtual

Same as getSupportLengthMax() except for the sensitive part of the support.

See Also
getSupportLengthMax

Implements gear::FTDLayerLayout.

Definition at line 225 of file FTDLayerLayoutImpl.h.

virtual double gear::FTDLayerLayoutImpl::getSensitiveLengthMin ( int  layerIndex) const
inlinevirtual

Same as getSupportLengthMin() except for the sensitive part of the support.

See Also
getSupportLengthMin

Implements gear::FTDLayerLayout.

Definition at line 219 of file FTDLayerLayoutImpl.h.

double gear::FTDLayerLayoutImpl::getSensitiveZposition ( const int &  layerIndex,
const int &  petalIndex,
const int &  sensorIndex 
) const
virtual

The position of the sensitive in z direction in mm for sensor sensorIndex of the petal support petalIndex in layer layerIndex - Layer indexing starting at 0 from the layer closest to IP.

Petal indexing starting at 0 for the petal placed in the X-axis and grows with positive rotation around Z-axis. Sensor indexing is defined as follows: (illustrated here by a doublesided petal with 4 sensors) it starts with number 1: the sensor on the side facing the IP (the front), that is farthest from the xy - origin. 2 is the next sensor on the same side closer to the xy - origin. 3 is on the back ( the side not facing the IP ) and is back to back to sensor 1. 4 is then back to back to sensor 2.

Implements gear::FTDLayerLayout.

Definition at line 124 of file FTDLayerLayoutImpl.cc.

References getSupportZposition().

double gear::FTDLayerLayoutImpl::getSupportZposition ( const int &  layerIndex,
const int &  petalIndex 
) const
virtual

The position of the support in z direction in mm for the petalIndex petal in layer layerIndex - layer indexing starting at 0 from the layer closest to IP.

Petal indexing starting at 0 for the petal placed in the X-axis and grows with positive rotation around Z-axis. The position is defined in the centroid point of the support.

Implements gear::FTDLayerLayout.

Definition at line 102 of file FTDLayerLayoutImpl.cc.

Referenced by getSensitiveZposition().

double gear::FTDLayerLayoutImpl::getThicknessForAngle ( const int &  layerIndex,
const double &  tetha,
const double &  phi,
const bool &  sensitive = false 
) const
virtual

returns thickness as viewed under the incidence angles phi and theta in layer layerIndex.

theta is the angle defined between the Z-axis (perpendicular to the petal plane) and the plane of the petal; phi is the incident angle defined in the ZX plane

Implements gear::FTDLayerLayout.

Definition at line 212 of file FTDLayerLayoutImpl.cc.


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