2 #ifndef GEAR_SIPLANESLAYERLAYOUT_H
3 #define GEAR_SIPLANESLAYERLAYOUT_H 1
24 virtual int getID(
int layerIndex)
const = 0;
79 virtual void setID(
int layerIndex,
int value) = 0;
82 virtual void setLayerPositionX(
int layerIndex,
double value) = 0;
85 virtual void setLayerPositionY(
int layerIndex,
double value) = 0;
88 virtual void setLayerPositionZ(
int layerIndex,
double value) = 0;
91 virtual void setLayerRotationXY(
int layerIndex,
double value) = 0;
94 virtual void setLayerRotationZX(
int layerIndex,
double value) = 0;
97 virtual void setLayerRotationZY(
int layerIndex,
double value) = 0;
100 virtual void setLayerSizeX(
int layerIndex,
double value) = 0;
103 virtual void setLayerSizeY(
int layerIndex,
double value) = 0;
106 virtual void setLayerThickness(
int layerIndex,
double value) = 0;
109 virtual void setLayerRadLength(
int layerIndex,
double value) = 0;
230 virtual void setSensitiveID(
int layerIndex,
int value ) = 0;
233 virtual void setSensitivePositionX(
int layerIndex,
double value) = 0;
236 virtual void setSensitivePositionY(
int layerIndex,
double value) = 0;
239 virtual void setSensitivePositionZ(
int layerIndex,
double value) = 0;
242 virtual void setSensitiveRotationXY(
int layerIndex,
double value) = 0;
245 virtual void setSensitiveRotationZX(
int layerIndex,
double value) = 0;
248 virtual void setSensitiveRotationZY(
int layerIndex,
double value) = 0;
251 virtual void setSensitiveSizeX(
int layerIndex,
double value) = 0;
254 virtual void setSensitiveSizeY(
int layerIndex,
double value) = 0;
257 virtual void setSensitiveThickness(
int layerIndex,
double value) = 0;
260 virtual void setSensitiveRadLength(
int layerIndex,
double value) = 0;
virtual void setSensitivePitchY(int layerIndex, double value)=0
Pitch size in y direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for th...
virtual void setSensitiveRotation3(int layerIndex, double value)=0
Third element (sin(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexin...
virtual double getSensitiveRadLength(int layerIndex) const =0
The radiation length of sensitive volume of layer layerIndex - layer indexing starts at 0 for the lay...
virtual double getDUTSensitiveRotation3() const =0
Third element (sin(theta)) of rotation matrix of sensitive volume of the DUT.
virtual double getSensitiveRotation1(int layerIndex) const =0
First element (cos(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexin...
virtual int getSensitiveNpixelX(int layerIndex) const =0
Number of pixels in x direction in sensitive volume of layer layerIndex - layer indexing starts at 0 ...
virtual double getLayerRotationZX(int layerIndex) const =0
rotation angles according to Euler implmentation scheme (in ZX plane -> around axis Y: beta ) ...
virtual ~SiPlanesLayerLayout()
Destructor.
virtual int getNLayers() const =0
The total number of layers.
virtual double getLayerRotationXY(int layerIndex) const =0
rotation angles according to Euler implementation scheme (in XY plane -> around axis Z: gamma ) ...
virtual double getDUTThickness() const =0
Thickness of nonsensitive layer of the DUT.
virtual void setSensitiveRotation1(int layerIndex, double value)=0
First element (cos(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexin...
virtual double getDUTSensitivePitchY() const =0
Pitch size in y direction of sensitive volume of the DUT.
virtual double getSensitiveSizeX(int layerIndex) const =0
Size in x direction of sensitive volume of layer layerIndex - layer indexing starts at 0 for the laye...
virtual double getDUTSensitiveRotation4() const =0
Fourth element (cos(theta)) of rotation matrix of sensitive volume of the DUT.
virtual int getSensitiveNpixelY(int layerIndex) const =0
Number of pixels in y direction in sensitive volume of layer layerIndex - layer indexing starts at 0 ...
virtual double getSensitiveRotation2(int layerIndex) const =0
Second element (-sin(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer index...
virtual double getDUTSensitiveThickness() const =0
Thickness of sensitive volume of the DUT.
virtual double getSensitiveResolutionX(int layerIndex) const =0
Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the be...
virtual int getDUTID() const =0
ID of nonsensitive volume of the DUT.
virtual double getLayerSizeX(int layerIndex) const =0
Size in x direction of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the l...
virtual void setSensitiveRotation2(int layerIndex, double value)=0
Second element (-sin(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer index...
virtual double getSensitivePositionY(int layerIndex) const =0
y position of the center of sensitive volume of layer layerIndex - layer indexing starts at 0 for the...
virtual double getDUTSensitiveRotation1() const =0
First element (cos(theta)) of rotation matrix of sensitive volume of the DUT.
virtual void setSensitivePitchX(int layerIndex, double value)=0
Pitch size in x direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for th...
virtual double getDUTSensitivePositionX() const =0
x position of the center of sensitive volume of the DUT.
virtual double getDUTPositionZ() const =0
z position of the center of nonsensitive volume of the DUT.
virtual double getLayerRotationZY(int layerIndex) const =0
rotation angles according to Euler implmentation scheme (in ZY plane -> around axis X: alfa ) ...
virtual double getLayerThickness(int layerIndex) const =0
Thickness of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the layer close...
virtual int getSensitiveID(int layerIndex) const =0
ID of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the ...
virtual double getLayerPositionX(int layerIndex) const =0
x position of the center of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for ...
virtual double getSensitiveSizeY(int layerIndex) const =0
Size in y direction of sensitive volume of layer layerIndex - layer indexing starts at 0 for the laye...
virtual double getLayerPositionY(int layerIndex) const =0
y position of the center of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for ...
Abstract description of layers in a pixel beam telescope.
virtual double getSensitivePitchX(int layerIndex) const =0
Pitch size in x direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for th...
virtual double getSensitiveResolutionY(int layerIndex) const =0
Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the be...
virtual double getSensitiveRotationXY(int layerIndex) const =0
rotation angles according to Euler implementation scheme (in XY plane -> around axis Z: gamma ) ...
virtual double getLayerPositionZ(int layerIndex) const =0
z position of the center of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for ...
virtual double getDUTSensitiveRadLength() const =0
The radiation length of sensitive volume of the DUT.
virtual int getDUTSensitiveNpixelY() const =0
Number of pixels in y direction of sensitive volume of the DUT.
virtual double getSensitivePositionX(int layerIndex) const =0
x position of the center of sensitive volume of layer layerIndex - layer indexing starts at 0 for the...
virtual void setSensitiveResolutionX(int layerIndex, double value)=0
Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the be...
virtual double getSensitivePitchY(int layerIndex) const =0
Pitch size in y direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for th...
virtual double getDUTPositionY() const =0
y position of the center of nonsensitive volume of the DUT.
virtual int getDUTSensitiveNpixelX() const =0
Number of pixels in x direction of sensitive volume of the DUT.
virtual double getDUTSensitiveSizeX() const =0
Size in x direction of sensitive volume of the DUT.
virtual void setSensitiveResolution(int layerIndex, double value)=0
Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the be...
virtual double getDUTPositionX() const =0
x position of the center of nonsensitive volume of the DUT.
virtual double getLayerRadLength(int layerIndex) const =0
The radiation length of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the ...
virtual double getDUTSensitivePitchX() const =0
Pitch size in x direction of sensitive volume of the DUT.
virtual double getSensitiveRotation4(int layerIndex) const =0
Fourth element (cos(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexi...
virtual double getSensitiveResolution(int layerIndex) const =0
Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the be...
virtual double getSensitiveThickness(int layerIndex) const =0
Thickness of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest ...
virtual double getSensitiveRotationZX(int layerIndex) const =0
rotation angles according to Euler implmentation scheme (in ZX plane -> around axis Y: beta ) ...
virtual void setSensitiveResolutionY(int layerIndex, double value)=0
Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the be...
virtual double getDUTSensitiveRotation2() const =0
Second element (-sin(theta)) of rotation matrix of sensitive volume of the DUT.
virtual double getDUTSensitivePositionY() const =0
y position of the center of sensitive volume of the DUT.
virtual int getID(int layerIndex) const =0
Layer ID of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closes...
virtual void setSensitiveRotation4(int layerIndex, double value)=0
Fourth element (cos(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexi...
virtual double getSensitivePositionZ(int layerIndex) const =0
z position of the center of sensitive volume of layer layerIndex - layer indexing starts at 0 for the...
virtual void setSensitiveNpixelX(int layerIndex, int value)=0
Number of pixels in x direction in sensitive volume of layer layerIndex - layer indexing starts at 0 ...
virtual double getSensitiveRotation3(int layerIndex) const =0
Third element (sin(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexin...
virtual double getDUTSensitivePositionZ() const =0
z position of the center of sensitive volume of the DUT.
virtual void setSensitiveNpixelY(int layerIndex, int value)=0
Number of pixels in y direction in sensitive volume of layer layerIndex - layer indexing starts at 0 ...
virtual double getDUTSensitiveResolution() const =0
Intrinsic resolution of the DUT, not relevant.
virtual double getLayerSizeY(int layerIndex) const =0
Size in y direction of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the l...
virtual double getSensitiveRotationZY(int layerIndex) const =0
rotation angles according to Euler implmentation scheme (in ZY plane -> around axis X: alfa ) ...
virtual int getDUTSensitiveID() const =0
ID of sensitive volume of the DUT.
virtual double getDUTRadLength() const =0
The radiation length of nonsensitive volume of the DUT.
virtual double getDUTSizeX() const =0
Size in x direction of nonsensitive volume of the DUT.
virtual double getDUTSensitiveSizeY() const =0
Size in y direction of sensitive volume of the DUT.
virtual double getDUTSizeY() const =0
Size in y direction of nonsensitive volume of the DUT.