GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
SiPlanesLayerLayout.h
1 // -*- C++ -*-
2 #ifndef GEAR_SIPLANESLAYERLAYOUT_H
3 #define GEAR_SIPLANESLAYERLAYOUT_H 1
4 
5 namespace gear {
6 
13 
14 public:
16  virtual ~SiPlanesLayerLayout() { /* nop */; }
17 
20  virtual int getNLayers() const = 0;
21 
24  virtual int getID(int layerIndex) const = 0;
25 
29  virtual double getLayerPositionX(int layerIndex) const = 0;
30 
34  virtual double getLayerPositionY(int layerIndex) const = 0;
35 
39  virtual double getLayerPositionZ(int layerIndex) const = 0;
40 
44  virtual double getLayerRotationXY(int layerIndex) const = 0;
45 
49  virtual double getLayerRotationZX(int layerIndex) const = 0;
50 
54  virtual double getLayerRotationZY(int layerIndex) const = 0;
55 
56 
60  virtual double getLayerSizeX(int layerIndex) const = 0;
61 
65  virtual double getLayerSizeY(int layerIndex) const = 0;
66 
70  virtual double getLayerThickness(int layerIndex) const = 0;
71 
75  virtual double getLayerRadLength(int layerIndex) const = 0;
76 
77 
79  virtual void setID(int layerIndex, int value) = 0;
80 
82  virtual void setLayerPositionX(int layerIndex, double value) = 0;
83 
85  virtual void setLayerPositionY(int layerIndex, double value) = 0;
86 
88  virtual void setLayerPositionZ(int layerIndex, double value) = 0;
89 
91  virtual void setLayerRotationXY(int layerIndex, double value) = 0;
92 
94  virtual void setLayerRotationZX(int layerIndex, double value) = 0;
95 
97  virtual void setLayerRotationZY(int layerIndex, double value) = 0;
98 
100  virtual void setLayerSizeX(int layerIndex, double value) = 0;
101 
103  virtual void setLayerSizeY(int layerIndex, double value) = 0;
104 
106  virtual void setLayerThickness(int layerIndex, double value) = 0;
107 
109  virtual void setLayerRadLength(int layerIndex, double value) = 0;
110 
111 
115  virtual int getSensitiveID(int layerIndex) const = 0;
116 
120  virtual double getSensitivePositionX(int layerIndex) const = 0;
121 
125  virtual double getSensitivePositionY(int layerIndex) const = 0;
126 
130  virtual double getSensitivePositionZ(int layerIndex) const = 0;
131 
135  virtual double getSensitiveRotationXY(int layerIndex) const = 0;
136 
140  virtual double getSensitiveRotationZX(int layerIndex) const = 0;
141 
145  virtual double getSensitiveRotationZY(int layerIndex) const = 0;
146 
147 
151  virtual double getSensitiveSizeX(int layerIndex) const = 0;
152 
156  virtual double getSensitiveSizeY(int layerIndex) const = 0;
157 
161  virtual double getSensitiveThickness(int layerIndex) const = 0;
162 
166  virtual double getSensitiveRadLength(int layerIndex) const = 0;
167 
171  virtual int getSensitiveNpixelX(int layerIndex) const = 0;
172 
176  virtual int getSensitiveNpixelY(int layerIndex) const = 0;
177 
181  virtual double getSensitivePitchX(int layerIndex) const = 0;
182 
186  virtual double getSensitivePitchY(int layerIndex) const = 0;
187 
191  virtual double getSensitiveResolution(int layerIndex) const = 0;
192 
196  virtual double getSensitiveResolutionX(int layerIndex) const = 0;
197 
201  virtual double getSensitiveResolutionY(int layerIndex) const = 0;
202 
203 
208  virtual double getSensitiveRotation1(int layerIndex) const = 0;
209 
214  virtual double getSensitiveRotation2(int layerIndex) const = 0;
215 
220  virtual double getSensitiveRotation3(int layerIndex) const = 0;
221 
226  virtual double getSensitiveRotation4(int layerIndex) const = 0;
227 
228 
230  virtual void setSensitiveID(int layerIndex, int value ) = 0;
231 
233  virtual void setSensitivePositionX(int layerIndex, double value) = 0;
234 
236  virtual void setSensitivePositionY(int layerIndex, double value) = 0;
237 
239  virtual void setSensitivePositionZ(int layerIndex, double value) = 0;
240 
242  virtual void setSensitiveRotationXY(int layerIndex, double value) = 0;
243 
245  virtual void setSensitiveRotationZX(int layerIndex, double value) = 0;
246 
248  virtual void setSensitiveRotationZY(int layerIndex, double value) = 0;
249 
251  virtual void setSensitiveSizeX(int layerIndex, double value) = 0;
252 
254  virtual void setSensitiveSizeY(int layerIndex, double value) = 0;
255 
257  virtual void setSensitiveThickness(int layerIndex, double value) = 0;
258 
260  virtual void setSensitiveRadLength(int layerIndex, double value) = 0;
261 
265  virtual void setSensitiveNpixelX(int layerIndex, int value ) = 0;
266 
270  virtual void setSensitiveNpixelY(int layerIndex, int value ) = 0;
271 
275  virtual void setSensitivePitchX(int layerIndex, double value ) = 0;
276 
280  virtual void setSensitivePitchY(int layerIndex, double value ) = 0;
281 
285  virtual void setSensitiveResolution(int layerIndex, double value ) = 0;
286 
290  virtual void setSensitiveResolutionX(int layerIndex, double value ) = 0;
291 
295  virtual void setSensitiveResolutionY(int layerIndex, double value ) = 0;
296 
297 
302  virtual void setSensitiveRotation1(int layerIndex, double value ) = 0;
303 
308  virtual void setSensitiveRotation2(int layerIndex, double value ) = 0;
309 
314  virtual void setSensitiveRotation3(int layerIndex, double value ) = 0;
315 
320  virtual void setSensitiveRotation4(int layerIndex, double value ) = 0;
321 
322 
323 // the code below -> DEPRECATED - will be removed at next release !!
324 
326  virtual int getDUTID() const = 0;
327 
330  virtual double getDUTRadLength() const = 0;
331 
334  virtual double getDUTSensitiveRadLength() const = 0;
335 
337  virtual double getDUTPositionX() const = 0;
338 
340  virtual double getDUTPositionY() const = 0;
341 
343  virtual double getDUTPositionZ() const = 0;
344 
346  virtual double getDUTSizeX() const = 0;
347 
349  virtual double getDUTSizeY() const = 0;
350 
352  virtual double getDUTThickness() const = 0;
353 
355  virtual int getDUTSensitiveID() const = 0;
356 
358  virtual double getDUTSensitivePositionX() const = 0;
359 
361  virtual double getDUTSensitivePositionY() const = 0;
362 
364  virtual double getDUTSensitivePositionZ() const = 0;
365 
367  virtual double getDUTSensitiveSizeX() const = 0;
368 
370  virtual double getDUTSensitiveSizeY() const = 0;
371 
373  virtual double getDUTSensitiveThickness() const = 0;
374 
376  virtual int getDUTSensitiveNpixelX() const = 0;
377 
379  virtual int getDUTSensitiveNpixelY() const = 0;
380 
382  virtual double getDUTSensitivePitchX() const = 0;
383 
385  virtual double getDUTSensitivePitchY() const = 0;
386 
388  virtual double getDUTSensitiveResolution() const = 0;
389 
393  virtual double getDUTSensitiveRotation1() const = 0;
394 
398  virtual double getDUTSensitiveRotation2() const = 0;
399 
403  virtual double getDUTSensitiveRotation3() const = 0;
404 
408  virtual double getDUTSensitiveRotation4() const = 0;
409 }; // class
410 } // namespace gear
411 #endif /* ifndef GEAR_SIPLANESLAYERLAYOUT_H */
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.