2 #ifndef GEAR_FTDLAYERLAYOUT_H
3 #define GEAR_FTDLAYERLAYOUT_H 1
31 virtual int getNPetals(
int layerIndex)
const = 0;
68 virtual double getZposition(
const int & layerIndex)
const = 0;
75 virtual double getZoffset(
const int & layerIndex)
const = 0;
86 virtual double getPhi0(
const int & layerIndex)
const = 0;
91 virtual double getAlpha(
int layerIndex)
const = 0;
106 virtual double getSupportZposition(
const int & layerIndex,
const int & petalIndex)
const = 0;
158 virtual double getSensitiveZposition(
const int & layerIndex,
const int & petalIndex,
const int & sensorId)
const = 0;
196 virtual double getPhiPetalCd(
const int & layerIndex,
const int & petalIndex)
const = 0;
200 virtual double getMaxRadius(
const int & layerIndex,
const bool & sensitive=
false )
const = 0;
205 virtual double getStartPhi(
const int & layerIndex,
const int & petalInd,
206 const bool &sensitive=
false )
const = 0;
211 virtual double getEndPhi(
const int & layerIndex,
const int & petalInd,
212 const bool & sensitive=
false )
const = 0;
221 const double & phi,
const bool & sensitive=
false )
const = 0;
virtual double getSupportLengthMax(int layerIndex) const =0
The length (x-direction) of the largest edge of the trapezoid support in layer layerIndex - layer ind...
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 + zsign...
virtual double getSensitiveThickness(int layerIndex) const =0
The thickness in mm of the sensitive area in petals in layer layerIndex.
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 star...
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 ...
virtual double getSupportLengthMin(int layerIndex) const =0
The length (x-direction) of the smallest edge of the trapezoid support in layer layerIndex - layer in...
virtual double getPhiPetalCd(const int &layerIndex, const int &petalIndex) const =0
Azimuthal angle of the petal petalIndex Centroid at layer layerIndex.
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 petalI...
virtual double getZposition(const int &layerIndex) const =0
The z-position of the centroid of the disk structure.
virtual int getNSensors(int layerIndex) const =0
The number of sensors per petal on a specific layer - Sensor indexing is defined as follows: (illustr...
virtual double getSupportThickness(int layerIndex) const =0
The thickness in mm of the supports in layerIndex - layer indexing starting at 0 for the layer closes...
virtual int getSensorType(int layerIndex) const =0
The sensor type of the disk: pixel or micro-strip The return value corresponds to the following value...
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 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...
Abstract description of layers in a FTD detector.
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 getZposit...
virtual double getMaxRadius(const int &layerIndex, const bool &sensitive=false) const =0
returns maximum radius for a given layer
virtual double getSensitiveLengthMax(int layerIndex) const =0
Same as getPetalLengthMax() except for the sensitive part of the petal.
virtual double getSensitiveLengthMin(int layerIndex) const =0
Same as getPetalLengthMin() except for the sensitive part of the petal.
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 getSensitiveRadLength(int layerIndex) const =0
The radiation length in sensitive volumes in layer layerIndex - layer indexing starts at 0 for the la...
virtual double getAlpha(int layerIndex) const =0
Angle of rotation in the own plane of a petal in a tilted configuration.
virtual ~FTDLayerLayout()
Destructor.
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...
virtual int getNLayers() const =0
The total number of layers.
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 getSensitiveWidth(int layerIndex) const =0
The width of the sensitive area in petals in layer layerIndex in mm.
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 ...
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.
virtual bool isDoubleSided(int layerIndex) const =0
Whether the petals on a layer have sensors in front and back.
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...
virtual double getSupportRadLength(int layerIndex) const =0
The radiation length in the support structure petals of layer layerIndex - layer indexing starts at 0...