GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
SiPlanesLayerLayoutImpl.h
1 // -*- C++ -*-
2 #ifndef GEAR_SiPlanesLayerLayoutImpl_H
3 #define GEAR_SiPlanesLayerLayoutImpl_H 1
4 
5 #include "gear/SiPlanesLayerLayout.h"
6 #include <vector>
7 
8 namespace gear {
9 
19 
20 public:
21 
23  struct Layer {
24  int ID {};
25  double PositionX {};
26  double PositionY {};
27  double PositionZ {};
28  double RotationXY{};
29  double RotationZX{};
30  double RotationZY{};
31  double SizeX {};
32  double SizeY {};
33  double Thickness {};
34  double RadLength {};
35 
37  Layer() : ID(0), PositionX(0.), PositionY(0.), PositionZ(0.), RotationXY(0.), RotationZX(0.), RotationZY(0.), SizeX(0.), SizeY(0.), Thickness(0.), RadLength(0.)
38  {} ;
39  } ;
40 
41  struct SensLayer {
42  int ID {};
43  double PositionX {};
44  double PositionY {};
45  double PositionZ {};
46  double RotationXY{};
47  double RotationZX{};
48  double RotationZY{};
49  double SizeX {};
50  double SizeY {};
51  double Thickness {};
52  double RadLength {};
53 
54  int NpixelX{};
55  int NpixelY{};
56  double PitchX{};
57  double PitchY{};
58  double Resolution{};
59  double ResolutionX{};
60  double ResolutionY{};
61  double Rotation1{};
62  double Rotation2{};
63  double Rotation3{};
64  double Rotation4{};
66  SensLayer() : ID(0), PositionX(0.), PositionY(0.), PositionZ(0.), RotationXY(0.), RotationZX(0.), RotationZY(0.), SizeX(0.), SizeY(0.), Thickness(0.), RadLength(0.)
67  , NpixelX(0), NpixelY(0), Resolution(0.), ResolutionX(0.),ResolutionY(0.),
68  Rotation1(0.0), Rotation2(0.0), Rotation3(0.0), Rotation4(0.0)
69  {} ;
70  } ;
71 
72  typedef std::vector<Layer> LayerVec ;
73  typedef std::vector<SensLayer> SensLayerVec ;
74  typedef Layer DUT ;
75  typedef SensLayer SensDUT ;
76 
77  // Destructor.
78  virtual ~SiPlanesLayerLayoutImpl() { /* nop */; }
79 
80  virtual int getNLayers() const { return _lVec.size() ; }
81 
82  virtual int getID(int layerIndex) const { return _lVec.at( layerIndex ).ID ; }
83 
84  virtual double getLayerRadLength(int layerIndex) const { return _lVec.at( layerIndex ).RadLength ; }
85 
86  virtual double getLayerPositionX(int layerIndex) const { return _lVec.at( layerIndex ).PositionX ; }
87  virtual double getLayerPositionY(int layerIndex) const { return _lVec.at( layerIndex ).PositionY ; }
88  virtual double getLayerPositionZ(int layerIndex) const { return _lVec.at( layerIndex ).PositionZ ; }
89 
90  virtual double getLayerRotationXY(int layerIndex) const { return _lVec.at( layerIndex ).RotationXY ; }
91  virtual double getLayerRotationZX(int layerIndex) const { return _lVec.at( layerIndex ).RotationZX ; }
92  virtual double getLayerRotationZY(int layerIndex) const { return _lVec.at( layerIndex ).RotationZY ; }
93 
94  virtual double getLayerSizeX(int layerIndex) const { return _lVec.at( layerIndex ).SizeX ; }
95  virtual double getLayerSizeY(int layerIndex) const { return _lVec.at( layerIndex ).SizeY ; }
96  virtual double getLayerThickness(int layerIndex) const { return _lVec.at( layerIndex ).Thickness ; }
97 
98 // add "set" methods:
99  virtual void setID(int layerIndex, int value ) { _lVec.at( layerIndex ).ID = value ; }
100  virtual void setLayerPositionX(int layerIndex, double value) { _lVec.at( layerIndex ).PositionX = value ; }
101  virtual void setLayerPositionY(int layerIndex, double value) { _lVec.at( layerIndex ).PositionY = value ; }
102  virtual void setLayerPositionZ(int layerIndex, double value) { _lVec.at( layerIndex ).PositionZ = value ; }
103  virtual void setLayerRotationXY(int layerIndex, double value) { _lVec.at( layerIndex ).RotationXY = value ; }
104  virtual void setLayerRotationZX(int layerIndex, double value) { _lVec.at( layerIndex ).RotationZX = value ; }
105  virtual void setLayerRotationZY(int layerIndex, double value) { _lVec.at( layerIndex ).RotationZY = value ; }
106  virtual void setLayerSizeX(int layerIndex, double value) { _lVec.at( layerIndex ).SizeX = value ; }
107  virtual void setLayerSizeY(int layerIndex, double value) { _lVec.at( layerIndex ).SizeY = value ; }
108  virtual void setLayerThickness(int layerIndex, double value) { _lVec.at( layerIndex ).Thickness = value ; }
109  virtual void setLayerRadLength(int layerIndex, double value) { _lVec.at( layerIndex ).RadLength = value ; }
110 
111 
112  virtual int getSensitiveID(int layerIndex) const { return _sVec.at( layerIndex ).ID ; }
113 
114  virtual double getSensitivePositionX(int layerIndex) const { return _sVec.at( layerIndex ).PositionX ; }
115  virtual double getSensitivePositionY(int layerIndex) const { return _sVec.at( layerIndex ).PositionY ; }
116  virtual double getSensitivePositionZ(int layerIndex) const { return _sVec.at( layerIndex ).PositionZ ; }
117 
118  virtual double getSensitiveRotationXY(int layerIndex) const { return _sVec.at( layerIndex ).RotationXY ; }
119  virtual double getSensitiveRotationZX(int layerIndex) const { return _sVec.at( layerIndex ).RotationZX ; }
120  virtual double getSensitiveRotationZY(int layerIndex) const { return _sVec.at( layerIndex ).RotationZY ; }
121 
122  virtual double getSensitiveSizeX(int layerIndex) const { return _sVec.at( layerIndex ).SizeX ; }
123  virtual double getSensitiveSizeY(int layerIndex) const { return _sVec.at( layerIndex ).SizeY ; }
124  virtual double getSensitiveThickness(int layerIndex) const { return _sVec.at( layerIndex ).Thickness ; }
125  virtual double getSensitiveRadLength(int layerIndex) const { return _sVec.at( layerIndex ).RadLength ; }
126 
127  virtual void setSensitiveID(int layerIndex, int value) { _sVec.at( layerIndex ).ID = value ; }
128 
129  virtual void setSensitivePositionX(int layerIndex, double value) { _sVec.at( layerIndex ).PositionX = value ; }
130  virtual void setSensitivePositionY(int layerIndex, double value) { _sVec.at( layerIndex ).PositionY = value ; }
131  virtual void setSensitivePositionZ(int layerIndex, double value) { _sVec.at( layerIndex ).PositionZ = value ; }
132  virtual void setSensitiveRotationXY(int layerIndex, double value) { _sVec.at( layerIndex ).RotationXY = value ; }
133  virtual void setSensitiveRotationZX(int layerIndex, double value) { _sVec.at( layerIndex ).RotationZX = value ; }
134  virtual void setSensitiveRotationZY(int layerIndex, double value) { _sVec.at( layerIndex ).RotationZY = value ; }
135  virtual void setSensitiveSizeX(int layerIndex, double value) { _sVec.at( layerIndex ).SizeX = value ; }
136  virtual void setSensitiveSizeY(int layerIndex, double value) { _sVec.at( layerIndex ).SizeY = value ; }
137  virtual void setSensitiveThickness(int layerIndex, double value) { _sVec.at( layerIndex ).Thickness = value ; }
138  virtual void setSensitiveRadLength(int layerIndex, double value) { _sVec.at( layerIndex ).RadLength = value ; }
139 
140 
141  virtual int getSensitiveNpixelX(int layerIndex) const { return _sVec.at( layerIndex ).NpixelX ; }
142  virtual int getSensitiveNpixelY(int layerIndex) const { return _sVec.at( layerIndex ).NpixelY ; }
143 
144  virtual double getSensitiveResolution(int layerIndex) const { return _sVec.at( layerIndex ).Resolution ; }
145  virtual double getSensitiveResolutionX(int layerIndex) const { return _sVec.at( layerIndex ).ResolutionX ; }
146  virtual double getSensitiveResolutionY(int layerIndex) const { return _sVec.at( layerIndex ).ResolutionY ; }
147  virtual double getSensitivePitchX(int layerIndex) const { return _sVec.at( layerIndex ).PitchX ; }
148  virtual double getSensitivePitchY(int layerIndex) const { return _sVec.at( layerIndex ).PitchY ; }
149  virtual double getSensitiveRotation1(int layerIndex) const { return _sVec.at( layerIndex ).Rotation1 ; }
150  virtual double getSensitiveRotation2(int layerIndex) const { return _sVec.at( layerIndex ).Rotation2 ; }
151  virtual double getSensitiveRotation3(int layerIndex) const { return _sVec.at( layerIndex ).Rotation3 ; }
152  virtual double getSensitiveRotation4(int layerIndex) const { return _sVec.at( layerIndex ).Rotation4 ; }
153 
154  virtual void setSensitiveNpixelX(int layerIndex, int value) { _sVec.at( layerIndex ).NpixelX = value ; }
155  virtual void setSensitiveNpixelY(int layerIndex, int value) { _sVec.at( layerIndex ).NpixelY = value ; }
156 
157  virtual void setSensitiveResolution(int layerIndex, double value) { _sVec.at( layerIndex ).Resolution = value ; }
158  virtual void setSensitiveResolutionX(int layerIndex, double value){ _sVec.at( layerIndex ).ResolutionX = value ; }
159  virtual void setSensitiveResolutionY(int layerIndex, double value){ _sVec.at( layerIndex ).ResolutionY = value ; }
160  virtual void setSensitivePitchX(int layerIndex, double value) { _sVec.at( layerIndex ).PitchX = value ; }
161  virtual void setSensitivePitchY(int layerIndex, double value) { _sVec.at( layerIndex ).PitchY = value ; }
162  virtual void setSensitiveRotation1(int layerIndex, double value) { _sVec.at( layerIndex ).Rotation1 = value ; }
163  virtual void setSensitiveRotation2(int layerIndex, double value) { _sVec.at( layerIndex ).Rotation2 = value ; }
164  virtual void setSensitiveRotation3(int layerIndex, double value) { _sVec.at( layerIndex ).Rotation3 = value ; }
165  virtual void setSensitiveRotation4(int layerIndex, double value) { _sVec.at( layerIndex ).Rotation4 = value ; }
166 
167 
170  virtual void addLayer(int layerID,
171  double layerPositionX, double layerPositionY, double layerPositionZ,
172  double layerRotationXY, double layerRotationZX, double layerRotationZY,
173  double layerSizeX, double layerSizeY, double layerThickness,
174  double layerRadLength,
175  // sensitive
176  int sensitiveID,
177  double sensitivePositionX, double sensitivePositionY, double sensitivePositionZ,
178  double sensitiveRotationXY, double sensitiveRotationZX, double sensitiveRotationZY,
179  double sensitiveSizeX, double sensitiveSizeY, double sensitiveThickness,
180  int sensitiveNpixelX, int sensitiveNpixelY,
181  double sensitivePitchX,double sensitivePitchY,
182  double sensitiveResolution,
183  double sensitiveResolutionX,
184  double sensitiveResolutionY,
185  double Rotation1,
186  double Rotation2,
187  double Rotation3,
188  double Rotation4,
189  double sensitiveRadLength);
190 
191  virtual void addLayer(int layerID,
192  double layerPositionX, double layerPositionY, double layerPositionZ,
193  // no rotations of the support ladder neither
194  double layerSizeX, double layerSizeY, double layerThickness,
195  double layerRadLength,
196  // sensitive
197  int sensitiveID,
198  double sensitivePositionX, double sensitivePositionY, double sensitivePositionZ,
199  // no Rotations here // old interface
200  double sensitiveSizeX, double sensitiveSizeY, double sensitiveThickness,
201  int sensitiveNpixelX, int sensitiveNpixelY,
202  double sensitivePitchX,double sensitivePitchY,
203  double sensitiveResolution,
204  // no ResolutionX and Y parameters
205  double Rotation1,
206  double Rotation2,
207  double Rotation3,
208  double Rotation4,
209  double sensitiveRadLength);
210 
211 
212  // the DUT
213 
214  virtual int getDUTID() const { return _lDut.ID ; }
215 
216  virtual double getDUTRadLength() const { return _lDut.RadLength ; }
217 
218  virtual double getDUTPositionX() const { return _lDut.PositionX ; }
219  virtual double getDUTPositionY() const { return _lDut.PositionY ; }
220  virtual double getDUTPositionZ() const { return _lDut.PositionZ ; }
221 
222  virtual double getDUTSizeX() const { return _lDut.SizeX ; }
223  virtual double getDUTSizeY() const { return _lDut.SizeY ; }
224  virtual double getDUTThickness() const { return _lDut.Thickness ; }
225 
226  virtual int getDUTSensitiveID() const { return _sDut.ID ; }
227 
228  virtual double getDUTSensitiveRadLength() const { return _sDut.RadLength ; }
229 
230  virtual double getDUTSensitivePositionX() const { return _sDut.PositionX ; }
231  virtual double getDUTSensitivePositionY() const { return _sDut.PositionY ; }
232  virtual double getDUTSensitivePositionZ() const { return _sDut.PositionZ ; }
233 
234  virtual double getDUTSensitiveSizeX() const { return _sDut.SizeX ; }
235  virtual double getDUTSensitiveSizeY() const { return _sDut.SizeY ; }
236  virtual double getDUTSensitiveThickness() const { return _sDut.Thickness ; }
237 
238  virtual int getDUTSensitiveNpixelX() const { return _sDut.NpixelX ; }
239  virtual int getDUTSensitiveNpixelY() const { return _sDut.NpixelY ; }
240 
241  virtual double getDUTSensitivePitchX() const { return _sDut.PitchX ; }
242  virtual double getDUTSensitivePitchY() const { return _sDut.PitchY ; }
243 
244  virtual double getDUTSensitiveResolution() const { return _sDut.Resolution ; }
245 
246  virtual double getDUTSensitiveRotation1() const { return _sDut.Rotation1 ; }
247  virtual double getDUTSensitiveRotation2() const { return _sDut.Rotation2 ; }
248  virtual double getDUTSensitiveRotation3() const { return _sDut.Rotation3 ; }
249  virtual double getDUTSensitiveRotation4() const { return _sDut.Rotation4 ; }
250 
254  virtual void addDUT(int dutID,
255  double dutPositionX, double dutPositionY, double dutPositionZ,
256  double dutSizeX, double dutSizeY, double dutThickness,
257  double dutRadLength,
258  // sensitive
259  int dutsensitiveID,
260  double dutsensitivePositionX, double dutsensitivePositionY, double dutsensitivePositionZ,
261  double dutsensitiveSizeX, double dutsensitiveSizeY, double dutsensitiveThickness,
262  int dutsensitiveNpixelX, int dutsensitiveNpixelY,
263  double dutsensitivePitchX,double dutsensitivePitchY,
264  double dutsensitiveResolution,
265  double dutsensitiveRotation1,
266  double dutsensitiveRotation2,
267  double dutsensitiveRotation3,
268  double dutsensitiveRotation4,
269  double dutsensitiveRadLength);
270 
271 protected:
272 
273  typedef double MyMatrix[2][2];
274 
275  // Layer
276  LayerVec _lVec {};
277  // Sensitive layer
278  SensLayerVec _sVec {};
279 
280  // DUT plane
281  DUT _lDut {};
282  // Sensitive of DUT
283  SensDUT _sDut {};
284 
285 private:
286 
287 
288 }; // class
289 } // namespace gear
290 #endif /* ifndef GEAR_SIPLANESLAYERLAYOUT_H */
virtual double getDUTSizeY() const
Size in y direction of nonsensitive volume of the DUT.
virtual double getSensitiveRotation2(int layerIndex) const
Second element (-sin(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer index...
virtual double getLayerSizeX(int layerIndex) const
Size in x direction of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the l...
virtual void setSensitiveResolutionY(int layerIndex, double value)
Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the be...
virtual double getSensitiveSizeY(int layerIndex) const
Size in y direction of sensitive volume of layer layerIndex - layer indexing starts at 0 for the laye...
virtual void setSensitiveNpixelX(int layerIndex, int value)
Number of pixels in x direction in sensitive volume of layer layerIndex - layer indexing starts at 0 ...
virtual void setSensitiveResolution(int layerIndex, double value)
Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the be...
virtual double getDUTSensitiveRotation4() const
Fourth element (cos(theta)) of rotation matrix of sensitive volume of the DUT.
virtual double getDUTSensitiveRadLength() const
The radiation length of sensitive volume of the DUT.
virtual void setSensitiveRotation1(int layerIndex, double value)
First element (cos(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexin...
virtual double getLayerPositionX(int layerIndex) const
x position of the center of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for ...
virtual double getDUTSensitiveThickness() const
Thickness of sensitive volume of the DUT.
virtual void setSensitivePitchY(int layerIndex, double value)
Pitch size in y direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for th...
virtual double getLayerPositionZ(int layerIndex) const
z position of the center of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for ...
virtual void setSensitiveNpixelY(int layerIndex, int value)
Number of pixels in y direction in sensitive volume of layer layerIndex - layer indexing starts at 0 ...
virtual void addLayer(int layerID, double layerPositionX, double layerPositionY, double layerPositionZ, double layerRotationXY, double layerRotationZX, double layerRotationZY, double layerSizeX, double layerSizeY, double layerThickness, double layerRadLength, int sensitiveID, double sensitivePositionX, double sensitivePositionY, double sensitivePositionZ, double sensitiveRotationXY, double sensitiveRotationZX, double sensitiveRotationZY, double sensitiveSizeX, double sensitiveSizeY, double sensitiveThickness, int sensitiveNpixelX, int sensitiveNpixelY, double sensitivePitchX, double sensitivePitchY, double sensitiveResolution, double sensitiveResolutionX, double sensitiveResolutionY, double Rotation1, double Rotation2, double Rotation3, double Rotation4, double sensitiveRadLength)
Add a new layer at the given position.
virtual void setSensitiveRotation3(int layerIndex, double value)
Third element (sin(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexin...
Abstract description of layers in pixel beam telescope.
virtual int getDUTID() const
ID of nonsensitive volume of the DUT.
virtual double getDUTPositionY() const
y position of the center of nonsensitive volume of the DUT.
virtual double getDUTPositionZ() const
z position of the center of nonsensitive volume of the DUT.
virtual int getNLayers() const
The total number of layers.
virtual double getSensitiveRadLength(int layerIndex) const
The radiation length of sensitive volume of layer layerIndex - layer indexing starts at 0 for the lay...
virtual int getDUTSensitiveNpixelX() const
Number of pixels in x direction of sensitive volume of the DUT.
virtual double getSensitiveRotation4(int layerIndex) const
Fourth element (cos(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexi...
virtual void setSensitiveRotation4(int layerIndex, double value)
Fourth element (cos(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexi...
virtual double getDUTPositionX() const
x position of the center of nonsensitive volume of the DUT.
Abstract description of layers in a pixel beam telescope.
virtual double getSensitiveRotation1(int layerIndex) const
First element (cos(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexin...
virtual int getDUTSensitiveID() const
ID of sensitive volume of the DUT.
virtual void setSensitivePitchX(int layerIndex, double value)
Pitch size in x direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for th...
virtual double getLayerRotationXY(int layerIndex) const
rotation angles according to Euler implementation scheme (in XY plane -&gt; around axis Z: gamma ) ...
virtual double getDUTThickness() const
Thickness of nonsensitive layer of the DUT.
virtual double getDUTSensitivePositionY() const
y position of the center of sensitive volume of the DUT.
virtual double getSensitiveSizeX(int layerIndex) const
Size in x direction of sensitive volume of layer layerIndex - layer indexing starts at 0 for the laye...
virtual double getLayerRadLength(int layerIndex) const
The radiation length of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the ...
virtual int getSensitiveNpixelX(int layerIndex) const
Number of pixels in x direction in sensitive volume of layer layerIndex - layer indexing starts at 0 ...
virtual double getDUTSensitivePositionX() const
x position of the center of sensitive volume of the DUT.
virtual double getSensitivePositionY(int layerIndex) const
y position of the center of sensitive volume of layer layerIndex - layer indexing starts at 0 for the...
virtual void addDUT(int dutID, double dutPositionX, double dutPositionY, double dutPositionZ, double dutSizeX, double dutSizeY, double dutThickness, double dutRadLength, int dutsensitiveID, double dutsensitivePositionX, double dutsensitivePositionY, double dutsensitivePositionZ, double dutsensitiveSizeX, double dutsensitiveSizeY, double dutsensitiveThickness, int dutsensitiveNpixelX, int dutsensitiveNpixelY, double dutsensitivePitchX, double dutsensitivePitchY, double dutsensitiveResolution, double dutsensitiveRotation1, double dutsensitiveRotation2, double dutsensitiveRotation3, double dutsensitiveRotation4, double dutsensitiveRadLength)
Add a DUT at the given position.
virtual double getSensitivePositionZ(int layerIndex) const
z position of the center of sensitive volume of layer layerIndex - layer indexing starts at 0 for the...
virtual int getDUTSensitiveNpixelY() const
Number of pixels in y direction of sensitive volume of the DUT.
virtual int getSensitiveID(int layerIndex) const
ID of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the ...
virtual double getSensitiveRotationZY(int layerIndex) const
rotation angles according to Euler implmentation scheme (in ZY plane -&gt; around axis X: alfa ) ...
virtual double getSensitivePitchX(int layerIndex) const
Pitch size in x direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for th...
virtual double getLayerRotationZY(int layerIndex) const
rotation angles according to Euler implmentation scheme (in ZY plane -&gt; around axis X: alfa ) ...
Helper class for layer properties.
virtual double getDUTSensitivePitchY() const
Pitch size in y direction of sensitive volume of the DUT.
virtual double getSensitivePitchY(int layerIndex) const
Pitch size in y direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for th...
virtual double getSensitiveResolutionX(int layerIndex) const
Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the be...
virtual double getSensitiveRotation3(int layerIndex) const
Third element (sin(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexin...
virtual double getDUTSensitiveSizeY() const
Size in y direction of sensitive volume of the DUT.
virtual double getDUTSensitivePitchX() const
Pitch size in x direction of sensitive volume of the DUT.
virtual double getLayerRotationZX(int layerIndex) const
rotation angles according to Euler implmentation scheme (in ZX plane -&gt; around axis Y: beta ) ...
virtual double getDUTRadLength() const
The radiation length of nonsensitive volume of the DUT.
virtual double getDUTSizeX() const
Size in x direction of nonsensitive volume of the DUT.
virtual double getDUTSensitiveRotation1() const
First element (cos(theta)) of rotation matrix of sensitive volume of the DUT.
virtual double getDUTSensitivePositionZ() const
z position of the center of sensitive volume of the DUT.
virtual int getSensitiveNpixelY(int layerIndex) const
Number of pixels in y direction in sensitive volume of layer layerIndex - layer indexing starts at 0 ...
virtual double getDUTSensitiveResolution() const
Intrinsic resolution of the DUT, not relevant.
virtual double getSensitivePositionX(int layerIndex) const
x position of the center of sensitive volume of layer layerIndex - layer indexing starts at 0 for the...
virtual double getSensitiveResolution(int layerIndex) const
Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the be...
virtual double getSensitiveResolutionY(int layerIndex) const
Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the be...
virtual int getID(int layerIndex) const
Layer ID of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closes...
virtual void setSensitiveResolutionX(int layerIndex, double value)
Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the be...
virtual double getSensitiveThickness(int layerIndex) const
Thickness of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest ...
virtual double getDUTSensitiveRotation3() const
Third element (sin(theta)) of rotation matrix of sensitive volume of the DUT.
virtual void setSensitiveRotation2(int layerIndex, double value)
Second element (-sin(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer index...
virtual double getSensitiveRotationXY(int layerIndex) const
rotation angles according to Euler implementation scheme (in XY plane -&gt; around axis Z: gamma ) ...
virtual double getSensitiveRotationZX(int layerIndex) const
rotation angles according to Euler implmentation scheme (in ZX plane -&gt; around axis Y: beta ) ...
virtual double getDUTSensitiveRotation2() const
Second element (-sin(theta)) of rotation matrix of sensitive volume of the DUT.
virtual double getLayerSizeY(int layerIndex) const
Size in y direction of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the l...
virtual double getLayerPositionY(int layerIndex) const
y position of the center of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for ...
virtual double getLayerThickness(int layerIndex) const
Thickness of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the layer close...
virtual double getDUTSensitiveSizeX() const
Size in x direction of sensitive volume of the DUT.