2 #ifndef GEAR_SiPlanesParametersImpl_H
3 #define GEAR_SiPlanesParametersImpl_H 1
5 #include "gear/SiPlanesParameters.h"
6 #include "gearimpl/GearParametersImpl.h"
7 #include "gearimpl/SiPlanesLayerLayoutImpl.h"
12 class SiPlanesLayerLayout;
35 static const int TelescopeWithDUT = 1 ;
36 static const int TelescopeWithoutDUT = 2 ;
67 double layerPositionX,
double layerPositionY,
double layerPositionZ,
68 double layerRotationXY,
double layerRotationZX,
double layerRotationZY,
69 double layerSizeX,
double layerSizeY,
double layerThickness,
70 double layerRadLength,
73 double sensitivePositionX,
double sensitivePositionY,
double sensitivePositionZ,
74 double sensitiveRotationXY,
double sensitiveRotationZX,
double sensitiveRotationZY,
75 double sensitiveSizeX,
double sensitiveSizeY,
double sensitiveThickness,
76 int sensitiveNpixelX,
int sensitiveNpixelY,
77 double sensitivePitchX,
double sensitivePitchY,
78 double sensitiveResolution,
double sensitiveResolutionX,
double sensitiveResolutionY,
79 double sensitiveRotation1,
80 double sensitiveRotation2,
81 double sensitiveRotation3,
82 double sensitiveRotation4,
83 double sensitiveRadLength)
86 layerPositionX, layerPositionY, layerPositionZ,
87 layerRotationXY, layerRotationZX, layerRotationZY,
88 layerSizeX, layerSizeY, layerThickness,
91 sensitivePositionX, sensitivePositionY, sensitivePositionZ,
92 sensitiveRotationXY, sensitiveRotationZX, sensitiveRotationZY,
93 sensitiveSizeX, sensitiveSizeY, sensitiveThickness,
94 sensitiveNpixelX, sensitiveNpixelY,
95 sensitivePitchX, sensitivePitchY,
96 sensitiveResolution, sensitiveResolutionX, sensitiveResolutionY,
101 sensitiveRadLength ) ;
108 double layerPositionX,
double layerPositionY,
double layerPositionZ,
109 double layerSizeX,
double layerSizeY,
double layerThickness,
110 double layerRadLength,
113 double sensitivePositionX,
double sensitivePositionY,
double sensitivePositionZ,
114 double sensitiveSizeX,
double sensitiveSizeY,
double sensitiveThickness,
115 int sensitiveNpixelX,
int sensitiveNpixelY,
116 double sensitivePitchX,
double sensitivePitchY,
117 double sensitiveResolution,
118 double sensitiveRotation1,
119 double sensitiveRotation2,
120 double sensitiveRotation3,
121 double sensitiveRotation4,
122 double sensitiveRadLength ){
125 addLayer( layerID, layerPositionX, layerPositionY, layerPositionZ, 0., 0., 0.,
126 layerSizeX, layerSizeY, layerThickness, layerRadLength,
127 sensitiveID, sensitivePositionX, sensitivePositionY, sensitivePositionZ, 0., 0., 0., sensitiveSizeX, sensitiveSizeY,
128 sensitiveThickness, sensitiveNpixelX, sensitiveNpixelY, sensitivePitchX, sensitivePitchY, sensitiveResolution, sensitiveResolution, sensitiveResolution,
129 sensitiveRotation1, sensitiveRotation2, sensitiveRotation3, sensitiveRotation4, sensitiveRadLength ) ;
164 double dutPositionX,
double dutPositionY,
double dutPositionZ,
165 double dutSizeX,
double dutSizeY,
double dutThickness,
169 double dutsensitivePositionX,
double dutsensitivePositionY,
double dutsensitivePositionZ,
170 double dutsensitiveSizeX,
double dutsensitiveSizeY,
double dutsensitiveThickness,
171 int dutsensitiveNpixelX,
int dutsensitiveNpixelY,
172 double dutsensitivePitchX,
double dutsensitivePitchY,
173 double dutsensitiveResolution,
174 double dutsensitiveRotation1,
175 double dutsensitiveRotation2,
176 double dutsensitiveRotation3,
177 double dutsensitiveRotation4,
178 double dutsensitiveRadLength)
181 dutPositionX, dutPositionY, dutPositionZ,
182 dutSizeX, dutSizeY, dutThickness,
185 dutsensitivePositionX, dutsensitivePositionY, dutsensitivePositionZ,
186 dutsensitiveSizeX, dutsensitiveSizeY, dutsensitiveThickness,
187 dutsensitiveNpixelX, dutsensitiveNpixelY,
188 dutsensitivePitchX, dutsensitivePitchY,
189 dutsensitiveResolution,
190 dutsensitiveRotation1,
191 dutsensitiveRotation2,
192 dutsensitiveRotation3,
193 dutsensitiveRotation4,
194 dutsensitiveRadLength ) ;
237 int _siplanesType{} ;
239 int _siplanesNumber{} ;
Implementation of GearParameters - a set off parameters that can be used to describe the geometrical ...
virtual void addLayer(int layerID, double layerPositionX, double layerPositionY, double layerPositionZ, double layerSizeX, double layerSizeY, double layerThickness, double layerRadLength, int sensitiveID, double sensitivePositionX, double sensitivePositionY, double sensitivePositionZ, double sensitiveSizeX, double sensitiveSizeY, double sensitiveThickness, int sensitiveNpixelX, int sensitiveNpixelY, double sensitivePitchX, double sensitivePitchY, double sensitiveResolution, double sensitiveRotation1, double sensitiveRotation2, double sensitiveRotation3, double sensitiveRotation4, double sensitiveRadLength)
Adding a Layer to the SiPlanes detector (without parameters for layer rotation)
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.
Abstract description of layers in pixel beam telescope.
virtual int getSiPlanesType() const
Returns the type of SiPlanes detector: SiPlanesParametersImpl.TelescopeWithDUT or SiPlanesParametersI...
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)
Adding DUT to the SiPlanes detector.
Abstract description of layers in a pixel beam telescope.
virtual const SiPlanesLayerLayout & getSiPlanesLayerLayout() const
Returns the layer layout of SiPlanes detector.
SiPlanesParametersImpl(int siplanesID, int siplanesType, int siplanesNumber)
C'tor.
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 void setSiPlanesType(int value)
Returns the type of SiPlanes detector: SiPlanesParametersImpl.TelescopeWithDUT or SiPlanesParametersI...
Geometry properties of a pixel beam telescope needed for reconstruction code.
virtual int getSiPlanesID() const
Returns the ID of SiPlanes detector setup.
virtual void setSiPlanesID(int value)
Returns the ID of SiPlanes detector setup.
Abstract description of layers in pixel beam telescope with or without DUT.
virtual int getSiPlanesNumber() const
Returns the number of Si planes.
virtual void setSiPlanesNumber(int value)
Returns the number of Si planes.
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 sensitiveRotation1, double sensitiveRotation2, double sensitiveRotation3, double sensitiveRotation4, double sensitiveRadLength)
Adding a Layer to the SiPlanes detector.