HerdSoftware  0.3.2
DetStructs.h
Go to the documentation of this file.
1 #ifndef DETSTRUCT_H_
2 #define DETSTRUCT_H_
3 
4 #include "G4SystemOfUnits.hh"
5 
6 #include <limits>
7 #include <string>
8 #include <vector>
9 
11 
12  // Detectors
13  std::string _chargeID;
14  std::string _tracker;
15  std::string _calorimeter;
16  std::string _antiCoincidence;
17  std::string _calibration;
18  std::string _shield;
19  std::string _spaceStation;
20 
21  // CALO-FIT distances
25  // CALO-STK distances
29  // FIT-PSD distances
32  // STK-PSD distances
35  // PSD-SCD distances
38 
40 
41  // Detectors
42  _chargeID = "none";
43  _tracker = "stk";
44  _calorimeter = "calo";
45  _antiCoincidence = "psd";
46  _calibration = "none";
47  _shield = "none";
48  _spaceStation = "none";
49 
50  // CALO-FIT distances
51  _caloTopFitDistance = 150. * CLHEP::mm;
52  _caloSideXFitDistance = 86.3 * CLHEP::mm;
53  _caloSideYFitDistance = 115.3 * CLHEP::mm;
54  // CALO-STK distances
55  _caloTopStkDistance = 50 * CLHEP::mm;
56  _caloSideXStkDistance = 50 * CLHEP::mm;
57  _caloSideYStkDistance = 50 * CLHEP::mm;
58  // FIT-PSD distances
59  _topFitTopPsdDistance = 61. * CLHEP::mm; // Value for v1 tiles PSD
60  _sideFitSidePsdDistance = 77.5;
61  // STK-PSD distances
62  _topStkTopPsdDistance = 61. * CLHEP::mm; // Value for v1 tiles PSD
63  _sideStkSidePsdDistance = 177.5;
64  // PSD-SCD distances
65  _topPsdTopScdDistance = 20 * CLHEP::mm;
66  _sidePsdSideScdDistance = 20 * CLHEP::mm;
67  }
68 };
69 
70 struct CaloOptions {
74  float _crystalSize;
76  float _xGap, _yGap, _zGap;
77  float _wellGapX, _wellGapY, _wellGapZ;
78  float _xCenter, _yCenter, _zTop;
79  std::string _cubeMaskPath;
80  std::vector<int> _cubeMask;
82  std::string _fillerMaterial;
83  int _sphericalMaxCubesZ, _sphericalMaxCubesX, _sphericalMaxCubesY;
85  std::vector<double> _sphericalCubesXCoo, _sphericalCubesYCoo,
86  _sphericalCubesZCoo; // Set by SphericalCaloBuilder::Build
87 
89  _monolithicCalo = false;
90  _densityHasBeenSet = false;
91  _crystalDensity = 7.4 * CLHEP::g / CLHEP::cm3; // Default density for calo v1 geometry (the default for calo v2 is
92  // eventually set in ParametricGeo.cpp).
93  _crystalSize = 3. * cm;
94  _crystalSlotSize = 3. * cm;
95  _xGap = 8 * mm;
96  _yGap = 4 * mm;
97  _zGap = 4 * mm;
98  _wellGapX = 0 * mm;
99  _wellGapY = 15 * mm;
100  _wellGapZ = 15 * mm;
101  _xCenter = 0 * mm;
102  _yCenter = 0 * mm;
103  _zTop = 0 * mm;
104  _cubeMaskPath = "";
105  _cubeMask.clear();
106  _fillerDensity = 0.;
107  _fillerMaterial = "G4_Galactic";
108  _sphericalMaxCubesZ = 21;
109  _sphericalMaxCubesX = 23;
110  _sphericalMaxCubesY = 23;
111  _sphericalRadius = 12.285;
112  }
113 };
114 
120  double _caloShowerLength; // only for MCCaloAcc2
124  bool _selectTOPcalo; // only for MCCaloAcc2
125  bool _selectBOTTOMcalo; // only for MCCaloAcc2
126  bool _selectXNEGcalo; // only for MCCaloAcc2
127  bool _selectXPOScalo; // only for MCCaloAcc2
128  bool _selectYNEGcalo; // only for MCCaloAcc2
129  bool _selectYPOScalo; // only for MCCaloAcc2
130 
132  _MCCaloAccType = 2;
133  _caloTOPXwidth = 85 * CLHEP::cm;
134  _caloTOPYwidth = 80 * CLHEP::cm;
135  _caloTOPZquote = 3.4 * CLHEP::cm;
136  _caloShowerLength = 0 * CLHEP::cm; // old value: 27 * CLHEP::cm
137  _caloBOTTOMXwidth = 85 * CLHEP::cm; // For _MCCaloAccType=2 must be =_caloTOPXwidth
138  _caloBOTTOMYwidth = 80 * CLHEP::cm; // For _MCCaloAccType=2 must be =_caloTOPYwidth
139  _caloBOTTOMZquote = -76.6 * CLHEP::cm; // default for MCCaloType 1
140  _selectTOPcalo = true;
141  _selectBOTTOMcalo = false;
142  _selectXNEGcalo = true;
143  _selectXPOScalo = true;
144  _selectYNEGcalo = true;
145  _selectYPOScalo = true;
146  }
147 };
148 
149 struct PSDOptions {
150  int _version;
151  std::string _psdType;
152  // Common settings for bars and tiles
155  double _topXPos;
156  double _topYPos;
157  double _xSideVPos;
158  double _ySideVPos;
159  double _xSideHPos;
160  double _ySideHPos;
161 
163  int _nLayers;
164  double _layersGap;
165  bool _hasCF;
166  double _cfThickness, _cfGap;
167  double _baseAngle1, _baseAngle2;
168  };
169 
173  double _tileSizeAlongX, _tileSizeAlongY;
174  double _tileGapAlongX, _tileGapAlongY;
175  double _staggeringX, _staggeringY;
176  } _topTilesOptions;
177 
181  double _tileSizeAlongH, _tileSizeAlongV;
182  double _tileGapAlongH, _tileGapAlongV;
183  double _staggeringH, _staggeringV;
184  } _sideTilesOptions;
185 
187  int _nLayers;
188  double _width;
189  double _barsGap, _layersGap, _planesGap;
190  bool _hasCF;
191  double _cfThickness, _cfGap;
192  double _baseAngle;
193  };
194 
196  int _nBarsAlongX; // Number of bars in layers segmented along X
197  int _nBarsAlongY; // Number of bars in layers segmented along X
200  double _staggeringX, _staggeringY;
201  } _topBarsOptions;
202 
204  int _nBarsAlongH; // Number of bars in horizontally-segmented layers
205  int _nBarsAlongV; // Number of bars in vertically-segmented layers
208  double _staggeringH, _staggeringV;
209  } _sideBarsOptions;
210 
212  // Default values
213  _version = 1;
214  _psdType = "tiles";
215  _psdTopThickness = _psdSideThickness = 10. * CLHEP::mm;
216  _topXPos = 0.;
217  _topYPos = 0.;
218  _xSideVPos = -189.88 * CLHEP::mm; // Value for v1 tiles
219  _ySideVPos = -189.88 * CLHEP::mm; // Value for v1 tiles
220  _xSideHPos = 0.; // Value for v1 tiles
221  _ySideHPos = 0.; // Value for v1 tiles
222 
223  // Top tiles
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.; // Will be filled by TilesPsdBuilder
232  _topTilesOptions._baseAngle1 = 90 * CLHEP::degree;
233  _topTilesOptions._baseAngle2 = 90 * CLHEP::degree;
234 
235  // Side tiles
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.; // Will be filled by TilesPsdBuilder
245  _sideTilesOptions._baseAngle1 = 90 * CLHEP::degree;
246  _sideTilesOptions._baseAngle2 = 90 * CLHEP::degree;
247 
248  // Top bars
249  _topBarsOptions._nBarsAlongX = _topBarsOptions._nBarsAlongY = 180;
250  _topBarsOptions._nLayers = 2;
251  _topBarsOptions._lengthOfBarsAlongX = _topBarsOptions._lengthOfBarsAlongY = 0.; // Will be filled by BarPsdBuilder
252  _topBarsOptions._staggeringX = _topBarsOptions._staggeringY = 0.; // Will be filled by BarPsdBuilder
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;
261 
262  // Side bars
263  _sideBarsOptions._nBarsAlongV = 102;
264  _sideBarsOptions._nBarsAlongH = 162;
265  _sideBarsOptions._nLayers = 2;
266  _sideBarsOptions._width = 10. * CLHEP::mm;
267  _sideBarsOptions._lengthOfBarsAlongH = _sideBarsOptions._lengthOfBarsAlongV = 0.; // Will be filled by BarPsdBuilder
268  _sideBarsOptions._staggeringH = _sideBarsOptions._staggeringV = 0.; // Will be filled by BarPsdBuilder
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;
276  }
277 
278  void SetV2() {
279  _version = 2;
280 
281  // Top tiles
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.; // Will be filled by TilesPsdBuilder
289  _topTilesOptions._cfThickness = 2. * CLHEP::mm;
290  _topTilesOptions._cfGap = 16. * CLHEP::mm;
291  // Side tiles
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.; // Will be filled by TilesPsdBuilder
300  _sideTilesOptions._cfThickness = 2. * CLHEP::mm;
301  _sideTilesOptions._cfGap = 16. * CLHEP::mm;
302 
303  // Top bars
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;
314  // Side bars
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;
325  }
326 };
327 
328 struct STKOptions {
329  unsigned _stkTopLayers;
330  unsigned _stkTopWLayers;
331  unsigned _stkSideLayers;
332  unsigned int _nTopWafers;
333  unsigned int _nSideWafersH;
334  unsigned int _nSideWafersV;
336  std::string _stkTopAbsMaterial;
337  double _topXPos;
338  double _topYPos;
339  double _xSideVPos;
340  double _ySideVPos;
341  double _xSideHPos;
342  double _ySideHPos;
343 
345  _stkTopLayers = 6;
346  _stkTopWLayers = 3;
347  _stkSideLayers = 6;
348  _nTopWafers = 14;
349  _nSideWafersH = 12;
350  _nSideWafersV = 6;
351  _stkTopAbsThickness = 1 * CLHEP::mm;
352  _stkTopAbsMaterial = "W"; // Not user-settable
353  _topXPos = 0.;
354  _topYPos = 0.;
355  _xSideVPos = -260.26 * CLHEP::mm;
356  _ySideVPos = -260.26 * CLHEP::mm;
357  _xSideHPos = 204.56 * CLHEP::mm;
358  _ySideHPos = 175.56 * CLHEP::mm;
359  }
360 };
361 
362 struct FITOptions {
364  unsigned _fitSideLayers;
365  unsigned _fitSideWLayers;
369  double _fitSideHcombThickness; // this is valid for layers without W, if W is present the thickness of the Hcomb is =
370  // _fitSideHcombThickness - _fitSideWThickness
371  std::string _fitSideMatMaterial;
374  std::string _fitSideCfprMaterial;
375  double _fitSideInterTrayDistance; // distance between tray centers (in x or y)
378  unsigned _fitTopLayers;
379  unsigned _fitTopWLayers;
380  double _topPlaneSize; // XY dimension of the top FIT tray
381  std::vector<bool> _fitlistOfTopWDoubleLayers;
382  std::vector<bool> _fitlistOfSideWDoubleLayers;
383 
384  double _topXPos;
385  double _topYPos;
386  double _xSideVPos;
387  double _ySideVPos;
388  double _xSideHPos;
389  double _ySideHPos;
390 
392  _fitMatThickness = 1.58 * CLHEP::mm; // (6-1) * 0.21 + 0.25 + 2* 0.14 - see Junjing's code
393  _fitSideLayers = 9;
394  _fitSideWLayers = 0;
395  _fitSideWThickness = 2 * CLHEP::mm; // (6-1) * 0.21 + 0.25 - see Junjing's code
396  _fitSideMatCoreThickness = 1.3 * CLHEP::mm; // (6-1) * 0.21 + 0.25 - see Junjing's code
397  _fitSideCfprThickness = 0.6 * CLHEP::mm;
398  _fitSideHcombThickness = 20 * CLHEP::mm;
399  _fitSideInterTrayDistance = 25 * CLHEP::mm; // distance between tray centers (in x or y)
400  _fitSideMatMaterial = "Epoxy";
401  _fitSideMatCoreMaterial = "G4_POLYSTYRENE";
402  _fitSideHcombMaterial = "Honeycomb";
403  _fitSideCfprMaterial = "CarbonFiber_M55J";
404  _sidePlaneSizeH = 1060 * CLHEP::mm; // for now let's make things easy. = 10*106mm mats
405  _sidePlaneSizeV = 742 * CLHEP::mm; // for now let's make things easy. = 7*106mm mats
406  _fitTopLayers = 5;
407  _fitTopWLayers = 0;
408  // XY dimension of the top FIT tray
409  _topPlaneSize = 1166 * CLHEP::mm; // for now let's make things easy. = 11*106mm mats
410  _topXPos = 0.;
411  _topYPos = 0.;
412  _xSideVPos = -261.9 * CLHEP::mm;
413  _ySideVPos = -261.9 * CLHEP::mm;
414  _xSideHPos = -64.2 * CLHEP::mm;
415  _ySideHPos = -64.2 * CLHEP::mm;
416  }
417 };
418 
419 struct SCDOptions {
421  unsigned int _scdTopLayers;
422  unsigned int _scdSideLayers;
423  unsigned int _nTopWafers;
424  unsigned int _nSideWafersH;
425  unsigned int _nSideWafersV;
426  double _topXPos;
427  double _topYPos;
428  double _xSideVPos;
429  double _ySideVPos;
430  double _xSideHPos;
431  double _ySideHPos;
432  double _scdTopXYGap;
436  bool _hasFoam;
438  std::string _foamMaterial;
439  // double _scdSiProductionCut;
440 
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") {}
448 };
449 
450 struct TRDOptions {
451  int _nModulesH, _nModulesV;
452  float _posV, _posH, _posT;
454 
456  _nModulesH = 3;
457  _nModulesV = 3;
458  _posV = std::numeric_limits<decltype(_posT)>::max(); // Will be set by geometry datacard or filled by
459  // ParametricGeo::Construct
460  _posH = 0.;
461  _posT = std::numeric_limits<decltype(_posT)>::max(); // Will be filled by ParametricGeo::Construct
462  _gapFromSideDetector = 5. * CLHEP::cm;
463  }
464 };
465 
467  float amThickness; // Thickness of the anti-meteorite shield
468  float amGap; // Gap between the anti-meteorite shield and the nearest detector element
469  std::string amMaterial; // Material of the anti-meteorite shield
470  ShieldOptions() : amThickness{1 * CLHEP::mm}, amGap{5 * CLHEP::cm}, amMaterial{"Al"} {}
471 };
472 
473 struct CSSOptions {
474  // Spin angles for solar panels
475  float spSpinAngleM1_1, spSpinAngleM1_2;
476  float spSpinAngleM2_1, spSpinAngleM2_2;
477  float spSpinAngleMC_1, spSpinAngleMC_2;
478 
479  // Revolution angles for solar panels
480  float spRevAngleM1, spRevAngleM2;
481 
482  // material of the cabin shell
483  std::string cabinMaterial;
484 
485  void SetSPSpinAngleM1(float angle) { spSpinAngleM1_1 = spSpinAngleM1_2 = angle; }
486  void SetSPSpinAngleM2(float angle) { spSpinAngleM2_1 = spSpinAngleM2_2 = angle; }
487  void SetSPSpinAngleM1M2(float angle) {
488  SetSPSpinAngleM1(angle);
489  SetSPSpinAngleM2(angle);
490  }
491  void SetSPSpinAngleMC(float angle) { spSpinAngleMC_1 = spSpinAngleMC_2 = angle; }
492  void SetSPRevAngleM1M2(float angle) { spRevAngleM1 = spRevAngleM2 = angle; }
493  void SetCabinMaterial(std::string mat_name) { cabinMaterial = mat_name; }
494 
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") {}
498 };
499 #endif
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