Belle II Software development
BKLMGeometryPar.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11/* KLM headers. */
12#include <klm/dataobjects/bklm/BKLMElementNumbers.h>
13
14/* ROOT headers. */
15#include <TObject.h>
16
17/* C++ headers. */
18#include <string>
19#include <vector>
20
21static const int NSCINTLAYER = 2;
22static const int NPHISCINT = 48;
23static const int NZSCINT = 54;
24static const int NSTATION = 7;
25static const int BKLM_INNER = 1;
26static const int BKLM_OUTER = 2;
27
28namespace Belle2 {
34 class GearDir;
35
40 class BKLMGeometryPar: public TObject {
41
42 public:
43
46 {
47 }
48
50 explicit BKLMGeometryPar(const GearDir&);
51
54
56 void read(const GearDir&);
57
59 bool doBeamBackgroundStudy(void) const
60 {
62 }
63
65 void doBeamBackgroundStudy(bool flag)
66 {
68 }
69
71 bool hasRPCs(int layer) const
72 {
73 return m_HasRPCs[layer - 1];
74 }
75
77 void hasRPCs(int layer, bool flag)
78 {
79 m_HasRPCs[layer] = flag;
80 }
81
83 double getScintTiO2ThicknessTop(void) const
84 {
86 }
87
90 {
92 }
93
95 double getScintTiO2ThicknessSide(void) const
96 {
98 }
99
102 {
104 }
105
107 double getChimneyLength(void) const
108 {
109 return m_ChimneyLength;
110 }
111
113 void setChimneyLength(double x)
114 {
115 m_ChimneyLength = x;
116 }
117
119 double getChimneyWidth(void) const
120 {
121 return m_ChimneyWidth;
122 }
123
125 void setChimneyWidth(double x)
126 {
127 m_ChimneyWidth = x;
128 }
129
131 double getScintHeight(void) const
132 {
133 return m_ScintHeight;
134 }
135
137 void setScintHeight(double x)
138 {
139 m_ScintHeight = x;
140 }
141
143 double getScintWidth(void) const
144 {
145 return m_ScintWidth;
146 }
147
149 void setScintWidth(double x)
150 {
151 m_ScintWidth = x;
152 }
153
155 double getScintBoreRadius(void) const
156 {
157 return m_ScintBoreRadius;
158 }
159
161 void setScintBoreRadius(double x)
162 {
164 }
165
167 double getScintFiberRadius(void) const
168 {
169 return m_ScintFiberRadius;
170 }
171
173 void setScintFiberRadius(double x)
174 {
176 }
177
179 double getRotation(void) const
180 {
181 return m_Rotation;
182 }
183
185 void setRotation(double x)
186 {
187 m_Rotation = x;
188 }
189
191 double getSectorRotation(int section, int sector) const
192 {
193 return m_SectorRotation[section][sector - 1];
194 }
195
197 void setSectorRotation(int section, int sector, double x)
198 {
199 m_SectorRotation[section][sector - 1] = x;
200 }
201
203 double getOffsetZ(void) const
204 {
205 return m_OffsetZ;
206 }
207
209 void setOffsetZ(double x)
210 {
211 m_OffsetZ = x;
212 }
213
215 double getPhi(void) const
216 {
217 return m_Phi;
218 }
219
221 void setPhi(double x)
222 {
223 m_Phi = x;
224 }
225
227 double getSolenoidOuterRadius(void) const
228 {
230 }
231
234 {
236 }
237
239 int getNSector(void) const
240 {
241 return m_NSector;
242 }
243
245 void setNSector(int n)
246 {
247 m_NSector = n;
248 }
249
251 double getHalfLength(void) const
252 {
253 return m_HalfLength;
254 }
255
257 void setHalfLength(double x)
258 {
259 m_HalfLength = x;
260 }
261
263 double getOuterRadius(void) const
264 {
265 return m_OuterRadius;
266 }
267
269 void setOuterRadius(double x)
270 {
271 m_OuterRadius = x;
272 }
273
275 int getNLayer(void) const
276 {
277 return m_NLayer;
278 }
279
281 void setNLayer(double n)
282 {
283 m_NLayer = n;
284 }
285
287 double getIronNominalHeight(void) const
288 {
289 return m_IronNominalHeight;
290 }
291
293 void setIronNominalHeight(double x)
294 {
296 }
297
299 double getIronActualHeight(void) const
300 {
301 return m_IronActualHeight;
302 }
303
305 void setIronActualHeight(double x)
306 {
308 }
309
311 double getGap1InnerRadius(void) const
312 {
313 return m_Gap1InnerRadius;
314 }
315
317 void setGap1InnerRadius(double x)
318 {
320 }
321
323 double getGap1NominalHeight(void) const
324 {
325 return m_Gap1NominalHeight;
326 }
327
329 void setGap1NominalHeight(double x)
330 {
332 }
333
335 double getGap1IronWidth(void) const
336 {
337 return m_Gap1IronWidth;
338 }
339
341 void setGap1IronWidth(double x)
342 {
343 m_Gap1IronWidth = x;
344 }
345
347 double getGapLength(void) const
348 {
349 return m_GapLength;
350 }
351
353 void setGapLength(double x)
354 {
355 m_GapLength = x;
356 }
357
359 double getGapNominalHeight(void) const
360 {
361 return m_GapNominalHeight;
362 }
363
365 void setGapNominalHeight(double x)
366 {
368 }
369
371 double getGapIronWidth(void) const
372 {
373 return m_GapIronWidth;
374 }
375
377 void setGapIronWidth(double x)
378 {
379 m_GapIronWidth = x;
380 }
381
383 int getNZStrips(void) const
384 {
385 return m_NZStrips;
386 }
387
389 void setNZStrips(int n)
390 {
391 m_NZStrips = n;
392 }
393
395 int getNZStripsChimney(void) const
396 {
397 return m_NZStripsChimney;
398 }
399
402 {
404 }
405
407 int getNPhiStrips(int layer) const
408 {
409 return m_NPhiStrips[layer - 1];
410 }
411
413 void setNPhiStrips(int layer, int n)
414 {
415 m_NPhiStrips[layer - 1] = n;
416 }
417
419 int getNZScints(void) const
420 {
421 return m_NZScints;
422 }
423
425 void setNZScints(int n)
426 {
427 m_NZScints = n;
428 }
429
431 int getNZScintsChimney(void) const
432 {
433 return m_NZScintsChimney;
434 }
435
438 {
440 }
441
443 int getNPhiScints(int layer) const
444 {
445 return m_NPhiScints[layer - 1];
446 }
447
449 void setNPhiScints(int layer, int n)
450 {
451 m_NPhiScints[layer - 1] = n;
452 }
453
456 double getScintEnvelopeOffsetSign(int layer) const
457 {
458 return m_ScintEnvelopeOffsetSign[layer - 1];
459 }
460
463 void setScintEnvelopeOffsetSign(int layer, int n)
464 {
465 m_ScintEnvelopeOffsetSign[layer - 1] = n;
466 }
467
469 double getPhiStripWidth(int layer) const
470 {
471 return m_PhiStripWidth[layer - 1];
472 }
473
475 void setPhiStripWidth(int layer, double x)
476 {
477 m_PhiStripWidth[layer - 1] = x;
478 }
479
481 double getZStripWidth(int layer) const
482 {
483 return m_ZStripWidth[layer - 1];
484 }
485
487 void setZStripWidth(int layer, double x)
488 {
489 m_ZStripWidth[layer - 1] = x;
490 }
491
494 double getZScintDLength(int layer, int scint) const
495 {
496 return m_ZScintDLength[layer - 1][scint - 1];
497 }
498
501 void setZScintDLength(int layer, int scint, double x)
502 {
503 m_ZScintDLength[layer - 1][scint - 1] = x;
504 }
505
507 double getModuleLength(void) const
508 {
509 return m_ModuleLength;
510 }
511
513 void setModuleLength(double x)
514 {
515 m_ModuleLength = x;
516 }
517
519 double getModuleLengthChimney(void) const
520 {
522 }
523
526 {
528 }
529
531 double getModuleCoverHeight(void) const
532 {
533 return m_ModuleCoverHeight;
534 }
535
537 void setModuleCoverHeight(double x)
538 {
540 }
541
543 double getModuleCopperHeight(void) const
544 {
546 }
547
550 {
552 }
553
555 double getModuleFoamHeight(void) const
556 {
557 return m_ModuleFoamHeight;
558 }
559
561 void setModuleFoamHeight(double x)
562 {
564 }
565
567 double getModuleMylarHeight(void) const
568 {
569 return m_ModuleMylarHeight;
570 }
571
573 void setModuleMylarHeight(double x)
574 {
576 }
577
579 double getModuleGlassHeight(void) const
580 {
581 return m_ModuleGlassHeight;
582 }
583
585 void setModuleGlassHeight(double moduleGlassHeight)
586 {
587 m_ModuleGlassHeight = moduleGlassHeight;
588 }
589
591 double getModuleGasHeight(void) const
592 {
593 return m_ModuleGasHeight;
594 }
595
597 void setModuleGasHeight(double x)
598 {
600 }
601
603 double getModuleFrameWidth(void) const
604 {
605 return m_ModuleFrameWidth;
606 }
607
609 void setModuleFrameWidth(double x)
610 {
612 }
613
615 double getModuleFrameThickness(void) const
616 {
618 }
619
622 {
624 }
625
627 double getModuleGasSpacerWidth(void) const
628 {
630 }
631
634 {
636 }
637
640 {
642 }
643
646 {
648 }
649
652 {
654 }
655
658 {
660 }
661
663 double getChimneyCoverThickness(void) const
664 {
666 }
667
670 {
672 }
673
676 {
678 }
679
682 {
684 }
685
688 {
690 }
691
694 {
696 }
697
700 {
702 }
703
706 {
708 }
709
712 {
714 }
715
718 {
720 }
721
723 double getChimneyPipeInnerRadius(void) const
724 {
726 }
727
730 {
732 }
733
735 double getChimneyPipeOuterRadius(void) const
736 {
738 }
739
742 {
744 }
745
747 double getRibThickness(void) const
748 {
749 return m_RibThickness;
750 }
751
753 void setRibThickness(double x)
754 {
755 m_RibThickness = x;
756 }
757
759 double getCablesWidth(void) const
760 {
761 return m_CablesWidth;
762 }
763
765 void setCablesWidth(double x)
766 {
767 m_CablesWidth = x;
768 }
769
771 double getBraceWidth(void) const
772 {
773 return m_BraceWidth;
774 }
775
777 void setBraceWidth(double x)
778 {
779 m_BraceWidth = x;
780 }
781
783 double getBraceWidthChimney(void) const
784 {
785 return m_BraceWidthChimney;
786 }
787
789 void setBraceWidthChimney(double x)
790 {
792 }
793
795 double getSupportPlateWidth(void) const
796 {
797 return m_SupportPlateWidth;
798 }
799
801 void setSupportPlateWidth(double x)
802 {
804 }
805
807 double getSupportPlateHeight(void) const
808 {
810 }
811
814 {
816 }
817
819 double getSupportPlateLength(void) const
820 {
822 }
823
826 {
828 }
829
832 {
834 }
835
838 {
840 }
841
843 double getBracketWidth(void) const
844 {
845 return m_BracketWidth;
846 }
847
849 void setBracketWidth(double x)
850 {
851 m_BracketWidth = x;
852 }
853
855 double getBracketThickness(void) const
856 {
857 return m_BracketThickness;
858 }
859
861 void setBracketThickness(double x)
862 {
864 }
865
867 double getBracketLength(void) const
868 {
869 return m_BracketLength;
870 }
871
873 void setBracketLength(double x)
874 {
875 m_BracketLength = x;
876 }
877
879 double getBracketRibWidth(void) const
880 {
881 return m_BracketRibWidth;
882 }
883
885 void setBracketRibWidth(double x)
886 {
888 }
889
891 double getBracketRibThickness(void) const
892 {
894 }
895
898 {
900 }
901
903 double getBracketInset(void)const
904 {
905 return m_BracketInset;
906 }
907
909 void setBracketInset(double x)
910 {
911 m_BracketInset = x;
912 }
913
915 double getBracketInnerRadius(void) const
916 {
918 }
919
922 {
924 }
925
927 double getBracketCutoutDphi(void) const
928 {
929 return m_BracketCutoutDphi;
930 }
931
933 void setBracketCutoutDphi(double x)
934 {
936 }
937
939 int getNReadoutStation(void) const
940 {
941 return m_NReadoutStation;
942 }
943
945 bool getReadoutStationIsPhi(int station) const
946 {
947 return m_ReadoutStationIsPhi[station - 1];
948 }
949
951 double getReadoutStationPosition(int station) const
952 {
953 return m_ReadoutStationPosition[station - 1];
954 }
955
957 double getReadoutContainerLength(void) const
958 {
960 }
961
963 double getReadoutContainerWidth(void) const
964 {
966 }
967
969 double getReadoutContainerHeight(void) const
970 {
972 }
973
975 double getReadoutCarrierLength(void) const
976 {
978 }
979
981 double getReadoutCarrierWidth(void) const
982 {
984 }
985
987 double getReadoutCarrierHeight(void) const
988 {
990 }
991
994 {
996 }
997
1000 {
1002 }
1003
1006 {
1008 }
1009
1012 {
1013 return m_ReadoutPreamplifierPosition.size();
1014 }
1015
1017 double getReadoutPreamplifierPosition(int preamp) const
1018 {
1019 return m_ReadoutPreamplifierPosition[preamp - 1];
1020 }
1021
1024 {
1026 }
1027
1029 double getReadoutConnectorsWidth(void) const
1030 {
1032 }
1033
1036 {
1038 }
1039
1042 {
1044 }
1045
1047 double getMPPCHousingRadius(void) const
1048 {
1049 return m_MPPCHousingRadius;
1050 }
1051
1053 double getMPPCHousingLength(void) const
1054 {
1055 return m_MPPCHousingLength;
1056 }
1057
1059 double getMPPCLength(void) const
1060 {
1061 return m_MPPCLength;
1062 }
1063
1065 double getMPPCWidth(void) const
1066 {
1067 return m_MPPCWidth;
1068 }
1069
1071 double getMPPCHeight(void) const
1072 {
1073 return m_MPPCHeight;
1074 }
1075
1077 double getLocalReconstructionShiftX(int section, int sector, int layer) const
1078 {
1079 return m_LocalReconstructionShiftX[section][sector - 1][layer - 1];
1080 }
1081
1083 void setLocalReconstructionShiftX(int section, int sector, int layer, double x)
1084 {
1085 m_LocalReconstructionShiftX[section][sector - 1][layer - 1] = x;
1086 }
1087
1089 double getLocalReconstructionShiftY(int section, int sector, int layer) const
1090 {
1091 return m_LocalReconstructionShiftY[section][sector - 1][layer - 1];
1092 }
1093
1095 void setLocalReconstructionShiftY(int section, int sector, int layer, double x)
1096 {
1097 m_LocalReconstructionShiftY[section][sector - 1][layer - 1] = x;
1098 }
1099
1101 double getLocalReconstructionShiftZ(int section, int sector, int layer) const
1102 {
1103 return m_LocalReconstructionShiftZ[section][sector - 1][layer - 1];
1104 }
1105
1107 void setLocalReconstructionShiftZ(int section, int sector, int layer, double x)
1108 {
1109 m_LocalReconstructionShiftZ[section][sector - 1][layer - 1] = x;
1110 }
1111
1115 bool isFlipped(int section, int sector, int layer) const
1116 {
1117 return m_IsFlipped[section][sector - 1][layer - 1];
1118 }
1119
1123 void isFlipped(int section, int sector, int layer, bool flag)
1124 {
1125 m_IsFlipped[section][sector - 1][layer - 1] = flag;
1126 }
1127
1129 std::string getBKLMGeometryParComment() const
1130 {
1131 return m_comment;
1132 }
1133
1135 void setBKLMGeometryParComment(const std::string& s)
1136 {
1137 m_comment = s;
1138 }
1139
1140 private:
1141
1144
1147
1150
1153
1155 double m_Phi;
1156
1159
1162
1165
1168
1171
1174
1177
1180
1183
1186
1189
1192
1195
1198
1201
1204
1207
1210
1213
1216
1219
1224
1227 int m_NPhiScints[NSCINTLAYER];
1228
1231 double m_ZScintDLength[NSCINTLAYER][NZSCINT];
1232
1235
1238
1241
1244
1247
1250
1253
1256
1259
1262
1265
1268
1271
1274
1277
1280
1283
1286
1289
1292
1295
1298
1301
1304
1307
1310
1313
1316
1319
1322
1325
1328
1331
1334
1337
1340
1343
1346
1349
1352
1355
1358
1361
1364
1367
1370
1373
1376
1379
1382
1385
1388
1391
1394
1397
1400
1403
1406
1409
1412
1415
1418
1421
1424
1427
1430
1433
1436
1439
1442
1444 std::string m_comment;
1445
1448
1449 };
1451} // end of namespace Belle2
static constexpr int getMaximalLayerNumber()
Get maximal layer number (1-based).
static constexpr int getMaximalSectorNumber()
Get maximal sector number (1-based).
The Class for BKLM geometry.
double getScintBoreRadius(void) const
Get the radius of the cylindrical central bore in a scintillator strip.
bool doBeamBackgroundStudy(void) const
Get the beam background study flag.
double m_LocalReconstructionShiftX[2][BKLMElementNumbers::getMaximalSectorNumber()][BKLMElementNumbers::getMaximalLayerNumber()]
Reconstruction dx in local system. displacement, not alignment.
std::string m_comment
Optional comment.
double getReadoutCarrierWidth(void) const
Get the width of the readout carrier card.
void setChimneyHousingOuterRadius(double x)
Set the outer radius of the chimney housing.
double m_BracketRibWidth
Width of the innermost-module support plate's bracket's rib.
double m_ScintWidth
Width of one scintillator strip (cm), including the TiO2 coating.
void setCablesWidth(double x)
Set the width of the cable-services channel at each end.
double m_LocalReconstructionShiftZ[2][BKLMElementNumbers::getMaximalSectorNumber()][BKLMElementNumbers::getMaximalLayerNumber()]
Reconstruction dz in local system. displacement, not alignment.
int m_NZStripsChimney
Number of z-measuring cathode strips in a chimney-sector RPC module.
double m_ReadoutConnectorsHeight
Height of the readout connectors pair.
double getBracketThickness(void) const
Get the thickness of the layer-0 support plate's bracket.
double m_SupportPlateLengthChimney
Length of the innermost-module support plate in the chimney sector.
double getBracketInset(void) const
Get distance from support plate's end of bracket.
void setScintTiO2ThicknessTop(double x)
Set the thickness of the inactive TiO2-polystyrene coating on top (broad) surface of a scintillator s...
bool m_HasRPCs[BKLMElementNumbers::getMaximalLayerNumber()]
Flag to indicate whether layer contains RPCs (true) or scintillators (false)
double getModuleFoamHeight(void) const
Get the height of the module's transmission-line foam (2 per module)
double m_ChimneyPipeInnerRadius
Inner radius of the chimney pipe.
double m_BracketLength
Length of the innermost-module support plate's bracket.
double m_ReadoutContainerHeight
Height of the readout station.
double m_ReadoutCarrierHeight
Height of the readout carrier card.
void setModulePolystyreneInnerHeight(double x)
Set the height of the inner polystyrene-filler sheet.
double m_ModuleLengthChimney
Length along z of the module in the chimney sector.
void setModuleCopperHeight(double x)
Set the height of the module's readout or ground copper plane (4 per module)
void setModuleCoverHeight(double x)
Set the height of the module's aluminum cover (2 per module)
double getModuleMylarHeight(void) const
Get the height of the module's insulating mylar (2 per module)
void setNZStripsChimney(int n)
Set the number of z-measuring cathode strips in an RPC module (with chimney)
double m_BracketInnerRadius
Inner radius of the innermost-module support plate's bracket.
double m_BracketWidth
Width of the innermost-module support plate's bracket.
double m_BraceWidthChimney
Width of the central brace in the middle of the cable-services channel in the chimney sector.
int m_NPhiStrips[BKLMElementNumbers::getMaximalLayerNumber()]
Number of phi-readout RPC strips in each layer.
double m_ReadoutContainerLength
Length of the readout station.
double m_Gap1IronWidth
Width (at the outer radius) of the adjacent structural iron on either side of innermost gap.
void setSupportPlateHeight(double x)
Set height of the innermost-module support plate.
double getModuleFrameWidth(void) const
Get the width of the module's perimeter aluminum frame.
double getMPPCHousingRadius(void) const
Get the MPPC housing radius.
int getNZStripsChimney(void) const
Get the number of z-measuring cathode strips in an RPC module (with chimney)
void setIronNominalHeight(double x)
Set the nominal height of a layer's structural iron.
double getModuleLength(void) const
Get the length along z of the module.
double getChimneyShieldInnerRadius(void) const
Get the inner radius of the chimney radiation shield.
double getGapNominalHeight(void) const
Get the nominal height of the outer gaps.
double getIronNominalHeight(void) const
Get the nominal height of a layer's structural iron.
void setNSector(int n)
Set the number of sectors of the BKLM.
void setSectorRotation(int section, int sector, double x)
Set the rotation angle for a sector.
double getReadoutPreamplifierLength(void) const
Get the length of the preamplifier card.
void setBKLMGeometryParComment(const std::string &s)
Set comment.
void setGapLength(double x)
Set the length along z of the module gap.
double m_IronActualHeight
Actual height of a layer's structural iron.
double m_ZStripWidth[BKLMElementNumbers::getMaximalLayerNumber()]
Width of the z strips on each layer.
double m_ReadoutPreamplifierWidth
Width of the preamplifier card.
double m_IronNominalHeight
Nominal height of a layer's structural iron.
double getScintTiO2ThicknessTop(void) const
Get the thickness of the inactive TiO2-polystyrene coating on top (broad) surface of a scintillator s...
double m_ScintHeight
Height of one scintillator strip (cm), including the TiO2 coating.
int getNLayer(void) const
Get the number of modules in one sector.
double getSupportPlateLengthChimney(void) const
Get length of the innermost-module support plate in the chimney sector.
double m_ChimneyHousingInnerRadius
Inner radius of the chimney housing.
double m_ModuleFoamHeight
Height of a detector module's transmission-line foam.
void doBeamBackgroundStudy(bool flag)
Set the beam background study flag.
double getChimneyWidth(void) const
Get width of the chimney hole.
void setZStripWidth(int layer, double x)
Set width of the z strips on each layer.
void setChimneyPipeOuterRadius(double x)
Set the outer radius of the chimney pipe.
void setPhiStripWidth(int layer, double x)
Set width of the phi strips on each layer.
double m_BracketRibThickness
Thickness of the innermost-module support plate's bracket's rib.
double getReadoutConnectorsLength(void) const
Get the length of the readout connectors pair.
double m_Gap1NominalHeight
Nominal height of the innermost gap.
void setBracketInnerRadius(double x)
Set the inner radius of the layer-0 support plate's bracket.
int getNPhiScints(int layer) const
Get the number of phi-measuring scintillators in a scintillator module.
ClassDef(BKLMGeometryPar, 6)
Class version.
double getScintWidth(void) const
Get the width of the entire volume of a scintillator strip (including TiO2 coating)
void setOffsetZ(double x)
Set the global shift along a of the entire BKLM.
bool hasRPCs(int layer) const
Determine if the sensitive detectors in a given layer are RPCs (=true) or scintillators (=false)
int getNReadoutPreamplifierPosition(void) const
Get the number of preamplifier positions along the length of the carrier card.
double getReadoutConnectorsWidth(void) const
Get the width of the readout connectors pair.
void setGapIronWidth(double x)
Set the width (at the outer radius) of the adjacent structural iron on either side of a gap.
double m_ScintFiberRadius
Radius (cm) of the central WLS fiber in the scintillator strip.
double m_MPPCLength
MPPC length.
int getNReadoutStation(void) const
Get the number of preamplifier readout stations.
double getGap1NominalHeight(void) const
Get the nominal height of the innermost gap.
void setNPhiStrips(int layer, int n)
Set the number of phi-measuring cathode strips in an RPC module.
double getScintFiberRadius(void) const
Get the radius of the cylindrical central WLS fiber in a scintillator strip.
double getLocalReconstructionShiftY(int section, int sector, int layer) const
Get reconstruction dy in local system. displacement, not alignment.
int m_ScintEnvelopeOffsetSign[NSCINTLAYER]
Sign (+/-1) of scintillator-envelope's shift along y axis within its enclosing module for MPPC placem...
double m_SupportPlateLength
Length of the innermost-module support plate.
int getNZStrips(void) const
Get the number of z-measuring cathode strips in an RPC module (no chimney)
void setChimneyPipeInnerRadius(double x)
Set the inner radius of the chimney pipe.
double m_ModuleMylarHeight
Height of a detector module's mylar insulation.
double getGapIronWidth(void) const
Get the width (at the outer radius) of the adjacent structural iron on either side of a gap.
void setLocalReconstructionShiftY(int section, int sector, int layer, double x)
Set reconstruction dy in local system. displacement, not alignment.
double m_ModuleFrameThickness
Thickness of a detector module's frame ("C" shape - thickness of vertical leg)
double getBracketWidth(void) const
Get the width of the layer-0 support plate's bracket.
double m_ChimneyShieldInnerRadius
Inner radius of the chimney shield.
void setModuleFrameWidth(double x)
Set the width of the module's perimeter aluminum frame.
double getGap1InnerRadius(void) const
Get the radius of the inner tangent circle of gap 0 (innermost)
void setGap1InnerRadius(double x)
Set the radius of the inner tangent circle of gap 0 (innermost)
void setGapNominalHeight(double x)
Set the nominal height of the outer gaps.
double getOuterRadius(void) const
Get the radius of the inscribed circle of the outer polygon.
double getModuleGasHeight(void) const
Get the height of the module's gas gap (2 per module)
void setScintFiberRadius(double x)
Set the radius of the cylindrical central WLS fiber in a scintillator strip.
double getOffsetZ(void) const
Get the global shift along a of the entire BKLM.
double m_Rotation
Global rotation angle about z of the BKLM.
void setBracketCutoutDphi(double x)
Set the angular width of the layer-0 support plate's bracket's cutout.
double m_ZScintDLength[NSCINTLAYER][NZSCINT]
Shortening of the nominal length of the z scintillators for scintillator layers only
int m_NReadoutStation
Number of preamplifier readout stations.
double m_ModulePolystyreneOuterHeight
Height of the outer polystyrene-filler sheet.
double getReadoutConnectorsPosition(void) const
Get the position of the readout connectors pair along the length of the carrier card.
void setScintEnvelopeOffsetSign(int layer, int n)
Set the sign of shift of scintillator envelope along local y axis (-1: MPPCs on left,...
double getMPPCHeight(void) const
Get the MPPC height.
double getChimneyPipeOuterRadius(void) const
Get the outer radius of the chimney pipe.
void setChimneyWidth(double x)
Set width of the chimney hole.
void setBracketRibWidth(double x)
Set the width of the layer-0 support plate's bracket's rib.
double getReadoutPreamplifierWidth(void) const
Get the width of the preamplifier card.
bool getReadoutStationIsPhi(int station) const
Get the selector for phi (true) or z (false) readout station.
void setBracketRibThickness(double x)
Set the thickness of the layer-0 support plate's bracket's rib.
double getBracketLength(void) const
Get the length of the layer-0 support plate's bracket.
int getNPhiStrips(int layer) const
Get the number of phi-measuring cathode strips in an RPC module.
double m_ChimneyLength
Length along z of the chimney hole.
double getModuleLengthChimney(void) const
Get the length along z of the module.
double m_ReadoutContainerWidth
Width of the readout station.
double m_OffsetZ
Global offset along z of the BKLM.
void setIronActualHeight(double x)
Set the actual height of a layer's structural iron.
void setSupportPlateLengthChimney(double x)
Set length of the innermost-module support plate in the chimney sector.
double getReadoutStationPosition(int station) const
Get the position of each readout station along its relevant axis.
double m_ModuleGasSpacerWidth
Width of a detector module's spacer.
double m_PhiStripWidth[BKLMElementNumbers::getMaximalLayerNumber()]
Width of the phi strips on each layer.
void setRibThickness(double x)
Set the thickness of the radial rib that supports the solenoid / inner detectors.
double getModuleCoverHeight(void) const
Get the height of the module's aluminum cover (2 per module)
double getReadoutCarrierHeight(void) const
Get the height of the readout carrier card.
double getModulePolystyreneOuterHeight(void) const
Get the height of the outer polystyrene-filler sheet.
double getRibThickness(void) const
Get the thickness of the radial rib that supports the solenoid / inner detectors.
int getNSector(void) const
Get the number of sectors of the BKLM.
double m_OuterRadius
Radius of the circle tangent to the sides of the outer polygon.
void setChimneyShieldInnerRadius(double x)
Set the inner radius of the chimney radiation shield.
double m_BracketThickness
Thickness of the innermost-module support plate's bracket.
double m_ModuleGlassHeight
Height of a detector module's glass electrode.
double getReadoutContainerWidth(void) const
Get the width of the readout station's container.
void setLocalReconstructionShiftZ(int section, int sector, int layer, double x)
Set reconstruction dz in local system. displacement, not alignment.
double getRotation(void) const
Get the global rotation angle about z of the entire BKLM.
void setModuleGlassHeight(double moduleGlassHeight)
Set the height of the module's glass electrode (4 per module)
double m_RibThickness
Thickness of the radial rib that supports the solenoid / inner detectors.
double m_ScintTiO2ThicknessTop
Thickness (cm) of the TiO2 coating on the top (and bottom) of the scintillator strip.
double getHalfLength(void) const
Get the half-length along z of the BKLM.
BKLMGeometryPar()
Default constructor.
double m_ModuleLength
Length along z of the module.
void setScintBoreRadius(double x)
Set the radius of the cylindrical central bore in a scintillator strip.
double m_HalfLength
Half-length along z of the BKLM.
double getBraceWidthChimney(void) const
Get the width of the brace in the middle of the cable-services channel in the chimney sector.
double m_ReadoutPreamplifierHeight
Height of the preamplifier card.
double getBracketRibThickness(void) const
Get the thickness of the layer-0 support plate's bracket's rib.
double m_ChimneyWidth
Width of the chimney hole.
double m_ChimneyShieldOuterRadius
Outer radius of the chimney shield.
int m_NZScintsChimney
Number of z-measuring scintillators in a chimney-sector scintillator module.
double getChimneyHousingInnerRadius(void) const
Get the inner radius of the chimney housing.
double m_ReadoutConnectorsLength
Length of the readout connectors pair.
double m_SupportPlateWidth
Width of the innermost-module support plate.
double m_MPPCHeight
MPPC height.
double getSupportPlateLength(void) const
Get length of the innermost-module support plate.
void setModuleGasHeight(double x)
Set the height of the module's gas gap (2 per module)
int m_NZStrips
Number of z-measuring cathode strips in a standard RPC module.
double getMPPCHousingLength(void) const
Get the MPPC housing length.
double m_SectorRotation[2][BKLMElementNumbers::getMaximalSectorNumber()]
Global rotation angle of a sector.
double m_BracketInset
Distance from support plate's end of bracket.
double getIronActualHeight(void) const
Get the actual height of a layer's structural iron.
int m_NLayer
Number of layers in one sector.
double getPhi(void) const
Get the starting angle of the BKLM's polygon shape.
double m_GapLength
Length along z of each gap.
double m_MPPCHousingRadius
MPPC housing radius.
double getSectorRotation(int section, int sector) const
Get the rotation angle for a sector.
double m_MPPCHousingLength
MPPC housing length.
int m_NPhiScints[NSCINTLAYER]
Number of phi-readout scintillators in each layer for scintillator layers only
void setBraceWidth(double x)
Set the width of the brace in the middle of the cable-services channel.
void isFlipped(int section, int sector, int layer, bool flag)
Set the z-phi planes flip (i.e., rotation by 180 degrees about z axis) True: z plane is inner,...
int getNZScintsChimney(void) const
Get the number of z-measuring scintillators in a scintillator module (with chimney)
double m_CablesWidth
Width of the cable-services channel at each end.
double getModuleGlassHeight(void) const
Get the height of the module's glass electrode (4 per module)
double m_ScintBoreRadius
Radius (cm) of the central bore in the scintillator strip.
double m_ReadoutCarrierLength
Length of the readout carrier card.
std::string getBKLMGeometryParComment() const
Get comment.
double m_ReadoutConnectorsWidth
Width of the readout connectors pair.
double getReadoutCarrierLength(void) const
Get the length of the readout carrier card.
double getGap1IronWidth(void) const
Get the width (at the outer radius) of the adjacent structural iron on either side of innermost gap.
double m_GapIronWidth
Width (at the outer radius) of the adjacent structural iron on either side of a gap.
double getMPPCWidth(void) const
Get the MPPC width.
void setZScintDLength(int layer, int scint, double x)
Set shortening of nominal length of the z scintillators for scintillator layers only
double getModuleCopperHeight(void) const
Get the height of the module's readout or ground copper plane (4 per module)
void setNPhiScints(int layer, int n)
Set the number of phi-measuring scintillators in an scintillator module.
void hasRPCs(int layer, bool flag)
Set flag to indicate whether layer contains RPCs (true) or scintillators (false)
void setChimneyShieldOuterRadius(double x)
Set the outer radius of the chimney radiation shield.
double m_ReadoutStationPosition[NSTATION]
Position of each readout station along its relevant axis.
double getReadoutContainerLength(void) const
Get the length of the readout station's container.
double m_ReadoutPreamplifierLength
Length of the preamplifier card.
double m_ModuleGasHeight
Height of a detector module's gas gap.
double getModulePolystyreneInnerHeight(void) const
Get the height of the inner polystyrene-filler sheet.
void setModuleFoamHeight(double x)
Set the height of the module's transmission-line foam (2 per module)
double m_BraceWidth
Width of the central brace in the middle of the cable-services channel.
double getChimneyLength(void) const
Get length along z of the chimney hole.
double m_ModuleFrameWidth
Width of a detector module's frame ("C" shape - width of horizontal leg)
double m_MPPCWidth
MPPC width.
double m_ChimneyHousingOuterRadius
Outer radius of the chimney housing.
void setScintTiO2ThicknessSide(double x)
Set the thickness of the inactive TiO2-polystyrene coating on side (short) surface of a scintillator ...
double getCablesWidth(void) const
Get the width of the cable-services channel at each end.
void setModuleLength(double x)
Set the length along z of the module.
double m_GapNominalHeight
Nominal height of outer gaps.
int getNZScints(void) const
Get the number of z-measuring scintillators in a scintillator module (no chimney)
double getBracketCutoutDphi(void) const
Get the angular width of the layer-0 support plate's bracket's cutout.
double m_ReadoutConnectorsPosition
Position of the readout connectors pair along the length of the carrier card.
void setSupportPlateWidth(double x)
Set width of the innermost-module support plate.
double m_ModulePolystyreneInnerHeight
Height of the inner polystyrene-filler sheet.
double m_ChimneyCoverThickness
Thickness of the chimney's iron cover plate.
void setGap1IronWidth(double x)
Set the width (at the outer radius) of the adjacent structural iron on either side of innermost gap.
double getChimneyShieldOuterRadius(void) const
Get the outer radius of the chimney radiation shield.
void setChimneyLength(double x)
Set length along z of the chimney hole.
bool m_IsFlipped[2][BKLMElementNumbers::getMaximalSectorNumber()][NSCINTLAYER]
Flag of z-phi planes flip for scintillator layers only
double getScintHeight(void) const
Get the height of the entire volume of a scintillator strip (including TiO2 coating)
void setModulePolystyreneOuterHeight(double x)
Set the height of the outer polystyrene-filler sheet.
void setChimneyCoverThickness(double x)
Set the thickness of the chimney cover plate.
bool isFlipped(int section, int sector, int layer) const
Get the z-phi planes flip (i.e., rotation by 180 degrees about z axis) True: z plane is inner,...
void setGap1NominalHeight(double x)
Set the nominal height of the innermost gap.
void setSupportPlateLength(double x)
Set length of the innermost-module support plate.
double getChimneyCoverThickness(void) const
Get the thickness of the chimney cover plate.
void setRotation(double x)
Set the global rotation angle about z of the entire BKLM.
void setNLayer(double n)
Set the number of modules in one sector.
void setPhi(double x)
Set the starting angle of the BKLM's polygon shape.
double getReadoutPreamplifierHeight(void) const
Get the height of the preamplifier card.
double m_Phi
Starting angle of the polygon shape.
double getReadoutPreamplifierPosition(int preamp) const
Get the position of a preamplifier along the length of the carrier card.
double getBraceWidth(void) const
Get the width of the brace in the middle of the cable-services channel.
double getSupportPlateWidth(void) const
Get width of the innermost-module support plate.
std::vector< double > m_ReadoutPreamplifierPosition
Positions of the preamplifiers along the length of the carrier card.
double getReadoutConnectorsHeight(void) const
Get the height of the readout connectors pair.
double getPhiStripWidth(int layer) const
Get width of the phi strips on each layer.
void setChimneyHousingInnerRadius(double x)
Set the inner radius of the chimney housing.
void setScintWidth(double x)
Set the width of the entire volume of a scintillator strip (including TiO2 coating)
void read(const GearDir &)
Get geometry parameters from Gearbox.
void setNZScintsChimney(int n)
Set the number of z-measuring scintillators in a scintillator module (with chimney)
double getModuleGasSpacerWidth(void) const
Get the width of the module's gas-gap's perimeter spacer.
void setScintHeight(double x)
Set the height of the entire volume of a scintillator strip (including TiO2 coating)
double getMPPCLength(void) const
Get the MPPC length.
void setModuleGasSpacerWidth(double x)
Set the width of the module's gas-gap's perimeter spacer.
void setBracketThickness(double x)
Set the thickness of the layer-0 support plate's bracket.
void setLocalReconstructionShiftX(int section, int sector, int layer, double x)
Set reconstruction dx in local system. displacement, not alignment.
double getLocalReconstructionShiftX(int section, int sector, int layer) const
Get reconstruction dx in local system. displacement, not alignment.
double getZStripWidth(int layer) const
Get width of the z strips on each layer.
double getLocalReconstructionShiftZ(int section, int sector, int layer) const
Get reconstruction dz in local system. displacement, not alignment.
void setNZScints(int n)
Set the number of z-measuring scintillators in a scintillator module (no chimney)
void setBraceWidthChimney(double x)
Set the width of the brace in the middle of the cable-services channel in the chimney sector.
double m_LocalReconstructionShiftY[2][BKLMElementNumbers::getMaximalSectorNumber()][BKLMElementNumbers::getMaximalLayerNumber()]
Reconstruction dy in local system. displacement, not alignment.
double getZScintDLength(int layer, int scint) const
Get shortening of nominal length of the z scintillators for scintillator layers only
double m_ModuleCoverHeight
Height of a detector module's aluminum cover.
double m_Gap1InnerRadius
Radius of the inner tangent circle of the innermost gap.
double getScintEnvelopeOffsetSign(int layer) const
Get the sign of shift of scintillator envelope along local y axis (-1: MPPCs on left,...
double getSupportPlateHeight(void) const
Get height of the innermost-module support plate.
void setBracketWidth(double x)
Set the width of the layer-0 support plate's bracket.
void setModuleLengthChimney(double x)
Set the length along z of the module.
double m_SolenoidOuterRadius
Outer radius of the solenoid.
void setBracketLength(double x)
Set the length of the layer-0 support plate's bracket.
double getBracketRibWidth(void) const
Get the width of the layer-0 support plate's bracket's rib.
void setSolenoidOuterRadius(double x)
Set the outer radius of the solenoid.
double getReadoutContainerHeight(void) const
Get the height of the readout station's container.
double getGapLength(void) const
Get the length along z of the module gap.
int m_NSector
Number of sectors (=8 : octagonal)
bool m_DoBeamBackgroundStudy
Flag for enabling beam background study (=alternate sensitive-detector function)
void setNZStrips(int n)
Set the number of z-measuring cathode strips in an RPC module (no chimney)
double m_ChimneyPipeOuterRadius
Outer radius of the chimney pipe.
double getScintTiO2ThicknessSide(void) const
Get the thickness of the inactive TiO2-polystyrene coating on side (short) surface of a scintillator ...
double getModuleFrameThickness(void) const
Get the thickness of the module's perimeter aluminum frame.
double getSolenoidOuterRadius(void) const
Get the outer radius of the solenoid.
double getChimneyPipeInnerRadius(void) const
Get the inner radius of the chimney pipe.
void setHalfLength(double x)
Set the half-length along z of the BKLM.
double getBracketInnerRadius(void) const
Get the inner radius of the layer-0 support plate's bracket.
void setOuterRadius(double x)
Set the radius of the inscribed circle of the outer polygon.
void setModuleMylarHeight(double x)
Set the height of the module's insulating mylar (2 per module)
void setModuleFrameThickness(double x)
Set the thickness of the module's perimeter aluminum frame.
double getChimneyHousingOuterRadius(void) const
Get the outer radius of the chimney housing.
void setBracketInset(double x)
Set distance from support plate's end of bracket.
bool m_ReadoutStationIsPhi[NSTATION]
Selector for phi (true) or z (false) readout station.
double m_ReadoutCarrierWidth
Width of the readout carrier card.
double m_SupportPlateHeight
Height of the innermost-module support plate.
double m_ScintTiO2ThicknessSide
Thickness (cm) of the TiO2 coating on the left (and right) side of the scintillator strip.
double m_ModuleCopperHeight
Height of a detector module's copper readout or ground plane.
double m_BracketCutoutDphi
Angular width of the innermost-module support plate's bracket's cutout.
int m_NZScints
Number of z-measuring scintillators in a standard scintillator module.
GearDir is the basic class used for accessing the parameter store.
Definition: GearDir.h:31
Abstract base class for different kinds of events.