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 std::vector<double> _sphericalCubesXCoo, _sphericalCubesYCoo,
89 _monolithicCalo =
false;
90 _densityHasBeenSet =
false;
91 _crystalDensity = 7.4 * CLHEP::g / CLHEP::cm3;
93 _crystalSize = 3. * cm;
94 _crystalSlotSize = 3. * cm;
107 _fillerMaterial =
"G4_Galactic";
108 _sphericalMaxCubesZ = 21;
109 _sphericalMaxCubesX = 23;
110 _sphericalMaxCubesY = 23;
111 _sphericalRadius = 12.285;
133 _caloTOPXwidth = 85 * CLHEP::cm;
134 _caloTOPYwidth = 80 * CLHEP::cm;
135 _caloTOPZquote = 3.4 * CLHEP::cm;
136 _caloShowerLength = 0 * CLHEP::cm;
137 _caloBOTTOMXwidth = 85 * CLHEP::cm;
138 _caloBOTTOMYwidth = 80 * CLHEP::cm;
139 _caloBOTTOMZquote = -76.6 * CLHEP::cm;
140 _selectTOPcalo =
true;
141 _selectBOTTOMcalo =
false;
142 _selectXNEGcalo =
true;
143 _selectXPOScalo =
true;
144 _selectYNEGcalo =
true;
145 _selectYPOScalo =
true;
215 _psdTopThickness = _psdSideThickness = 10. * CLHEP::mm;
218 _xSideVPos = -189.88 * CLHEP::mm;
219 _ySideVPos = -189.88 * CLHEP::mm;
224 _topTilesOptions._nLayers = 1;
225 _topTilesOptions._layersGap = 0;
226 _topTilesOptions._hasCF =
false;
227 _topTilesOptions._cfThickness = _topTilesOptions._cfGap = 0.;
228 _topTilesOptions._nTilesAlongX = _topTilesOptions._nTilesAlongY = 180;
229 _topTilesOptions._tileSizeAlongX = _topTilesOptions._tileSizeAlongY = 10. * CLHEP::mm;
230 _topTilesOptions._tileGapAlongX = _topTilesOptions._tileGapAlongY = 0. * CLHEP::mm;
231 _topTilesOptions._staggeringX = _topTilesOptions._staggeringY = 0.;
232 _topTilesOptions._baseAngle1 = 90 * CLHEP::degree;
233 _topTilesOptions._baseAngle2 = 90 * CLHEP::degree;
236 _sideTilesOptions._nLayers = 1;
237 _sideTilesOptions._layersGap = 0;
238 _sideTilesOptions._hasCF =
false;
239 _sideTilesOptions._cfThickness = _sideTilesOptions._cfGap = 0.;
240 _sideTilesOptions._nTilesAlongH = 160;
241 _sideTilesOptions._nTilesAlongV = 100;
242 _sideTilesOptions._tileSizeAlongH = _sideTilesOptions._tileSizeAlongV = 10. * CLHEP::mm;
243 _sideTilesOptions._tileGapAlongH = _sideTilesOptions._tileGapAlongV = 0. * CLHEP::mm;
244 _sideTilesOptions._staggeringH = _sideTilesOptions._staggeringV = 0.;
245 _sideTilesOptions._baseAngle1 = 90 * CLHEP::degree;
246 _sideTilesOptions._baseAngle2 = 90 * CLHEP::degree;
249 _topBarsOptions._nBarsAlongX = _topBarsOptions._nBarsAlongY = 180;
250 _topBarsOptions._nLayers = 2;
251 _topBarsOptions._lengthOfBarsAlongX = _topBarsOptions._lengthOfBarsAlongY = 0.;
252 _topBarsOptions._staggeringX = _topBarsOptions._staggeringY = 0.;
253 _topBarsOptions._width = 10. * CLHEP::mm;
254 _topBarsOptions._barsGap = 0. * CLHEP::mm;
255 _topBarsOptions._layersGap = 10. * CLHEP::mm;
256 _topBarsOptions._planesGap = 10 * CLHEP::mm;
257 _topBarsOptions._hasCF =
false;
258 _topBarsOptions._cfThickness = 0. * CLHEP::mm;
259 _topBarsOptions._cfGap = 0. * CLHEP::mm;
260 _topBarsOptions._baseAngle = 90 * CLHEP::degree;
263 _sideBarsOptions._nBarsAlongV = 102;
264 _sideBarsOptions._nBarsAlongH = 162;
265 _sideBarsOptions._nLayers = 2;
266 _sideBarsOptions._width = 10. * CLHEP::mm;
267 _sideBarsOptions._lengthOfBarsAlongH = _sideBarsOptions._lengthOfBarsAlongV = 0.;
268 _sideBarsOptions._staggeringH = _sideBarsOptions._staggeringV = 0.;
269 _sideBarsOptions._barsGap = 0. * CLHEP::mm;
270 _sideBarsOptions._layersGap = 10. * CLHEP::mm;
271 _sideBarsOptions._planesGap = 10 * CLHEP::mm;
272 _sideBarsOptions._hasCF =
false;
273 _sideBarsOptions._cfThickness = 0. * CLHEP::mm;
274 _sideBarsOptions._cfGap = 0. * CLHEP::mm;
275 _sideBarsOptions._baseAngle = 90 * CLHEP::degree;
282 _topTilesOptions._nLayers = 1;
283 _topTilesOptions._layersGap = 4. * CLHEP::mm;
284 _topTilesOptions._hasCF =
true;
285 _topTilesOptions._nTilesAlongX = _topTilesOptions._nTilesAlongY = 20;
286 _topTilesOptions._tileSizeAlongX = _topTilesOptions._tileSizeAlongY = 10. * CLHEP::cm;
287 _topTilesOptions._tileGapAlongX = _topTilesOptions._tileGapAlongY = 0. * CLHEP::mm;
288 _topTilesOptions._staggeringX = _topTilesOptions._staggeringY = 0.;
289 _topTilesOptions._cfThickness = 2. * CLHEP::mm;
290 _topTilesOptions._cfGap = 16. * CLHEP::mm;
292 _sideTilesOptions._nLayers = 1;
293 _sideTilesOptions._layersGap = 4 * CLHEP::mm;
294 _sideTilesOptions._hasCF =
true;
295 _sideTilesOptions._nTilesAlongH = 16;
296 _sideTilesOptions._nTilesAlongV = 11;
297 _sideTilesOptions._tileSizeAlongH = _sideTilesOptions._tileSizeAlongV = 10. * CLHEP::cm;
298 _sideTilesOptions._tileGapAlongH = _sideTilesOptions._tileGapAlongV = 0. * CLHEP::mm;
299 _sideTilesOptions._staggeringH = _sideTilesOptions._staggeringV = 0.;
300 _sideTilesOptions._cfThickness = 2. * CLHEP::mm;
301 _sideTilesOptions._cfGap = 16. * CLHEP::mm;
304 _topBarsOptions._nBarsAlongX = 45;
305 _topBarsOptions._nBarsAlongY = 45;
306 _topBarsOptions._nLayers = 4;
307 _topBarsOptions._width = 30. * CLHEP::mm;
308 _topBarsOptions._barsGap = 14. * CLHEP::mm;
309 _topBarsOptions._layersGap = 4. * CLHEP::mm;
310 _topBarsOptions._planesGap = 2 * CLHEP::mm;
311 _topBarsOptions._hasCF =
true;
312 _topBarsOptions._cfThickness = 2. * CLHEP::mm;
313 _topBarsOptions._cfGap = 16. * CLHEP::mm;
315 _sideBarsOptions._nBarsAlongV = 25;
316 _sideBarsOptions._nBarsAlongH = 36;
317 _sideBarsOptions._nLayers = 4;
318 _sideBarsOptions._width = 30. * CLHEP::mm;
319 _sideBarsOptions._barsGap = 14. * CLHEP::mm;
320 _sideBarsOptions._layersGap = 4. * CLHEP::mm;
321 _sideBarsOptions._planesGap = 2 * CLHEP::mm;
322 _sideBarsOptions._hasCF =
true;
323 _sideBarsOptions._cfThickness = 2. * CLHEP::mm;
324 _sideBarsOptions._cfGap = 16. * CLHEP::mm;
351 _stkTopAbsThickness = 1 * CLHEP::mm;
352 _stkTopAbsMaterial =
"W";
355 _xSideVPos = -260.26 * CLHEP::mm;
356 _ySideVPos = -260.26 * CLHEP::mm;
357 _xSideHPos = 204.56 * CLHEP::mm;
358 _ySideHPos = 175.56 * CLHEP::mm;
392 _fitMatThickness = 1.58 * CLHEP::mm;
395 _fitSideWThickness = 2 * CLHEP::mm;
396 _fitSideMatCoreThickness = 1.3 * CLHEP::mm;
397 _fitSideCfprThickness = 0.6 * CLHEP::mm;
398 _fitSideHcombThickness = 20 * CLHEP::mm;
399 _fitSideInterTrayDistance = 25 * CLHEP::mm;
400 _fitSideMatMaterial =
"Epoxy";
401 _fitSideMatCoreMaterial =
"G4_POLYSTYRENE";
402 _fitSideHcombMaterial =
"Honeycomb";
403 _fitSideCfprMaterial =
"CarbonFiber_M55J";
404 _sidePlaneSizeH = 1060 * CLHEP::mm;
405 _sidePlaneSizeV = 742 * CLHEP::mm;
409 _topPlaneSize = 1166 * CLHEP::mm;
412 _xSideVPos = -261.9 * CLHEP::mm;
413 _ySideVPos = -261.9 * CLHEP::mm;
414 _xSideHPos = -64.2 * CLHEP::mm;
415 _ySideHPos = -64.2 * CLHEP::mm;
442 : _scdSiliconThickness(0.15 * CLHEP::mm), _scdTopLayers(4), _scdSideLayers(4), _nTopWafers(20), _nSideWafersH(18),
443 _nSideWafersV(9), _topXPos(0.), _topYPos(0), _xSideVPos(
std::numeric_limits<decltype(_xSideVPos)>::max()),
444 _ySideVPos(
std::numeric_limits<decltype(_ySideVPos)>::max()), _xSideHPos(2. * CLHEP::cm),
445 _ySideHPos(2. * CLHEP::cm), _scdTopXYGap(0.5 * CLHEP::mm), _scdSideXYGap(0.5 * CLHEP::mm),
446 _scdTopTrayGap(2 * CLHEP::mm), _scdSideTrayGap(2 * CLHEP::mm), _hasFoam(false),
447 _foamDensity(192 * CLHEP::kg / CLHEP::m3), _foamMaterial(
"polyurethane") {}
458 _posV = std::numeric_limits<decltype(_posT)>::max();
461 _posT = std::numeric_limits<decltype(_posT)>::max();
462 _gapFromSideDetector = 5. * CLHEP::cm;
470 ShieldOptions() : amThickness{1 * CLHEP::mm}, amGap{5 * CLHEP::cm}, amMaterial{
"Al"} {}
488 SetSPSpinAngleM1(angle);
489 SetSPSpinAngleM2(angle);
496 : spSpinAngleM1_1(0.), spSpinAngleM1_2(0.), spSpinAngleM2_1(0.), spSpinAngleM2_2(0.), spSpinAngleMC_1(0.),
497 spSpinAngleMC_2(0.), spRevAngleM1(0.), spRevAngleM2(0.), cabinMaterial(
"G4_Al") {}
unsigned int _nSideWafersH
Definition: DetStructs.h:333
void SetSPSpinAngleM1M2(float angle)
Definition: DetStructs.h:487
double _ySideVPos
Definition: DetStructs.h:387
void SetCabinMaterial(std::string mat_name)
Definition: DetStructs.h:493
int _nLayers
Definition: DetStructs.h:187
double _caloTOPXwidth
Definition: DetStructs.h:118
unsigned int _nSideWafersV
Definition: DetStructs.h:425
unsigned _fitTopLayers
Definition: DetStructs.h:378
std::vector< double > _sphericalCubesZCoo
Definition: DetStructs.h:85
Definition: DetStructs.h:203
bool _selectTOPcalo
Definition: DetStructs.h:124
double _tileSizeAlongV
Definition: DetStructs.h:181
double _topStkTopPsdDistance
Definition: DetStructs.h:33
PSDOptions()
Definition: DetStructs.h:211
CSSOptions()
Definition: DetStructs.h:495
double _layersGap
Definition: DetStructs.h:164
std::string _fitSideMatMaterial
Definition: DetStructs.h:371
int _MCCaloAccType
Definition: DetStructs.h:116
double _xSideVPos
Definition: DetStructs.h:157
void SetSPSpinAngleM2(float angle)
Definition: DetStructs.h:486
int _nTilesAlongV
Definition: DetStructs.h:180
void SetSPSpinAngleM1(float angle)
Definition: DetStructs.h:485
double _ySideVPos
Definition: DetStructs.h:340
float _posV
Definition: DetStructs.h:452
double _topPlaneSize
Definition: DetStructs.h:380
float amThickness
Definition: DetStructs.h:467
void SetSPSpinAngleMC(float angle)
Definition: DetStructs.h:491
double _baseAngle
Definition: DetStructs.h:192
int _sphericalMaxCubesZ
Definition: DetStructs.h:83
float _densityHasBeenSet
Definition: DetStructs.h:73
double _sidePlaneSizeV
Definition: DetStructs.h:377
TRDOptions()
Definition: DetStructs.h:455
double _tileSizeAlongY
Definition: DetStructs.h:173
double _caloSideYStkDistance
Definition: DetStructs.h:28
double _scdTopXYGap
Definition: DetStructs.h:432
double _topYPos
Definition: DetStructs.h:427
Definition: DetStructs.h:186
FITOptions()
Definition: DetStructs.h:391
double _ySideHPos
Definition: DetStructs.h:342
double _cfThickness
Definition: DetStructs.h:166
double _caloTOPZquote
Definition: DetStructs.h:117
float _crystalDensity
Definition: DetStructs.h:72
float _sphericalRadius
Definition: DetStructs.h:84
int _version
Definition: DetStructs.h:150
std::string _psdType
Definition: DetStructs.h:151
float _zTop
Definition: DetStructs.h:78
double _width
Definition: DetStructs.h:188
CaloOptions()
Definition: DetStructs.h:88
bool _selectYNEGcalo
Definition: DetStructs.h:128
double _tileGapAlongV
Definition: DetStructs.h:182
float spSpinAngleM2_2
Definition: DetStructs.h:476
GeneralOptions()
Definition: DetStructs.h:39
Definition: DetStructs.h:115
float _crystalSize
Definition: DetStructs.h:74
float _gapFromSideDetector
Definition: DetStructs.h:453
double _xSideHPos
Definition: DetStructs.h:430
std::string _tracker
Definition: DetStructs.h:14
double _scdSideTrayGap
Definition: DetStructs.h:435
std::string _fillerMaterial
Definition: DetStructs.h:82
float spSpinAngleM1_2
Definition: DetStructs.h:475
int _nTilesAlongX
Definition: DetStructs.h:171
float _fillerDensity
Definition: DetStructs.h:81
double _caloTopStkDistance
Definition: DetStructs.h:26
unsigned int _nSideWafersH
Definition: DetStructs.h:424
Definition: DetStructs.h:466
double _lengthOfBarsAlongY
Definition: DetStructs.h:199
bool _hasCF
Definition: DetStructs.h:165
bool _selectYPOScalo
Definition: DetStructs.h:129
STKOptions()
Definition: DetStructs.h:344
bool _monolithicCalo
Definition: DetStructs.h:71
float _zGap
Definition: DetStructs.h:76
double _caloSideXStkDistance
Definition: DetStructs.h:27
double _baseAngle2
Definition: DetStructs.h:167
bool _hasCF
Definition: DetStructs.h:190
double _caloBOTTOMXwidth
Definition: DetStructs.h:122
double _psdTopThickness
Definition: DetStructs.h:153
double _xSideVPos
Definition: DetStructs.h:428
int _nBarsAlongH
Definition: DetStructs.h:204
Definition: DetStructs.h:70
void SetSPRevAngleM1M2(float angle)
Definition: DetStructs.h:492
double _caloSideYFitDistance
Definition: DetStructs.h:24
double _fitMatThickness
Definition: DetStructs.h:363
float spRevAngleM2
Definition: DetStructs.h:480
double _topXPos
Definition: DetStructs.h:155
std::string _fitSideHcombMaterial
Definition: DetStructs.h:373
bool _selectXNEGcalo
Definition: DetStructs.h:126
bool _hasFoam
Definition: DetStructs.h:436
double _staggeringY
Definition: DetStructs.h:200
unsigned int _nTopWafers
Definition: DetStructs.h:332
double _fitSideWThickness
Definition: DetStructs.h:366
double _sidePsdSideScdDistance
Definition: DetStructs.h:37
std::string _cubeMaskPath
Definition: DetStructs.h:79
int _nBarsAlongX
Definition: DetStructs.h:196
double _sideStkSidePsdDistance
Definition: DetStructs.h:34
double _staggeringY
Definition: DetStructs.h:175
std::string _antiCoincidence
Definition: DetStructs.h:16
double _cfThickness
Definition: DetStructs.h:191
double _lengthOfBarsAlongH
Definition: DetStructs.h:206
bool _selectXPOScalo
Definition: DetStructs.h:127
double _topYPos
Definition: DetStructs.h:156
std::string _calorimeter
Definition: DetStructs.h:15
double _topXPos
Definition: DetStructs.h:337
double _caloBOTTOMYwidth
Definition: DetStructs.h:123
unsigned _stkTopLayers
Definition: DetStructs.h:329
SCDOptions()
Definition: DetStructs.h:441
double _planesGap
Definition: DetStructs.h:189
double _ySideHPos
Definition: DetStructs.h:160
double _caloShowerLength
Definition: DetStructs.h:120
int _nBarsAlongY
Definition: DetStructs.h:197
std::string _calibration
Definition: DetStructs.h:17
void SetV2()
Definition: DetStructs.h:278
int _nTilesAlongY
Definition: DetStructs.h:172
double _topFitTopPsdDistance
Definition: DetStructs.h:30
int _nBarsAlongV
Definition: DetStructs.h:205
unsigned _fitSideLayers
Definition: DetStructs.h:364
std::string _spaceStation
Definition: DetStructs.h:19
std::vector< bool > _fitlistOfTopWDoubleLayers
Definition: DetStructs.h:381
double _caloSideXFitDistance
Definition: DetStructs.h:23
unsigned int _scdTopLayers
Definition: DetStructs.h:421
int _nModulesV
Definition: DetStructs.h:451
unsigned _fitTopWLayers
Definition: DetStructs.h:379
double _topXPos
Definition: DetStructs.h:384
double _fitSideInterTrayDistance
Definition: DetStructs.h:375
double _ySideHPos
Definition: DetStructs.h:389
std::string _shield
Definition: DetStructs.h:18
double _xSideHPos
Definition: DetStructs.h:341
Definition: DetStructs.h:450
ShieldOptions()
Definition: DetStructs.h:470
unsigned _stkTopWLayers
Definition: DetStructs.h:330
double _ySideVPos
Definition: DetStructs.h:158
double _topPsdTopScdDistance
Definition: DetStructs.h:36
double _xSideVPos
Definition: DetStructs.h:386
double _staggeringV
Definition: DetStructs.h:183
double _topXPos
Definition: DetStructs.h:426
double _ySideVPos
Definition: DetStructs.h:429
unsigned int _nTopWafers
Definition: DetStructs.h:423
double _xSideHPos
Definition: DetStructs.h:388
double _sideFitSidePsdDistance
Definition: DetStructs.h:31
double _topYPos
Definition: DetStructs.h:385
double _ySideHPos
Definition: DetStructs.h:431
float spSpinAngleMC_2
Definition: DetStructs.h:477
Definition: DetStructs.h:419
double _topYPos
Definition: DetStructs.h:338
unsigned int _nSideWafersV
Definition: DetStructs.h:334
unsigned _fitSideWLayers
Definition: DetStructs.h:365
double _lengthOfBarsAlongV
Definition: DetStructs.h:207
std::string _foamMaterial
Definition: DetStructs.h:438
double _xSideVPos
Definition: DetStructs.h:339
std::vector< int > _cubeMask
Definition: DetStructs.h:80
double _tileGapAlongY
Definition: DetStructs.h:174
double _caloBOTTOMZquote
Definition: DetStructs.h:121
Definition: DetStructs.h:149
double _psdSideThickness
Definition: DetStructs.h:154
std::vector< bool > _fitlistOfSideWDoubleLayers
Definition: DetStructs.h:382
int _nLayers
Definition: DetStructs.h:163
double _fitSideCfprThickness
Definition: DetStructs.h:368
double _fitSideHcombThickness
Definition: DetStructs.h:369
float amGap
Definition: DetStructs.h:468
Definition: DetStructs.h:473
double _scdSideXYGap
Definition: DetStructs.h:433
Definition: DetStructs.h:195
double _sidePlaneSizeH
Definition: DetStructs.h:376
std::string _chargeID
Definition: DetStructs.h:13
AcceptanceOptions()
Definition: DetStructs.h:131
Definition: DetStructs.h:328
std::string amMaterial
Definition: DetStructs.h:469
double _staggeringV
Definition: DetStructs.h:208
int _nTilesAlongH
Definition: DetStructs.h:179
Definition: DetStructs.h:170
double _caloTOPYwidth
Definition: DetStructs.h:119
Definition: DetStructs.h:178
float _foamDensity
Definition: DetStructs.h:437
unsigned _stkSideLayers
Definition: DetStructs.h:331
double _caloTopFitDistance
Definition: DetStructs.h:22
Definition: DetStructs.h:162
std::string _stkTopAbsMaterial
Definition: DetStructs.h:336
double _lengthOfBarsAlongX
Definition: DetStructs.h:198
double _stkTopAbsThickness
Definition: DetStructs.h:335
Definition: DetStructs.h:10
float _crystalSlotSize
Definition: DetStructs.h:75
Definition: DetStructs.h:362
double _fitSideMatCoreThickness
Definition: DetStructs.h:367
bool _selectBOTTOMcalo
Definition: DetStructs.h:125
std::string cabinMaterial
Definition: DetStructs.h:483
unsigned int _scdSideLayers
Definition: DetStructs.h:422
std::string _fitSideMatCoreMaterial
Definition: DetStructs.h:372
std::string _fitSideCfprMaterial
Definition: DetStructs.h:374
float _wellGapZ
Definition: DetStructs.h:77
double _xSideHPos
Definition: DetStructs.h:159
double _scdSiliconThickness
Definition: DetStructs.h:420
double _scdTopTrayGap
Definition: DetStructs.h:434