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;
339 _stkTopAbsThickness = 1 * CLHEP::mm;
340 _stkTopAbsMaterial =
"W";
341 _stkTopStripPitch = 0.;
342 _stkSideStripPitch = 0.;
343 _stkTopNStripsPerWafer = 0;
344 _stkSideNStripsPerWafer = 0;
347 _xSideVPos = -260.26 * CLHEP::mm;
348 _ySideVPos = -260.26 * CLHEP::mm;
349 _xSideHPos = 204.56 * CLHEP::mm;
350 _ySideHPos = 175.56 * CLHEP::mm;
384 _fitMatThickness = 1.58 * CLHEP::mm;
387 _fitSideWThickness = 2 * CLHEP::mm;
388 _fitSideMatCoreThickness = 1.3 * CLHEP::mm;
389 _fitSideCfprThickness = 0.6 * CLHEP::mm;
390 _fitSideHcombThickness = 20 * CLHEP::mm;
391 _fitSideInterTrayDistance = 25 * CLHEP::mm;
392 _fitSideMatMaterial =
"Epoxy";
393 _fitSideMatCoreMaterial =
"G4_POLYSTYRENE";
394 _fitSideHcombMaterial =
"Honeycomb";
395 _fitSideCfprMaterial =
"CarbonFiber_M55J";
396 _sidePlaneSizeH = 1060 * CLHEP::mm;
397 _sidePlaneSizeV = 742 * CLHEP::mm;
401 _topPlaneSize = 1166 * CLHEP::mm;
404 _xSideVPos = -261.9 * CLHEP::mm;
405 _ySideVPos = -261.9 * CLHEP::mm;
406 _xSideHPos = -64.2 * CLHEP::mm;
407 _ySideHPos = -64.2 * CLHEP::mm;
438 : _scdSiliconThickness(0.15 * CLHEP::mm), _scdTopLayers(4), _scdSideLayers(4), _nTopWafers(20), _nSideWafersH(18),
439 _nSideWafersV(9), _topXPos(0.), _topYPos(0), _xSideVPos(
std::numeric_limits<decltype(_xSideVPos)>::max()),
440 _ySideVPos(
std::numeric_limits<decltype(_ySideVPos)>::max()), _xSideHPos(2. * CLHEP::cm),
441 _ySideHPos(2. * CLHEP::cm), _scdTopXYGap(0.5 * CLHEP::mm), _scdSideXYGap(0.5 * CLHEP::mm),
442 _scdTopTrayGap(2 * CLHEP::mm), _scdSideTrayGap(2 * CLHEP::mm), _scdTopStripPitch(0.),
443 _scdSideStripPitch(0.),
444 _scdTopNStripsPerWafer(0),
445 _scdSideNStripsPerWafer(0),
446 _hasFoam(false), _foamDensity(192 * CLHEP::kg / CLHEP::m3), _foamMaterial(
"polyurethane")
459 _posV = std::numeric_limits<decltype(_posT)>::max();
462 _posT = std::numeric_limits<decltype(_posT)>::max();
463 _gapFromSideDetector = 5. * CLHEP::cm;
471 ShieldOptions() : amThickness{1 * CLHEP::mm}, amGap{5 * CLHEP::cm}, amMaterial{
"Al"} {}
489 SetSPSpinAngleM1(angle);
490 SetSPSpinAngleM2(angle);
497 : spSpinAngleM1_1(0.), spSpinAngleM1_2(0.), spSpinAngleM2_1(0.), spSpinAngleM2_2(0.), spSpinAngleMC_1(0.),
498 spSpinAngleMC_2(0.), spRevAngleM1(0.), spRevAngleM2(0.), cabinMaterial(
"G4_Al") {}
unsigned int _nSideWafersH
Definition: DetStructs.h:317
void SetSPSpinAngleM1M2(float angle)
Definition: DetStructs.h:488
double _ySideVPos
Definition: DetStructs.h:379
void SetCabinMaterial(std::string mat_name)
Definition: DetStructs.h:494
int _nLayers
Definition: DetStructs.h:178
double _caloTOPXwidth
Definition: DetStructs.h:110
unsigned int _nSideWafersV
Definition: DetStructs.h:417
unsigned _fitTopLayers
Definition: DetStructs.h:370
Definition: DetStructs.h:193
bool _selectTOPcalo
Definition: DetStructs.h:116
double _tileSizeAlongV
Definition: DetStructs.h:172
double _topStkTopPsdDistance
Definition: DetStructs.h:33
int _scdSideNStripsPerWafer
Definition: DetStructs.h:431
PSDOptions()
Definition: DetStructs.h:201
CSSOptions()
Definition: DetStructs.h:496
double _layersGap
Definition: DetStructs.h:156
std::string _fitSideMatMaterial
Definition: DetStructs.h:363
int _MCCaloAccType
Definition: DetStructs.h:108
double _xSideVPos
Definition: DetStructs.h:149
void SetSPSpinAngleM2(float angle)
Definition: DetStructs.h:487
int _nTilesAlongV
Definition: DetStructs.h:171
void SetSPSpinAngleM1(float angle)
Definition: DetStructs.h:486
double _ySideVPos
Definition: DetStructs.h:328
float _posV
Definition: DetStructs.h:453
double _topPlaneSize
Definition: DetStructs.h:372
float amThickness
Definition: DetStructs.h:468
void SetSPSpinAngleMC(float angle)
Definition: DetStructs.h:492
float _densityHasBeenSet
Definition: DetStructs.h:73
double _sidePlaneSizeV
Definition: DetStructs.h:369
TRDOptions()
Definition: DetStructs.h:456
double _tileSizeAlongY
Definition: DetStructs.h:164
double _caloSideYStkDistance
Definition: DetStructs.h:28
double _scdTopXYGap
Definition: DetStructs.h:424
double _topYPos
Definition: DetStructs.h:419
Definition: DetStructs.h:177
FITOptions()
Definition: DetStructs.h:383
double _ySideHPos
Definition: DetStructs.h:330
double _cfThickness
Definition: DetStructs.h:158
int _stkSideNStripsPerWafer
Definition: DetStructs.h:324
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
double _scdSideStripPitch
Definition: DetStructs.h:429
float spSpinAngleM2_2
Definition: DetStructs.h:477
GeneralOptions()
Definition: DetStructs.h:39
Definition: DetStructs.h:107
float _crystalSize
Definition: DetStructs.h:74
float _gapFromSideDetector
Definition: DetStructs.h:454
double _xSideHPos
Definition: DetStructs.h:422
std::string _tracker
Definition: DetStructs.h:14
double _stkTopStripPitch
Definition: DetStructs.h:321
double _scdSideTrayGap
Definition: DetStructs.h:427
std::string _fillerMaterial
Definition: DetStructs.h:82
float spSpinAngleM1_2
Definition: DetStructs.h:476
int _nTilesAlongX
Definition: DetStructs.h:162
float _fillerDensity
Definition: DetStructs.h:81
double _caloTopStkDistance
Definition: DetStructs.h:26
unsigned int _nSideWafersH
Definition: DetStructs.h:416
Definition: DetStructs.h:467
double _lengthOfBarsAlongY
Definition: DetStructs.h:189
bool _hasCF
Definition: DetStructs.h:157
bool _selectYPOScalo
Definition: DetStructs.h:121
STKOptions()
Definition: DetStructs.h:332
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:420
int _nBarsAlongH
Definition: DetStructs.h:194
Definition: DetStructs.h:70
void SetSPRevAngleM1M2(float angle)
Definition: DetStructs.h:493
double _caloSideYFitDistance
Definition: DetStructs.h:24
double _fitMatThickness
Definition: DetStructs.h:355
float spRevAngleM2
Definition: DetStructs.h:481
double _topXPos
Definition: DetStructs.h:147
std::string _fitSideHcombMaterial
Definition: DetStructs.h:365
bool _selectXNEGcalo
Definition: DetStructs.h:118
bool _hasFoam
Definition: DetStructs.h:432
double _staggeringY
Definition: DetStructs.h:190
unsigned int _nTopWafers
Definition: DetStructs.h:316
double _fitSideWThickness
Definition: DetStructs.h:358
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:325
double _caloBOTTOMYwidth
Definition: DetStructs.h:115
unsigned _stkTopLayers
Definition: DetStructs.h:313
SCDOptions()
Definition: DetStructs.h:437
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:356
int _scdTopNStripsPerWafer
Definition: DetStructs.h:430
std::string _spaceStation
Definition: DetStructs.h:19
std::vector< bool > _fitlistOfTopWDoubleLayers
Definition: DetStructs.h:373
int _stkTopNStripsPerWafer
Definition: DetStructs.h:323
double _caloSideXFitDistance
Definition: DetStructs.h:23
unsigned int _scdTopLayers
Definition: DetStructs.h:413
int _nModulesV
Definition: DetStructs.h:452
unsigned _fitTopWLayers
Definition: DetStructs.h:371
double _topXPos
Definition: DetStructs.h:376
double _fitSideInterTrayDistance
Definition: DetStructs.h:367
double _ySideHPos
Definition: DetStructs.h:381
std::string _shield
Definition: DetStructs.h:18
double _xSideHPos
Definition: DetStructs.h:329
double _stkSideStripPitch
Definition: DetStructs.h:322
Definition: DetStructs.h:451
ShieldOptions()
Definition: DetStructs.h:471
unsigned _stkTopWLayers
Definition: DetStructs.h:314
double _ySideVPos
Definition: DetStructs.h:150
double _topPsdTopScdDistance
Definition: DetStructs.h:36
double _xSideVPos
Definition: DetStructs.h:378
double _staggeringV
Definition: DetStructs.h:174
double _topXPos
Definition: DetStructs.h:418
double _ySideVPos
Definition: DetStructs.h:421
unsigned int _nTopWafers
Definition: DetStructs.h:415
double _xSideHPos
Definition: DetStructs.h:380
double _sideFitSidePsdDistance
Definition: DetStructs.h:31
double _scdTopStripPitch
Definition: DetStructs.h:428
double _topYPos
Definition: DetStructs.h:377
double _ySideHPos
Definition: DetStructs.h:423
float spSpinAngleMC_2
Definition: DetStructs.h:478
Definition: DetStructs.h:411
double _topYPos
Definition: DetStructs.h:326
unsigned int _nSideWafersV
Definition: DetStructs.h:318
unsigned _fitSideWLayers
Definition: DetStructs.h:357
double _lengthOfBarsAlongV
Definition: DetStructs.h:197
std::string _foamMaterial
Definition: DetStructs.h:434
double _xSideVPos
Definition: DetStructs.h:327
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:374
int _nLayers
Definition: DetStructs.h:155
double _fitSideCfprThickness
Definition: DetStructs.h:360
double _fitSideHcombThickness
Definition: DetStructs.h:361
float amGap
Definition: DetStructs.h:469
Definition: DetStructs.h:474
double _scdSideXYGap
Definition: DetStructs.h:425
Definition: DetStructs.h:185
double _sidePlaneSizeH
Definition: DetStructs.h:368
std::string _chargeID
Definition: DetStructs.h:13
AcceptanceOptions()
Definition: DetStructs.h:123
Definition: DetStructs.h:312
std::string amMaterial
Definition: DetStructs.h:470
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:433
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:354
double _fitSideMatCoreThickness
Definition: DetStructs.h:359
bool _selectBOTTOMcalo
Definition: DetStructs.h:117
std::string cabinMaterial
Definition: DetStructs.h:484
unsigned int _scdSideLayers
Definition: DetStructs.h:414
std::string _fitSideMatCoreMaterial
Definition: DetStructs.h:364
std::string _fitSideCfprMaterial
Definition: DetStructs.h:366
float _wellGapZ
Definition: DetStructs.h:77
double _xSideHPos
Definition: DetStructs.h:151
double _scdSiliconThickness
Definition: DetStructs.h:412
double _scdTopTrayGap
Definition: DetStructs.h:426