Classes | |
struct | Layer |
Helper class for layer properties. More... | |
Public Types | |
typedef std::vector< Layer > | LayerVec |
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 |
Definition at line 36 of file FTDLayerLayoutImpl.h.
|
inlinevirtual |
The total number of layers (z-positives and z-negatives disks).
Implements gear::FTDLayerLayout.
Definition at line 75 of file FTDLayerLayoutImpl.h.
|
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().
|
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.
|
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.
|
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.
|
inlinevirtual |
Same as getSupportLengthMax() except for the sensitive part of the support.
Implements gear::FTDLayerLayout.
Definition at line 225 of file FTDLayerLayoutImpl.h.
|
inlinevirtual |
Same as getSupportLengthMin() except for the sensitive part of the support.
Implements gear::FTDLayerLayout.
Definition at line 219 of file FTDLayerLayoutImpl.h.
|
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().
|
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().
|
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.