Belle II Software  release-08-01-10
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 
21 static const int NSCINTLAYER = 2;
22 static const int NPHISCINT = 48;
23 static const int NZSCINT = 54;
24 static const int NSTATION = 7;
25 static const int BKLM_INNER = 1;
26 static const int BKLM_OUTER = 2;
27 
28 namespace 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 
89  void setScintTiO2ThicknessTop(double x)
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  {
163  m_ScintBoreRadius = x;
164  }
165 
167  double getScintFiberRadius(void) const
168  {
169  return m_ScintFiberRadius;
170  }
171 
173  void setScintFiberRadius(double x)
174  {
175  m_ScintFiberRadius = x;
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  {
229  return m_SolenoidOuterRadius;
230  }
231 
233  void setSolenoidOuterRadius(double x)
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  {
307  m_IronActualHeight = x;
308  }
309 
311  double getGap1InnerRadius(void) const
312  {
313  return m_Gap1InnerRadius;
314  }
315 
317  void setGap1InnerRadius(double x)
318  {
319  m_Gap1InnerRadius = x;
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  {
367  m_GapNominalHeight = x;
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 
401  void setNZStripsChimney(int n)
402  {
403  m_NZStripsChimney = n;
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 
437  void setNZScintsChimney(int n)
438  {
439  m_NZScintsChimney = n;
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  {
521  return m_ModuleLengthChimney;
522  }
523 
525  void setModuleLengthChimney(double x)
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  {
545  return m_ModuleCopperHeight;
546  }
547 
549  void setModuleCopperHeight(double x)
550  {
552  }
553 
555  double getModuleFoamHeight(void) const
556  {
557  return m_ModuleFoamHeight;
558  }
559 
561  void setModuleFoamHeight(double x)
562  {
563  m_ModuleFoamHeight = x;
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  {
599  m_ModuleGasHeight = x;
600  }
601 
603  double getModuleFrameWidth(void) const
604  {
605  return m_ModuleFrameWidth;
606  }
607 
609  void setModuleFrameWidth(double x)
610  {
611  m_ModuleFrameWidth = x;
612  }
613 
615  double getModuleFrameThickness(void) const
616  {
617  return m_ModuleFrameThickness;
618  }
619 
621  void setModuleFrameThickness(double x)
622  {
624  }
625 
627  double getModuleGasSpacerWidth(void) const
628  {
629  return m_ModuleGasSpacerWidth;
630  }
631 
633  void setModuleGasSpacerWidth(double x)
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 
675  double getChimneyHousingInnerRadius(void) const
676  {
678  }
679 
682  {
684  }
685 
687  double getChimneyHousingOuterRadius(void) const
688  {
690  }
691 
694  {
696  }
697 
699  double getChimneyShieldInnerRadius(void) const
700  {
702  }
703 
706  {
708  }
709 
711  double getChimneyShieldOuterRadius(void) const
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  {
809  return m_SupportPlateHeight;
810  }
811 
813  void setSupportPlateHeight(double x)
814  {
816  }
817 
819  double getSupportPlateLength(void) const
820  {
821  return m_SupportPlateLength;
822  }
823 
825  void setSupportPlateLength(double x)
826  {
828  }
829 
831  double getSupportPlateLengthChimney(void) const
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  {
863  m_BracketThickness = x;
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  {
887  m_BracketRibWidth = x;
888  }
889 
891  double getBracketRibThickness(void) const
892  {
893  return m_BracketRibThickness;
894  }
895 
897  void setBracketRibThickness(double x)
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  {
917  return m_BracketInnerRadius;
918  }
919 
921  void setBracketInnerRadius(double x)
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  {
977  return m_ReadoutCarrierLength;
978  }
979 
981  double getReadoutCarrierWidth(void) const
982  {
983  return m_ReadoutCarrierWidth;
984  }
985 
987  double getReadoutCarrierHeight(void) const
988  {
989  return m_ReadoutCarrierHeight;
990  }
991 
993  double getReadoutPreamplifierLength(void) const
994  {
996  }
997 
999  double getReadoutPreamplifierWidth(void) const
1000  {
1002  }
1003 
1005  double getReadoutPreamplifierHeight(void) const
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 
1023  double getReadoutConnectorsLength(void) const
1024  {
1026  }
1027 
1029  double getReadoutConnectorsWidth(void) const
1030  {
1031  return m_ReadoutConnectorsWidth;
1032  }
1033 
1035  double getReadoutConnectorsHeight(void) const
1036  {
1038  }
1039 
1041  double getReadoutConnectorsPosition(void) const
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 
1146  double m_Rotation;
1147 
1150 
1152  double m_OffsetZ;
1153 
1155  double m_Phi;
1156 
1159 
1162 
1165 
1168 
1171 
1174 
1177 
1180 
1183 
1186 
1189 
1192 
1194  double m_GapLength;
1195 
1198 
1201 
1204 
1207 
1210 
1213 
1216 
1219 
1223  int m_ScintEnvelopeOffsetSign[NSCINTLAYER];
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 
1369  bool m_ReadoutStationIsPhi[NSTATION];
1370 
1372  double m_ReadoutStationPosition[NSTATION];
1373 
1376 
1379 
1382 
1385 
1388 
1391 
1394 
1397 
1400 
1402  std::vector<double> m_ReadoutPreamplifierPosition;
1403 
1406 
1409 
1412 
1415 
1418 
1421 
1424 
1426  double m_MPPCWidth;
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 stuctural 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.