Abstract description of layers in a FTD detector. More...
#include <FTDLayerLayout.h>
Public Member Functions | |
virtual | ~FTDLayerLayout () |
Destructor. | |
virtual int | getNLayers () const =0 |
The total number of layers. | |
virtual int | getNPetals (int layerIndex) const =0 |
The number of petals in the layer layerIndex - layer indexing starts at 0 for the layer closest to IP. | |
virtual int | getNSensors (int layerIndex) const =0 |
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 =0 |
Whether the petals on a layer have sensors in front and back. | |
virtual int | getSensorType (int layerIndex) const =0 |
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 =0 |
Angular half-width of the petals of a layer - half of the opening angle of the trapezoid. | |
virtual double | getZposition (const int &layerIndex) const =0 |
The z-position of the centroid of the disk structure. | |
virtual double | getZoffset (const int &layerIndex) const =0 |
Z-offset of the petals in a staggered 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 =0 |
Z-offset sign of the petal 0 in a staggered setup - the z position of the petals is zposition + zsign0^{petalIndex}*zoffset. | |
virtual double | getPhi0 (const int &layerIndex) const =0 |
Azimuthal angle of the first petal (angle between petal centroid and x-axis for the petal indexed as 0). | |
virtual double | getAlpha (int layerIndex) const =0 |
Angle of rotation in the own plane of a petal in a tilted configuration. | |
virtual double | getSupportZposition (const int &layerIndex, const int &petalIndex) const =0 |
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 =0 |
The R-min of the support petals in the XY-plane in mm, for the layer layerIndex - layer indexing starts at 0 for the layer closest to IP. | |
virtual double | getSupportRadLength (int layerIndex) const =0 |
The radiation length in the support structure petals of layer layerIndex - layer indexing starts at 0 for the layer closest to IP. | |
virtual double | getSupportThickness (int layerIndex) const =0 |
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 =0 |
The length (x-direction) of the smallest edge of the trapezoid support in layer layerIndex - layer indexing starting at 0 for the layer closest to IP. | |
virtual double | getSupportLengthMax (int layerIndex) const =0 |
The length (x-direction) of the largest edge of the trapezoid support in layer layerIndex - layer indexing starting at 0 for the layer closest to IP. | |
virtual double | getSupportWidth (int layerIndex) const =0 |
The width of the support in layer in mm for petals 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 &sensorId) const =0 |
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 =0 |
The R-min of the petal in the XY-plane in mm for sensors in layer layerIndex - layer indexing starts at 0 for the layer closest to IP. | |
virtual double | getSensitiveRadLength (int layerIndex) const =0 |
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 =0 |
The thickness in mm of the sensitive area in petals in layer layerIndex. | |
virtual double | getSensitiveLengthMin (int layerIndex) const =0 |
Same as getPetalLengthMin() except for the sensitive part of the petal. More... | |
virtual double | getSensitiveLengthMax (int layerIndex) const =0 |
Same as getPetalLengthMax() except for the sensitive part of the petal. More... | |
virtual double | getSensitiveWidth (int layerIndex) const =0 |
The width of the sensitive area in petals in layer layerIndex in mm. | |
virtual double | getPhiPetalCd (const int &layerIndex, const int &petalIndex) const =0 |
Azimuthal angle of the petal petalIndex Centroid at layer layerIndex. More... | |
virtual double | getMaxRadius (const int &layerIndex, const bool &sensitive=false) const =0 |
returns maximum radius for a given layer | |
virtual double | getStartPhi (const int &layerIndex, const int &petalInd, const bool &sensitive=false) const =0 |
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 =0 |
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 =0 |
returns thickness as viewed under the incidence angles phi and theta in layer layerIndex. More... | |
Abstract description of layers in a FTD detector.
This assumes a symmetric layout of petals (isocelete(?) trapezoids), arranged in layers (disk) a z-position to IP.
The sensitive area is assumed to be inside the petals but can be positioned independently.
Definition at line 17 of file FTDLayerLayout.h.
|
pure virtual |
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.
Implemented in gear::FTDLayerLayoutImpl.
Referenced by gear::FTDParametersXML::toXML().
|
pure 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.
Implemented in gear::FTDLayerLayoutImpl.
|
pure virtual |
Same as getPetalLengthMax() except for the sensitive part of the petal.
Implemented in gear::FTDLayerLayoutImpl.
Referenced by gear::FTDParametersXML::toXML().
|
pure virtual |
Same as getPetalLengthMin() except for the sensitive part of the petal.
Implemented in gear::FTDLayerLayoutImpl.
Referenced by gear::FTDParametersXML::toXML().
|
pure 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.
Implemented in gear::FTDLayerLayoutImpl.
|
pure 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.
Implemented in gear::FTDLayerLayoutImpl.
|
pure 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
Implemented in gear::FTDLayerLayoutImpl.