GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
Public Member Functions | List of all members
gear::FTDLayerLayout Class Referenceabstract

Abstract description of layers in a FTD detector. More...

#include <FTDLayerLayout.h>

Inheritance diagram for gear::FTDLayerLayout:
gear::FTDLayerLayoutImpl

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...
 

Detailed Description

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.

Author
J. Duarte Campderros, IFCA (Based at VXDLayerLayout)
Version
$Id:

Definition at line 17 of file FTDLayerLayout.h.

Member Function Documentation

virtual int gear::FTDLayerLayout::getNSensors ( int  layerIndex) const
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().

virtual double gear::FTDLayerLayout::getPhiPetalCd ( const int &  layerIndex,
const int &  petalIndex 
) const
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.

virtual double gear::FTDLayerLayout::getSensitiveLengthMax ( int  layerIndex) const
pure virtual

Same as getPetalLengthMax() except for the sensitive part of the petal.

See Also
getPetalLengthMax

Implemented in gear::FTDLayerLayoutImpl.

Referenced by gear::FTDParametersXML::toXML().

virtual double gear::FTDLayerLayout::getSensitiveLengthMin ( int  layerIndex) const
pure virtual

Same as getPetalLengthMin() except for the sensitive part of the petal.

See Also
getPetalLengthMin

Implemented in gear::FTDLayerLayoutImpl.

Referenced by gear::FTDParametersXML::toXML().

virtual double gear::FTDLayerLayout::getSensitiveZposition ( const int &  layerIndex,
const int &  petalIndex,
const int &  sensorId 
) const
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.

virtual double gear::FTDLayerLayout::getSupportZposition ( const int &  layerIndex,
const int &  petalIndex 
) const
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.

virtual double gear::FTDLayerLayout::getThicknessForAngle ( const int &  layerIndex,
const double &  tetha,
const double &  phi,
const bool &  sensitive = false 
) const
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.


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