4 #include "G4SystemOfUnits.hh" 44 _calorimeter =
"calo";
45 _antiCoincidence =
"psd";
46 _calibration =
"none";
48 _spaceStation =
"none";
51 _caloTopFitDistance = 150. * CLHEP::mm;
52 _caloSideXFitDistance = 86.3 * CLHEP::mm;
53 _caloSideYFitDistance = 115.3 * CLHEP::mm;
55 _caloTopStkDistance = 50 * CLHEP::mm;
56 _caloSideXStkDistance = 50 * CLHEP::mm;
57 _caloSideYStkDistance = 50 * CLHEP::mm;
59 _topFitTopPsdDistance = 61. * CLHEP::mm;
60 _sideFitSidePsdDistance = 77.5;
62 _topStkTopPsdDistance = 61. * CLHEP::mm;
63 _sideStkSidePsdDistance = 177.5;
65 _topPsdTopScdDistance = 20 * CLHEP::mm;
66 _sidePsdSideScdDistance = 20 * CLHEP::mm;
78 float _xCenter, _yCenter,
_zTop;
85 _monolithicCalo =
false;
86 _densityHasBeenSet =
false;
87 _crystalDensity = 7.4 * CLHEP::g / CLHEP::cm3;
89 _crystalSize = 3. * cm;
90 _crystalSlotSize = 3. * cm;
103 _fillerMaterial =
"G4_Galactic";
125 _caloTOPXwidth = 85 * CLHEP::cm;
126 _caloTOPYwidth = 80 * CLHEP::cm;
127 _caloTOPZquote = 3.4 * CLHEP::cm;
128 _caloShowerLength = 0 * CLHEP::cm;
129 _caloBOTTOMXwidth = 85 * CLHEP::cm;
130 _caloBOTTOMYwidth = 80 * CLHEP::cm;
131 _caloBOTTOMZquote = -76.6 * CLHEP::cm;
132 _selectTOPcalo =
true;
133 _selectBOTTOMcalo =
false;
134 _selectXNEGcalo =
true;
135 _selectXPOScalo =
true;
136 _selectYNEGcalo =
true;
137 _selectYPOScalo =
true;
205 _psdTopThickness = _psdSideThickness = 10. * CLHEP::mm;
208 _xSideVPos = -189.88 * CLHEP::mm;
209 _ySideVPos = -189.88 * CLHEP::mm;
214 _topTilesOptions._nLayers = 1;
215 _topTilesOptions._layersGap = 0;
216 _topTilesOptions._hasCF =
false;
217 _topTilesOptions._cfThickness = _topTilesOptions._cfGap = 0.;
218 _topTilesOptions._nTilesAlongX = _topTilesOptions._nTilesAlongY = 180;
219 _topTilesOptions._tileSizeAlongX = _topTilesOptions._tileSizeAlongY = 10. * CLHEP::mm;
220 _topTilesOptions._tileGapAlongX = _topTilesOptions._tileGapAlongY = 0. * CLHEP::mm;
221 _topTilesOptions._staggeringX = _topTilesOptions._staggeringY = 0.;
224 _sideTilesOptions._nLayers = 1;
225 _sideTilesOptions._layersGap = 0;
226 _sideTilesOptions._hasCF =
false;
227 _sideTilesOptions._cfThickness = _sideTilesOptions._cfGap = 0.;
228 _sideTilesOptions._nTilesAlongH = 160;
229 _sideTilesOptions._nTilesAlongV = 100;
230 _sideTilesOptions._tileSizeAlongH = _sideTilesOptions._tileSizeAlongV = 10. * CLHEP::mm;
231 _sideTilesOptions._tileGapAlongH = _sideTilesOptions._tileGapAlongV = 0. * CLHEP::mm;
232 _sideTilesOptions._staggeringH = _sideTilesOptions._staggeringV = 0.;
235 _topBarsOptions._nBarsAlongX = _topBarsOptions._nBarsAlongY = 180;
236 _topBarsOptions._nLayers = 2;
237 _topBarsOptions._lengthOfBarsAlongX = _topBarsOptions._lengthOfBarsAlongY = 0.;
238 _topBarsOptions._staggeringX = _topBarsOptions._staggeringY = 0.;
239 _topBarsOptions._width = 10. * CLHEP::mm;
240 _topBarsOptions._barsGap = 0. * CLHEP::mm;
241 _topBarsOptions._layersGap = 10. * CLHEP::mm;
242 _topBarsOptions._planesGap = 10 * CLHEP::mm;
243 _topBarsOptions._hasCF =
false;
244 _topBarsOptions._cfThickness = 0. * CLHEP::mm;
245 _topBarsOptions._cfGap = 0. * CLHEP::mm;
248 _sideBarsOptions._nBarsAlongV = 102;
249 _sideBarsOptions._nBarsAlongH = 162;
250 _sideBarsOptions._nLayers = 2;
251 _sideBarsOptions._width = 10. * CLHEP::mm;
252 _sideBarsOptions._lengthOfBarsAlongH = _sideBarsOptions._lengthOfBarsAlongV = 0.;
253 _sideBarsOptions._staggeringH = _sideBarsOptions._staggeringV = 0.;
254 _sideBarsOptions._barsGap = 0. * CLHEP::mm;
255 _sideBarsOptions._layersGap = 10. * CLHEP::mm;
256 _sideBarsOptions._planesGap = 10 * CLHEP::mm;
257 _sideBarsOptions._hasCF =
false;
258 _sideBarsOptions._cfThickness = 0. * CLHEP::mm;
259 _sideBarsOptions._cfGap = 0. * CLHEP::mm;
266 _topTilesOptions._nLayers = 1;
267 _topTilesOptions._layersGap = 4. * CLHEP::mm;
268 _topTilesOptions._hasCF =
true;
269 _topTilesOptions._nTilesAlongX = _topTilesOptions._nTilesAlongY = 20;
270 _topTilesOptions._tileSizeAlongX = _topTilesOptions._tileSizeAlongY = 10. * CLHEP::cm;
271 _topTilesOptions._tileGapAlongX = _topTilesOptions._tileGapAlongY = 0. * CLHEP::mm;
272 _topTilesOptions._staggeringX = _topTilesOptions._staggeringY = 0.;
273 _topTilesOptions._cfThickness = 2. * CLHEP::mm;
274 _topTilesOptions._cfGap = 16. * CLHEP::mm;
276 _sideTilesOptions._nLayers = 1;
277 _sideTilesOptions._layersGap = 4 * CLHEP::mm;
278 _sideTilesOptions._hasCF =
true;
279 _sideTilesOptions._nTilesAlongH = 16;
280 _sideTilesOptions._nTilesAlongV = 11;
281 _sideTilesOptions._tileSizeAlongH = _sideTilesOptions._tileSizeAlongV = 10. * CLHEP::cm;
282 _sideTilesOptions._tileGapAlongH = _sideTilesOptions._tileGapAlongV = 0. * CLHEP::mm;
283 _sideTilesOptions._staggeringH = _sideTilesOptions._staggeringV = 0.;
284 _sideTilesOptions._cfThickness = 2. * CLHEP::mm;
285 _sideTilesOptions._cfGap = 16. * CLHEP::mm;
288 _topBarsOptions._nBarsAlongX = 45;
289 _topBarsOptions._nBarsAlongY = 45;
290 _topBarsOptions._nLayers = 4;
291 _topBarsOptions._width = 30. * CLHEP::mm;
292 _topBarsOptions._barsGap = 14. * CLHEP::mm;
293 _topBarsOptions._layersGap = 4. * CLHEP::mm;
294 _topBarsOptions._planesGap = 2 * CLHEP::mm;
295 _topBarsOptions._hasCF =
true;
296 _topBarsOptions._cfThickness = 2. * CLHEP::mm;
297 _topBarsOptions._cfGap = 16. * CLHEP::mm;
299 _sideBarsOptions._nBarsAlongV = 25;
300 _sideBarsOptions._nBarsAlongH = 36;
301 _sideBarsOptions._nLayers = 4;
302 _sideBarsOptions._width = 30. * CLHEP::mm;
303 _sideBarsOptions._barsGap = 14. * CLHEP::mm;
304 _sideBarsOptions._layersGap = 4. * CLHEP::mm;
305 _sideBarsOptions._planesGap = 2 * CLHEP::mm;
306 _sideBarsOptions._hasCF =
true;
307 _sideBarsOptions._cfThickness = 2. * CLHEP::mm;
308 _sideBarsOptions._cfGap = 16. * CLHEP::mm;
335 _stkTopAbsThickness = 1 * CLHEP::mm;
336 _stkTopAbsMaterial =
"W";
339 _xSideVPos = -260.26 * CLHEP::mm;
340 _ySideVPos = -260.26 * CLHEP::mm;
341 _xSideHPos = 204.56 * CLHEP::mm;
342 _ySideHPos = 175.56 * CLHEP::mm;
376 _fitMatThickness = 1.58 * CLHEP::mm;
379 _fitSideWThickness = 2 * CLHEP::mm;
380 _fitSideMatCoreThickness = 1.3 * CLHEP::mm;
381 _fitSideCfprThickness = 0.6 * CLHEP::mm;
382 _fitSideHcombThickness = 20 * CLHEP::mm;
383 _fitSideInterTrayDistance = 25 * CLHEP::mm;
384 _fitSideMatMaterial =
"Epoxy";
385 _fitSideMatCoreMaterial =
"G4_POLYSTYRENE";
386 _fitSideHcombMaterial =
"Honeycomb";
387 _fitSideCfprMaterial =
"CarbonFiber_M55J";
388 _sidePlaneSizeH = 1060 * CLHEP::mm;
389 _sidePlaneSizeV = 742 * CLHEP::mm;
393 _topPlaneSize = 1166 * CLHEP::mm;
396 _xSideVPos = -261.9 * CLHEP::mm;
397 _ySideVPos = -261.9 * CLHEP::mm;
398 _xSideHPos = -64.2 * CLHEP::mm;
399 _ySideHPos = -64.2 * CLHEP::mm;
426 : _scdSiliconThickness(0.15 * CLHEP::mm), _scdTopLayers(4), _scdSideLayers(4), _nTopWafers(20), _nSideWafersH(18),
427 _nSideWafersV(9), _topXPos(0.), _topYPos(0), _xSideVPos(
std::numeric_limits<decltype(_xSideVPos)>::max()),
428 _ySideVPos(
std::numeric_limits<decltype(_ySideVPos)>::max()), _xSideHPos(2. * CLHEP::cm),
429 _ySideHPos(2. * CLHEP::cm), _scdTopXYGap(0.5 * CLHEP::mm), _scdSideXYGap(0.5 * CLHEP::mm),
430 _scdTopTrayGap(2 * CLHEP::mm), _scdSideTrayGap(2 * CLHEP::mm), _hasFoam(false),
431 _foamDensity(192 * CLHEP::kg / CLHEP::m3), _foamMaterial(
"polyurethane") {}
442 _posV = std::numeric_limits<decltype(_posT)>::max();
445 _posT = std::numeric_limits<decltype(_posT)>::max();
446 _gapFromSideDetector = 5. * CLHEP::cm;
454 ShieldOptions() : amThickness{1 * CLHEP::mm}, amGap{5 * CLHEP::cm}, amMaterial{
"Al"} {}
472 SetSPSpinAngleM1(angle);
473 SetSPSpinAngleM2(angle);
480 : spSpinAngleM1_1(0.), spSpinAngleM1_2(0.), spSpinAngleM2_1(0.), spSpinAngleM2_2(0.), spSpinAngleMC_1(0.),
481 spSpinAngleMC_2(0.), spRevAngleM1(0.), spRevAngleM2(0.), cabinMaterial(
"G4_Al") {}
unsigned int _nSideWafersH
Definition: DetStructs.h:317
void SetSPSpinAngleM1M2(float angle)
Definition: DetStructs.h:471
double _ySideVPos
Definition: DetStructs.h:371
void SetCabinMaterial(std::string mat_name)
Definition: DetStructs.h:477
int _nLayers
Definition: DetStructs.h:178
double _caloTOPXwidth
Definition: DetStructs.h:110
unsigned int _nSideWafersV
Definition: DetStructs.h:409
unsigned _fitTopLayers
Definition: DetStructs.h:362
Definition: DetStructs.h:193
bool _selectTOPcalo
Definition: DetStructs.h:116
double _tileSizeAlongV
Definition: DetStructs.h:172
double _topStkTopPsdDistance
Definition: DetStructs.h:33
PSDOptions()
Definition: DetStructs.h:201
CSSOptions()
Definition: DetStructs.h:479
double _layersGap
Definition: DetStructs.h:156
std::string _fitSideMatMaterial
Definition: DetStructs.h:355
int _MCCaloAccType
Definition: DetStructs.h:108
double _xSideVPos
Definition: DetStructs.h:149
void SetSPSpinAngleM2(float angle)
Definition: DetStructs.h:470
int _nTilesAlongV
Definition: DetStructs.h:171
void SetSPSpinAngleM1(float angle)
Definition: DetStructs.h:469
double _ySideVPos
Definition: DetStructs.h:324
float _posV
Definition: DetStructs.h:436
double _topPlaneSize
Definition: DetStructs.h:364
float amThickness
Definition: DetStructs.h:451
void SetSPSpinAngleMC(float angle)
Definition: DetStructs.h:475
float _densityHasBeenSet
Definition: DetStructs.h:73
double _sidePlaneSizeV
Definition: DetStructs.h:361
TRDOptions()
Definition: DetStructs.h:439
double _tileSizeAlongY
Definition: DetStructs.h:164
double _caloSideYStkDistance
Definition: DetStructs.h:28
double _scdTopXYGap
Definition: DetStructs.h:416
double _topYPos
Definition: DetStructs.h:411
Definition: DetStructs.h:177
FITOptions()
Definition: DetStructs.h:375
double _ySideHPos
Definition: DetStructs.h:326
double _cfThickness
Definition: DetStructs.h:158
double _caloTOPZquote
Definition: DetStructs.h:109
float _crystalDensity
Definition: DetStructs.h:72
int _version
Definition: DetStructs.h:142
std::string _psdType
Definition: DetStructs.h:143
float _zTop
Definition: DetStructs.h:78
double _width
Definition: DetStructs.h:179
CaloOptions()
Definition: DetStructs.h:84
bool _selectYNEGcalo
Definition: DetStructs.h:120
double _tileGapAlongV
Definition: DetStructs.h:173
float spSpinAngleM2_2
Definition: DetStructs.h:460
GeneralOptions()
Definition: DetStructs.h:39
Definition: DetStructs.h:107
float _crystalSize
Definition: DetStructs.h:74
float _gapFromSideDetector
Definition: DetStructs.h:437
double _xSideHPos
Definition: DetStructs.h:414
std::string _tracker
Definition: DetStructs.h:14
double _scdSideTrayGap
Definition: DetStructs.h:419
std::string _fillerMaterial
Definition: DetStructs.h:82
float spSpinAngleM1_2
Definition: DetStructs.h:459
int _nTilesAlongX
Definition: DetStructs.h:162
float _fillerDensity
Definition: DetStructs.h:81
double _caloTopStkDistance
Definition: DetStructs.h:26
unsigned int _nSideWafersH
Definition: DetStructs.h:408
Definition: DetStructs.h:450
double _lengthOfBarsAlongY
Definition: DetStructs.h:189
bool _hasCF
Definition: DetStructs.h:157
bool _selectYPOScalo
Definition: DetStructs.h:121
STKOptions()
Definition: DetStructs.h:328
bool _monolithicCalo
Definition: DetStructs.h:71
float _zGap
Definition: DetStructs.h:76
double _caloSideXStkDistance
Definition: DetStructs.h:27
bool _hasCF
Definition: DetStructs.h:181
double _caloBOTTOMXwidth
Definition: DetStructs.h:114
double _psdTopThickness
Definition: DetStructs.h:145
double _xSideVPos
Definition: DetStructs.h:412
int _nBarsAlongH
Definition: DetStructs.h:194
Definition: DetStructs.h:70
void SetSPRevAngleM1M2(float angle)
Definition: DetStructs.h:476
double _caloSideYFitDistance
Definition: DetStructs.h:24
double _fitMatThickness
Definition: DetStructs.h:347
float spRevAngleM2
Definition: DetStructs.h:464
double _topXPos
Definition: DetStructs.h:147
std::string _fitSideHcombMaterial
Definition: DetStructs.h:357
bool _selectXNEGcalo
Definition: DetStructs.h:118
bool _hasFoam
Definition: DetStructs.h:420
double _staggeringY
Definition: DetStructs.h:190
unsigned int _nTopWafers
Definition: DetStructs.h:316
double _fitSideWThickness
Definition: DetStructs.h:350
double _sidePsdSideScdDistance
Definition: DetStructs.h:37
std::string _cubeMaskPath
Definition: DetStructs.h:79
int _nBarsAlongX
Definition: DetStructs.h:186
double _sideStkSidePsdDistance
Definition: DetStructs.h:34
double _staggeringY
Definition: DetStructs.h:166
std::string _antiCoincidence
Definition: DetStructs.h:16
double _cfThickness
Definition: DetStructs.h:182
double _lengthOfBarsAlongH
Definition: DetStructs.h:196
bool _selectXPOScalo
Definition: DetStructs.h:119
double _topYPos
Definition: DetStructs.h:148
std::string _calorimeter
Definition: DetStructs.h:15
double _topXPos
Definition: DetStructs.h:321
double _caloBOTTOMYwidth
Definition: DetStructs.h:115
unsigned _stkTopLayers
Definition: DetStructs.h:313
SCDOptions()
Definition: DetStructs.h:425
double _planesGap
Definition: DetStructs.h:180
double _ySideHPos
Definition: DetStructs.h:152
double _caloShowerLength
Definition: DetStructs.h:112
int _nBarsAlongY
Definition: DetStructs.h:187
std::string _calibration
Definition: DetStructs.h:17
void SetV2()
Definition: DetStructs.h:262
int _nTilesAlongY
Definition: DetStructs.h:163
double _topFitTopPsdDistance
Definition: DetStructs.h:30
int _nBarsAlongV
Definition: DetStructs.h:195
unsigned _fitSideLayers
Definition: DetStructs.h:348
std::string _spaceStation
Definition: DetStructs.h:19
std::vector< bool > _fitlistOfTopWDoubleLayers
Definition: DetStructs.h:365
double _caloSideXFitDistance
Definition: DetStructs.h:23
unsigned int _scdTopLayers
Definition: DetStructs.h:405
int _nModulesV
Definition: DetStructs.h:435
unsigned _fitTopWLayers
Definition: DetStructs.h:363
double _topXPos
Definition: DetStructs.h:368
double _fitSideInterTrayDistance
Definition: DetStructs.h:359
double _ySideHPos
Definition: DetStructs.h:373
std::string _shield
Definition: DetStructs.h:18
double _xSideHPos
Definition: DetStructs.h:325
Definition: DetStructs.h:434
ShieldOptions()
Definition: DetStructs.h:454
unsigned _stkTopWLayers
Definition: DetStructs.h:314
double _ySideVPos
Definition: DetStructs.h:150
double _topPsdTopScdDistance
Definition: DetStructs.h:36
double _xSideVPos
Definition: DetStructs.h:370
double _staggeringV
Definition: DetStructs.h:174
double _topXPos
Definition: DetStructs.h:410
double _ySideVPos
Definition: DetStructs.h:413
unsigned int _nTopWafers
Definition: DetStructs.h:407
double _xSideHPos
Definition: DetStructs.h:372
double _sideFitSidePsdDistance
Definition: DetStructs.h:31
double _topYPos
Definition: DetStructs.h:369
double _ySideHPos
Definition: DetStructs.h:415
float spSpinAngleMC_2
Definition: DetStructs.h:461
Definition: DetStructs.h:403
double _topYPos
Definition: DetStructs.h:322
unsigned int _nSideWafersV
Definition: DetStructs.h:318
unsigned _fitSideWLayers
Definition: DetStructs.h:349
double _lengthOfBarsAlongV
Definition: DetStructs.h:197
std::string _foamMaterial
Definition: DetStructs.h:422
double _xSideVPos
Definition: DetStructs.h:323
std::vector< int > _cubeMask
Definition: DetStructs.h:80
double _tileGapAlongY
Definition: DetStructs.h:165
double _caloBOTTOMZquote
Definition: DetStructs.h:113
Definition: DetStructs.h:141
double _psdSideThickness
Definition: DetStructs.h:146
std::vector< bool > _fitlistOfSideWDoubleLayers
Definition: DetStructs.h:366
int _nLayers
Definition: DetStructs.h:155
double _fitSideCfprThickness
Definition: DetStructs.h:352
double _fitSideHcombThickness
Definition: DetStructs.h:353
float amGap
Definition: DetStructs.h:452
Definition: DetStructs.h:457
double _scdSideXYGap
Definition: DetStructs.h:417
Definition: DetStructs.h:185
double _sidePlaneSizeH
Definition: DetStructs.h:360
std::string _chargeID
Definition: DetStructs.h:13
AcceptanceOptions()
Definition: DetStructs.h:123
Definition: DetStructs.h:312
std::string amMaterial
Definition: DetStructs.h:453
double _staggeringV
Definition: DetStructs.h:198
int _nTilesAlongH
Definition: DetStructs.h:170
Definition: DetStructs.h:161
double _caloTOPYwidth
Definition: DetStructs.h:111
Definition: DetStructs.h:169
float _foamDensity
Definition: DetStructs.h:421
unsigned _stkSideLayers
Definition: DetStructs.h:315
double _caloTopFitDistance
Definition: DetStructs.h:22
Definition: DetStructs.h:154
std::string _stkTopAbsMaterial
Definition: DetStructs.h:320
double _lengthOfBarsAlongX
Definition: DetStructs.h:188
double _stkTopAbsThickness
Definition: DetStructs.h:319
Definition: DetStructs.h:10
float _crystalSlotSize
Definition: DetStructs.h:75
Definition: DetStructs.h:346
double _fitSideMatCoreThickness
Definition: DetStructs.h:351
bool _selectBOTTOMcalo
Definition: DetStructs.h:117
std::string cabinMaterial
Definition: DetStructs.h:467
unsigned int _scdSideLayers
Definition: DetStructs.h:406
std::string _fitSideMatCoreMaterial
Definition: DetStructs.h:356
std::string _fitSideCfprMaterial
Definition: DetStructs.h:358
float _wellGapZ
Definition: DetStructs.h:77
double _xSideHPos
Definition: DetStructs.h:151
double _scdSiliconThickness
Definition: DetStructs.h:404
double _scdTopTrayGap
Definition: DetStructs.h:418