HerdSoftware  0.1.1
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 
85  _monolithicCalo = false;
86  _densityHasBeenSet = false;
87  _crystalDensity = 7.4 * CLHEP::g / CLHEP::cm3; // Default density for calo v1 geometry (the default for calo v2 is
88  // eventually set in ParametricGeo.cpp).
89  _crystalSize = 3. * cm;
90  _crystalSlotSize = 3. * cm;
91  _xGap = 8 * mm;
92  _yGap = 4 * mm;
93  _zGap = 4 * mm;
94  _wellGapX = 0 * mm;
95  _wellGapY = 15 * mm;
96  _wellGapZ = 15 * mm;
97  _xCenter = 0 * mm;
98  _yCenter = 0 * mm;
99  _zTop = 0 * mm;
100  _cubeMaskPath = "";
101  _cubeMask.clear();
102  _fillerDensity = 0.;
103  _fillerMaterial = "G4_Galactic";
104  }
105 };
106 
112  double _caloShowerLength; // only for MCCaloAcc2
116  bool _selectTOPcalo; // only for MCCaloAcc2
117  bool _selectBOTTOMcalo; // only for MCCaloAcc2
118  bool _selectXNEGcalo; // only for MCCaloAcc2
119  bool _selectXPOScalo; // only for MCCaloAcc2
120  bool _selectYNEGcalo; // only for MCCaloAcc2
121  bool _selectYPOScalo; // only for MCCaloAcc2
122 
124  _MCCaloAccType = 2;
125  _caloTOPXwidth = 85 * CLHEP::cm;
126  _caloTOPYwidth = 80 * CLHEP::cm;
127  _caloTOPZquote = 3.4 * CLHEP::cm;
128  _caloShowerLength = 0 * CLHEP::cm; // old value: 27 * CLHEP::cm
129  _caloBOTTOMXwidth = 85 * CLHEP::cm; // For _MCCaloAccType=2 must be =_caloTOPXwidth
130  _caloBOTTOMYwidth = 80 * CLHEP::cm; // For _MCCaloAccType=2 must be =_caloTOPYwidth
131  _caloBOTTOMZquote = -76.6 * CLHEP::cm; // default for MCCaloType 1
132  _selectTOPcalo = true;
133  _selectBOTTOMcalo = false;
134  _selectXNEGcalo = true;
135  _selectXPOScalo = true;
136  _selectYNEGcalo = true;
137  _selectYPOScalo = true;
138  }
139 };
140 
141 struct PSDOptions {
142  int _version;
143  std::string _psdType;
144  // Common settings for bars and tiles
147  double _topXPos;
148  double _topYPos;
149  double _xSideVPos;
150  double _ySideVPos;
151  double _xSideHPos;
152  double _ySideHPos;
153 
155  int _nLayers;
156  double _layersGap;
157  bool _hasCF;
158  double _cfThickness, _cfGap;
159  };
160 
164  double _tileSizeAlongX, _tileSizeAlongY;
165  double _tileGapAlongX, _tileGapAlongY;
166  double _staggeringX, _staggeringY;
167  } _topTilesOptions;
168 
172  double _tileSizeAlongH, _tileSizeAlongV;
173  double _tileGapAlongH, _tileGapAlongV;
174  double _staggeringH, _staggeringV;
175  } _sideTilesOptions;
176 
178  int _nLayers;
179  double _width;
180  double _barsGap, _layersGap, _planesGap;
181  bool _hasCF;
182  double _cfThickness, _cfGap;
183  };
184 
186  int _nBarsAlongX; // Number of bars in layers segmented along X
187  int _nBarsAlongY; // Number of bars in layers segmented along X
190  double _staggeringX, _staggeringY;
191  } _topBarsOptions;
192 
194  int _nBarsAlongH; // Number of bars in horizontally-segmented layers
195  int _nBarsAlongV; // Number of bars in vertically-segmented layers
198  double _staggeringH, _staggeringV;
199  } _sideBarsOptions;
200 
202  // Default values
203  _version = 1;
204  _psdType = "tiles";
205  _psdTopThickness = _psdSideThickness = 10. * CLHEP::mm;
206  _topXPos = 0.;
207  _topYPos = 0.;
208  _xSideVPos = -189.88 * CLHEP::mm; // Value for v1 tiles
209  _ySideVPos = -189.88 * CLHEP::mm; // Value for v1 tiles
210  _xSideHPos = 0.; // Value for v1 tiles
211  _ySideHPos = 0.; // Value for v1 tiles
212 
213  // Top tiles
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.; // Will be filled by TilesPsdBuilder
222 
223  // Side tiles
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.; // Will be filled by TilesPsdBuilder
233 
234  // Top bars
235  _topBarsOptions._nBarsAlongX = _topBarsOptions._nBarsAlongY = 180;
236  _topBarsOptions._nLayers = 2;
237  _topBarsOptions._lengthOfBarsAlongX = _topBarsOptions._lengthOfBarsAlongY = 0.; // Will be filled by BarPsdBuilder
238  _topBarsOptions._staggeringX = _topBarsOptions._staggeringY = 0.; // Will be filled by BarPsdBuilder
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;
246 
247  // Side bars
248  _sideBarsOptions._nBarsAlongV = 102;
249  _sideBarsOptions._nBarsAlongH = 162;
250  _sideBarsOptions._nLayers = 2;
251  _sideBarsOptions._width = 10. * CLHEP::mm;
252  _sideBarsOptions._lengthOfBarsAlongH = _sideBarsOptions._lengthOfBarsAlongV = 0.; // Will be filled by BarPsdBuilder
253  _sideBarsOptions._staggeringH = _sideBarsOptions._staggeringV = 0.; // Will be filled by BarPsdBuilder
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;
260  }
261 
262  void SetV2() {
263  _version = 2;
264 
265  // Top tiles
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.; // Will be filled by TilesPsdBuilder
273  _topTilesOptions._cfThickness = 2. * CLHEP::mm;
274  _topTilesOptions._cfGap = 16. * CLHEP::mm;
275  // Side tiles
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.; // Will be filled by TilesPsdBuilder
284  _sideTilesOptions._cfThickness = 2. * CLHEP::mm;
285  _sideTilesOptions._cfGap = 16. * CLHEP::mm;
286 
287  // Top bars
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;
298  // Side bars
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;
309  }
310 };
311 
312 struct STKOptions {
313  unsigned _stkTopLayers;
314  unsigned _stkTopWLayers;
315  unsigned _stkSideLayers;
316  unsigned int _nTopWafers;
317  unsigned int _nSideWafersH;
318  unsigned int _nSideWafersV;
320  std::string _stkTopAbsMaterial;
325  double _topXPos;
326  double _topYPos;
327  double _xSideVPos;
328  double _ySideVPos;
329  double _xSideHPos;
330  double _ySideHPos;
331 
333  _stkTopLayers = 6;
334  _stkTopWLayers = 3;
335  _stkSideLayers = 6;
336  _nTopWafers = 14;
337  _nSideWafersH = 12;
338  _nSideWafersV = 6;
339  _stkTopAbsThickness = 1 * CLHEP::mm;
340  _stkTopAbsMaterial = "W"; // Not user-settable
341  _stkTopStripPitch = 0.; // No strips by default
342  _stkSideStripPitch = 0.; // No strips by default
343  _stkTopNStripsPerWafer = 0; // Computed from number of strips, not settable
344  _stkSideNStripsPerWafer = 0; // Computed from number of strips, not settable
345  _topXPos = 0.;
346  _topYPos = 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;
351  }
352 };
353 
354 struct FITOptions {
356  unsigned _fitSideLayers;
357  unsigned _fitSideWLayers;
361  double _fitSideHcombThickness; // this is valid for layers without W, if W is present the thickness of the Hcomb is =
362  // _fitSideHcombThickness - _fitSideWThickness
363  std::string _fitSideMatMaterial;
366  std::string _fitSideCfprMaterial;
367  double _fitSideInterTrayDistance; // distance between tray centers (in x or y)
370  unsigned _fitTopLayers;
371  unsigned _fitTopWLayers;
372  double _topPlaneSize; // XY dimension of the top FIT tray
373  std::vector<bool> _fitlistOfTopWDoubleLayers;
374  std::vector<bool> _fitlistOfSideWDoubleLayers;
375 
376  double _topXPos;
377  double _topYPos;
378  double _xSideVPos;
379  double _ySideVPos;
380  double _xSideHPos;
381  double _ySideHPos;
382 
384  _fitMatThickness = 1.58 * CLHEP::mm; // (6-1) * 0.21 + 0.25 + 2* 0.14 - see Junjing's code
385  _fitSideLayers = 9;
386  _fitSideWLayers = 0;
387  _fitSideWThickness = 2 * CLHEP::mm; // (6-1) * 0.21 + 0.25 - see Junjing's code
388  _fitSideMatCoreThickness = 1.3 * CLHEP::mm; // (6-1) * 0.21 + 0.25 - see Junjing's code
389  _fitSideCfprThickness = 0.6 * CLHEP::mm;
390  _fitSideHcombThickness = 20 * CLHEP::mm;
391  _fitSideInterTrayDistance = 25 * CLHEP::mm; // distance between tray centers (in x or y)
392  _fitSideMatMaterial = "Epoxy";
393  _fitSideMatCoreMaterial = "G4_POLYSTYRENE";
394  _fitSideHcombMaterial = "Honeycomb";
395  _fitSideCfprMaterial = "CarbonFiber_M55J";
396  _sidePlaneSizeH = 1060 * CLHEP::mm; // for now let's make things easy. = 10*106mm mats
397  _sidePlaneSizeV = 742 * CLHEP::mm; // for now let's make things easy. = 7*106mm mats
398  _fitTopLayers = 5;
399  _fitTopWLayers = 0;
400  // XY dimension of the top FIT tray
401  _topPlaneSize = 1166 * CLHEP::mm; // for now let's make things easy. = 11*106mm mats
402  _topXPos = 0.;
403  _topYPos = 0.;
404  _xSideVPos = -261.9 * CLHEP::mm;
405  _ySideVPos = -261.9 * CLHEP::mm;
406  _xSideHPos = -64.2 * CLHEP::mm;
407  _ySideHPos = -64.2 * CLHEP::mm;
408  }
409 };
410 
411 struct SCDOptions {
413  unsigned int _scdTopLayers;
414  unsigned int _scdSideLayers;
415  unsigned int _nTopWafers;
416  unsigned int _nSideWafersH;
417  unsigned int _nSideWafersV;
418  double _topXPos;
419  double _topYPos;
420  double _xSideVPos;
421  double _ySideVPos;
422  double _xSideHPos;
423  double _ySideHPos;
424  double _scdTopXYGap;
432  bool _hasFoam;
434  std::string _foamMaterial;
435  // double _scdSiProductionCut;
436 
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.), // No strips by default
443  _scdSideStripPitch(0.), // No strips by default
444  _scdTopNStripsPerWafer(0), // Computed from number of strips, not settable
445  _scdSideNStripsPerWafer(0), // Computed from number of strips, not settable
446  _hasFoam(false), _foamDensity(192 * CLHEP::kg / CLHEP::m3), _foamMaterial("polyurethane")
447  // ,_scdSiProductionCut(0)
448  {}
449 };
450 
451 struct TRDOptions {
452  int _nModulesH, _nModulesV;
453  float _posV, _posH, _posT;
455 
457  _nModulesH = 3;
458  _nModulesV = 3;
459  _posV = std::numeric_limits<decltype(_posT)>::max(); // Will be set by geometry datacard or filled by
460  // ParametricGeo::Construct
461  _posH = 0.;
462  _posT = std::numeric_limits<decltype(_posT)>::max(); // Will be filled by ParametricGeo::Construct
463  _gapFromSideDetector = 5. * CLHEP::cm;
464  }
465 };
466 
468  float amThickness; // Thickness of the anti-meteorite shield
469  float amGap; // Gap between the anti-meteorite shield and the nearest detector element
470  std::string amMaterial; // Material of the anti-meteorite shield
471  ShieldOptions() : amThickness{1 * CLHEP::mm}, amGap{5 * CLHEP::cm}, amMaterial{"Al"} {}
472 };
473 
474 struct CSSOptions {
475  // Spin angles for solar panels
476  float spSpinAngleM1_1, spSpinAngleM1_2;
477  float spSpinAngleM2_1, spSpinAngleM2_2;
478  float spSpinAngleMC_1, spSpinAngleMC_2;
479 
480  // Revolution angles for solar panels
481  float spRevAngleM1, spRevAngleM2;
482 
483  // material of the cabin shell
484  std::string cabinMaterial;
485 
486  void SetSPSpinAngleM1(float angle) { spSpinAngleM1_1 = spSpinAngleM1_2 = angle; }
487  void SetSPSpinAngleM2(float angle) { spSpinAngleM2_1 = spSpinAngleM2_2 = angle; }
488  void SetSPSpinAngleM1M2(float angle) {
489  SetSPSpinAngleM1(angle);
490  SetSPSpinAngleM2(angle);
491  }
492  void SetSPSpinAngleMC(float angle) { spSpinAngleMC_1 = spSpinAngleMC_2 = angle; }
493  void SetSPRevAngleM1M2(float angle) { spRevAngleM1 = spRevAngleM2 = angle; }
494  void SetCabinMaterial(std::string mat_name) { cabinMaterial = mat_name; }
495 
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") {}
499 };
500 #endif
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