Belle II Software development
CDCGeometry.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#pragma once
9
10#include <vector>
11#include <string>
12
13#include <TObject.h>
14
15namespace Belle2 {
21 class GearDir;
22
27 class CDCGeometry: public TObject {
28
29 public:
30
31
35 class Rib : public TObject {
36
37 public:
38
42 Rib() {}
43
47 Rib(int id, double length, double width, double thick,
48 double rotx, double roty, double rotz,
49 double x, double y, double z,
50 int offset, int ndiv):
51 m_id(id), m_length(length), m_width(width), m_thick(thick),
52 m_rotx(rotx), m_roty(roty), m_rotz(rotz), m_x(x), m_y(y), m_z(z),
53 m_offset(offset), m_ndiv(ndiv)
54 {}
55
56
60 ~Rib() {}
61
65 int getId() const {return m_id;}
66
67
71 double getLength() const { return m_length;}
72
76 double getWidth() const { return m_width;}
77
81 double getThick() const { return m_thick;}
82
86 double getRotX() const { return m_rotx;}
90 double getRotY() const { return m_roty;}
94 double getRotZ() const { return m_rotz;}
95
99 double getX() const { return m_x;}
103 double getY() const { return m_y;}
107 double getZ() const { return m_z;}
108
112 int getOffset() const { return m_offset;}
116 int getNDiv() const { return m_ndiv;}
117
118
119 private:
120 int m_id;
121 double m_length;
122 double m_width;
123 double m_thick;
124 double m_rotx;
125 double m_roty;
126 double m_rotz;
127 double m_x;
128 double m_y;
129 double m_z;
131 int m_ndiv;
136 };
137
141 class Rib2 : public TObject {
142
143 public:
144
148 Rib2() {}
149
153 Rib2(int id, double length, double width, double thick,
154 double width2, double thick2, double rotx, double roty, double rotz,
155 double x, double y, double z,
156 int ndiv):
157 m_id(id), m_length(length), m_width(width), m_thick(thick),
158 m_width2(width2), m_thick2(thick2),
159 m_rotx(rotx), m_roty(roty), m_rotz(rotz),
160 m_x(x), m_y(y), m_z(z), m_ndiv(ndiv)
161 {}
162
163
167 ~Rib2() {}
168
172 int getId() const {return m_id;}
173
174
178 double getLength() const { return m_length;}
179
183 double getWidth() const { return m_width;}
184
188 double getThick() const { return m_thick;}
189
193 double getWidth2() const { return m_width2;}
194
198 double getThick2() const { return m_thick2;}
199
203 double getRotX() const { return m_rotx;}
204
208 double getRotY() const { return m_roty;}
209
213 double getRotZ() const { return m_rotz;}
214
218 double getX() const { return m_x;}
222 double getY() const { return m_y;}
226 double getZ() const { return m_z;}
227
231 int getNDiv() const { return m_ndiv;}
232
233
234 private:
235 int m_id;
236 double m_length;
237 double m_width;
238 double m_thick;
239 double m_width2;
240 double m_thick2;
241 double m_rotx;
242 double m_roty;
243 double m_rotz;
244 double m_x;
245 double m_y;
246 double m_z;
247 int m_ndiv;
252 };
253
257 class Rib3 : public TObject {
258
259 public:
260
264 Rib3() {}
265
269 Rib3(int id, double length, double width, double thick,
270 double r, double x, double y, double z,
271 double rx, double ry, double rz, int offset,
272 int ndiv):
273 m_id(id), m_length(length), m_width(width), m_thick(thick),
274 m_r(r), m_x(x), m_y(y), m_z(z),
275 m_rx(rx), m_ry(ry), m_rz(rz), m_offset(offset), m_ndiv(ndiv)
276 {}
277
278
282 ~Rib3() {}
283
287 int getId() const {return m_id;}
288
289
293 double getLength() const { return m_length;}
294
298 double getWidth() const { return m_width;}
299
303 double getThick() const { return m_thick;}
304
308 double getR() const { return m_r;}
309
313 double getX() const { return m_x;}
317 double getY() const { return m_y;}
321 double getZ() const { return m_z;}
322
326 double getRx() const { return m_rx;}
330 double getRy() const { return m_ry;}
334 double getRz() const { return m_rz;}
335
339 int getOffset() const { return m_offset;}
340
344 int getNDiv() const { return m_ndiv;}
345
346
347 private:
348 int m_id;
349 double m_length;
350 double m_width;
351 double m_thick;
352 double m_r;
353 double m_x;
354 double m_y;
355 double m_z;
356 double m_rx;
357 double m_ry;
358 double m_rz;
360 int m_ndiv;
365 };
366
370 class Rib4 : public TObject {
371
372 public:
373
377 Rib4() {}
378
382 Rib4(int id, double length, double width, double thick,
383 double length2, double width2, double thick2,
384 double x, double y, double z,
385 double x2, double y2, double z2, int offset,
386 int ndiv):
387 m_id(id), m_length(length), m_width(width), m_thick(thick),
388 m_length2(length2), m_width2(width2), m_thick2(thick2),
389 m_x(x), m_y(y), m_z(z),
390 m_x2(x2), m_y2(y2), m_z2(z2), m_offset(offset), m_ndiv(ndiv)
391 {}
392
393
397 ~Rib4() {}
398
402 int getId() const {return m_id;}
403
404
408 double getLength() const { return m_length;}
409
413 double getWidth() const { return m_width;}
414
418 double getThick() const { return m_thick;}
419
423 double getLength2() const { return m_length2;}
424
428 double getWidth2() const { return m_width2;}
429
433 double getThick2() const { return m_thick2;}
434
438 double getX() const { return m_x;}
442 double getY() const { return m_y;}
446 double getZ() const { return m_z;}
447
451 double getX2() const { return m_x2;}
455 double getY2() const { return m_y2;}
459 double getZ2() const { return m_z2;}
460
464 int getOffset() const { return m_offset;}
465
469 int getNDiv() const { return m_ndiv;}
470
471
472 private:
473 int m_id;
474 double m_length;
475 double m_width;
476 double m_thick;
477 double m_length2;
478 double m_width2;
479 double m_thick2;
480 double m_x;
481 double m_y;
482 double m_z;
483 double m_x2;
484 double m_y2;
485 double m_z2;
487 int m_ndiv;
492 };
493
497 class Rib5 : public TObject {
498
499 public:
500
504 Rib5() {}
505
509 Rib5(int id, double dr, double dz, double width, double thick, double rin,
510 double x, double y, double z,
511 double rotx, double roty, double rotz, int offset,
512 int ndiv):
513 m_id(id), m_dr(dr), m_dz(dz), m_width(width), m_thick(thick),
514 m_rin(rin), m_x(x), m_y(y), m_z(z),
515 m_rotx(rotx), m_roty(roty), m_rotz(rotz), m_offset(offset), m_ndiv(ndiv)
516 {}
517
518
522 ~Rib5() {}
523
527 int getId() const {return m_id;}
528
529
533 double getDr() const { return m_dr;}
534
538 double getDz() const { return m_dz;}
539
543 double getWidth() const { return m_width;}
544
548 double getThick() const { return m_thick;}
549
553 double getRin() const { return m_rin;}
554
558 double getX() const { return m_x;}
562 double getY() const { return m_y;}
566 double getZ() const { return m_z;}
567
571 double getRotx() const { return m_rotx;}
575 double getRoty() const { return m_roty;}
579 double getRotz() const { return m_rotz;}
580
584 int getOffset() const { return m_offset;}
585
589 int getNDiv() const { return m_ndiv;}
590
591
592 private:
593 int m_id;
594 double m_dr;
595 double m_dz;
596 double m_width;
597 double m_thick;
598 double m_rin;
599 double m_x;
600 double m_y;
601 double m_z;
602 double m_rotx;
603 double m_roty;
604 double m_rotz;
606 int m_ndiv;
611 };
612
616 class Cover : public TObject {
617
618 public:
619
623 Cover() {}
624
628 Cover(int id, double rmin1, double rmin2,
629 double rmax1, double rmax2,
630 double thick, double z):
631 m_id(id), m_rmin1(rmin1), m_rmin2(rmin2), m_rmax1(rmax1),
632 m_rmax2(rmax2), m_thick(thick), m_z(z)
633 {}
634
635
640
644 int getId() const {return m_id;}
648 double getRmin1() const { return m_rmin1;}
649
653 double getRmin2() const { return m_rmin2;}
654
658 double getRmax1() const { return m_rmax1;}
659
663 double getRmax2() const { return m_rmax2;}
664
668 double getThick() const { return m_thick;}
669
673 double getZ() const { return m_z;}
674
675
676
677 private:
678 int m_id;
679 double m_rmin1;
680 double m_rmin2;
681 double m_rmax1;
682 double m_rmax2;
683 double m_thick;
684 double m_z;
689 };
690
694 class Cover2 : public TObject {
695
696 public:
697
702
706 Cover2(int id, double rmin, double rmax,
707 double phis, double dphi,
708 double thick, double z):
709 m_id(id), m_rmin(rmin), m_rmax(rmax), m_phis(phis),
710 m_dphi(dphi), m_thick(thick), m_z(z)
711 {}
712
713
718
722 int getId() const {return m_id;}
726 double getRmin() const { return m_rmin;}
727
731 double getRmax() const { return m_rmax;}
732
736 double getPhis() const { return m_phis;}
737
741 double getDphi() const { return m_dphi;}
742
746 double getThick() const { return m_thick;}
747
751 double getZ() const { return m_z;}
752
753
754
755 private:
756 int m_id;
757 double m_rmin;
758 double m_rmax;
759 double m_phis;
760 double m_dphi;
761 double m_thick;
762 double m_z;
767 };
768
772 class NeutronShield : public TObject {
773
774 public:
775
780
784 NeutronShield(int id, double rmin1, double rmin2,
785 double rmax1, double rmax2,
786 double thick, double z):
787 m_id(id), m_rmin1(rmin1), m_rmin2(rmin2), m_rmax1(rmax1),
788 m_rmax2(rmax2), m_thick(thick), m_z(z)
789 {}
790
791
796
800 int getId() const {return m_id;}
804 double getRmin1() const { return m_rmin1;}
805
809 double getRmin2() const { return m_rmin2;}
810
814 double getRmax1() const { return m_rmax1;}
815
819 double getRmax2() const { return m_rmax2;}
820
824 double getThick() const { return m_thick;}
825
829 double getZ() const { return m_z;}
830
831
832
833 private:
834 int m_id;
835 double m_rmin1;
836 double m_rmin2;
837 double m_rmax1;
838 double m_rmax2;
839 double m_thick;
840 double m_z;
845 };
846
850 class Frontend : public TObject {
851
852 public:
853
858
862 Frontend(int id, double rmin, double rmax, double zfwd, double zbwd):
863 m_id(id), m_rmin(rmin), m_rmax(rmax), m_zfwd(zfwd), m_zbwd(zbwd)
864 {}
865
866
874 int getId() const {return m_id;}
878 double getRmin() const { return m_rmin;}
882 double getRmax() const { return m_rmax;}
883
887 double getZfwd() const { return m_zfwd;}
888
892 double getZbwd() const { return m_zbwd;}
893
894
895 private:
896 int m_id;
897 double m_rmin;
898 double m_rmax;
899 double m_zfwd;
900 double m_zbwd;
904 };
905
906
910 class MotherVolume : public TObject {
911
912 public:
913
918
923
927 void appendNode(double rmin, double rmax, double z);
928
932 int getNNodes() const { return m_rmin.size();}
936 std::vector<double> getRmin() const { return m_rmin;}
940 std::vector<double> getRmax() const { return m_rmax;}
944 std::vector<double> getZ() const { return m_z;}
945
946
947 private:
948 std::vector<double> m_rmin;
949 std::vector<double> m_rmax;
950 std::vector<double> m_z;
954 };
955
959 class SenseLayer : public TObject {
960
961 public:
962
967 {}
968
973 double r, double zfwd, double zbwd,
974 double dZfwd, double dZbwd,
975 double offset, int nWires, double nShifts) :
976 m_id(id), m_r(r),
977 m_zfwd(zfwd), m_zbwd(zbwd),
978 m_dZfwd(dZfwd), m_dZbwd(dZbwd),
979 m_offset(offset),
980 m_nWires(nWires),
981 m_nShifts(nShifts)
982 {
983 }
984
989
993 int getId() const { return m_id;}
994
998 double getR() const {return m_r;}
999
1003 double getZfwd() const { return m_zfwd;}
1004
1008 double getZbwd() const { return m_zbwd;}
1009
1013 void setDZfwd(double dz) {m_dZfwd = dz;}
1014
1018 double getDZfwd() const {return m_dZfwd;}
1019
1023 void setDZbwd(double dz) {m_dZbwd = dz;}
1024
1028 double getDZbwd() const {return m_dZbwd;}
1029
1033 void setOffset(double offset) {m_offset = offset;}
1034
1038 double getOffset() const {return m_offset;}
1039
1043 void setNShifts(int n) {m_nShifts = n;}
1044
1048 int getNShifts() const {return m_nShifts;}
1049
1053 void setNWires(int n) {m_nWires = n;}
1054
1058 int getNWires() const { return m_nWires;}
1059
1060
1061 private:
1062
1063 int m_id;
1064 double m_r;
1065 double m_zfwd;
1066 double m_zbwd;
1067 double m_dZfwd;
1068 double m_dZbwd;
1069 double m_offset;
1071 double m_nShifts;
1075 };
1076
1080 class FieldLayer : public TObject {
1081
1082 public:
1083
1088
1093 double r, double zfwd, double zbwd):
1094 m_id(id), m_r(r),
1095 m_zfwd(zfwd), m_zbwd(zbwd)
1096 {
1097 }
1098
1103
1107 int getId() const { return m_id;}
1108
1112 double getR() const {return m_r;}
1113
1117 double getZfwd() const { return m_zfwd;}
1118
1122 double getZbwd() const { return m_zbwd;}
1123
1124 private:
1125
1126 int m_id;
1127 double m_r;
1128 double m_zfwd;
1129 double m_zbwd;
1133 };
1134
1138 class OuterWall : public TObject {
1139
1140 public:
1141
1146
1150 OuterWall(const std::string& name, int id,
1151 double rmin, double rmax, double zfwd, double zbwd):
1152 m_name(name), m_id(id), m_rmin(rmin),
1153 m_rmax(rmax), m_zfwd(zfwd), m_zbwd(zbwd)
1154 {
1155 }
1156
1161
1165 std::string getName() const { return m_name;}
1166
1170 int getId() const { return m_id;}
1171
1175 double getRmin() const { return m_rmin;}
1176
1180 double getRmax() const {return m_rmax;}
1181
1185 double getZfwd() const { return m_zfwd;}
1186
1190 double getZbwd() const { return m_zbwd;}
1191
1192 private:
1193
1194 std::string m_name;
1195 int m_id;
1196 double m_rmin;
1197 double m_rmax;
1198 double m_zfwd;
1199 double m_zbwd;
1204 };
1205
1209 class InnerWall : public TObject {
1210
1211 public:
1212
1217
1221 InnerWall(const std::string& name, int id,
1222 double rmin, double rmax, double zfwd, double zbwd):
1223 m_name(name), m_id(id), m_rmin(rmin),
1224 m_rmax(rmax), m_zfwd(zfwd), m_zbwd(zbwd)
1225 {
1226 }
1227
1232
1236 std::string getName() const { return m_name;}
1237
1241 int getId() const { return m_id;}
1242
1246 double getRmin() const { return m_rmin;}
1247
1251 double getRmax() const {return m_rmax;}
1252
1256 double getZfwd() const { return m_zfwd;}
1257
1261 double getZbwd() const { return m_zbwd;}
1262
1263 private:
1264
1265 std::string m_name;
1266 int m_id;
1267 double m_rmin;
1268 double m_rmax;
1270 double m_zfwd;
1271 double m_zbwd;
1276 };
1277
1281 class EndPlateLayer : public TObject {
1282
1283 public:
1284
1289
1293 EndPlateLayer(const std::string& name, int ilay,
1294 double rmin, double rmax, double zfwd, double zbwd):
1295 m_name(name), m_layer(ilay), m_rmin(rmin),
1296 m_rmax(rmax), m_zfwd(zfwd), m_zbwd(zbwd)
1297 {
1298 }
1299
1304
1308 std::string getName() const { return m_name;}
1309
1313 int getILayer() const { return m_layer;}
1314
1318 double getRmin() const { return m_rmin;}
1319
1323 double getRmax() const {return m_rmax;}
1324
1328 double getZfwd() const { return m_zfwd;}
1329
1333 double getZbwd() const { return m_zbwd;}
1334
1335 private:
1336
1337 std::string m_name;
1339 double m_rmin;
1340 double m_rmax;
1341 double m_zfwd;
1342 double m_zbwd;
1346 };
1347
1351 class EndPlate : public TObject {
1352
1353 public:
1358
1362 explicit EndPlate(int i) : m_id(i) {};
1363
1368
1372 void appendNew(const std::string& name, int ilay,
1373 double rmin, double rmax, double zfwd, double zbwd)
1374 {
1375 EndPlateLayer eplayer(name, ilay, rmin, rmax, zfwd, zbwd);
1376 m_endPlateLayers.push_back(eplayer);
1377 }
1378
1382 int getNEndPlateLayers() const {return m_endPlateLayers.size();}
1383
1387 int getId() const {return m_id;}
1388
1396 std::vector<EndPlateLayer> getEndPlateLayers() const {return m_endPlateLayers;}
1397 private:
1398 int m_id;
1399 std::vector<EndPlateLayer> m_endPlateLayers;
1403 };
1404
1409
1413 explicit CDCGeometry(const GearDir&);
1414
1418 ~CDCGeometry();
1419
1423 void read(const GearDir&);
1424
1429
1433 double getGlobalOffsetX() const { return m_globalOffsetX;}
1434
1438 double getGlobalOffsetY() const { return m_globalOffsetY;}
1439
1443 double getGlobalOffsetZ() const { return m_globalOffsetZ;}
1444
1448 double getGlobalOffsetA() const { return m_globalOffsetA;}
1449
1453 double getGlobalOffsetB() const { return m_globalOffsetB;}
1454
1458 double getGlobalOffsetC() const { return m_globalOffsetC;}
1459
1463 double getFiducialRmin() const { return m_fiducialRmin;}
1464
1468 double getFiducialRmax() const { return m_fiducialRmax;}
1469
1474
1478 std::vector<OuterWall> getOuterWalls() const { return m_outerWalls;}
1479
1483 OuterWall getOuterWall(int i) const { return m_outerWalls.at(i);}
1484
1488 std::vector<InnerWall> getInnerWalls() const { return m_innerWalls;}
1489
1493 InnerWall getInnerWall(int i) const { return m_innerWalls.at(i);}
1494
1498 int getNEndplates() const { return m_endplates.size();}
1499
1503 EndPlate getEndPlate(int i) const {return m_endplates.at(i);};
1504
1508 std::vector<EndPlate> getEndPlates() const { return m_endplates;}
1509
1513 int getNFrontends() const {return m_frontends.size();}
1514
1518 std::vector<Frontend> getFrontends() const {return m_frontends;}
1519
1523 SenseLayer getSenseLayer(int i) const { return m_senseLayers.at(i);}
1524
1528 std::vector<SenseLayer> getSenseLayers() const { return m_senseLayers;}
1529
1533 int getNSenseLayers() const { return m_senseLayers.size();}
1534
1538 double getSenseDiameter() const { return m_senseWireDiameter;}
1539
1543 double getSenseTension() const { return m_senseWireTension;}
1544
1548 int getNSenseWires() const { return m_senseWireNumbers;}
1549
1553 FieldLayer getFieldLayer(int i) const { return m_fieldLayers.at(i);}
1554
1558 std::vector<FieldLayer> getFieldLayers() const { return m_fieldLayers;}
1559
1563 int getNFieldLayers() const { return m_fieldLayers.size();}
1564
1565
1569 std::vector<NeutronShield> getNeutronShields() const { return m_neutronShields;}
1570
1574 std::vector<Cover> getCovers() const { return m_covers;}
1575
1579 std::vector<Cover2> getCover2s() const { return m_cover2s;}
1580
1584 std::vector<Rib> getRibs() const { return m_ribs;}
1585
1589 std::vector<Rib2> getRib2s() const { return m_rib2s;}
1590
1594 std::vector<Rib3> getRib3s() const { return m_rib3s;}
1595
1599 std::vector<Rib4> getRib4s() const { return m_rib4s;}
1600
1604 std::vector<Rib5> getRib5s() const { return m_rib5s;}
1605
1606
1610 double getFieldDiameter() const { return m_fieldWireDiameter;}
1611
1615 int getNFieldWires() const { return m_fieldWireNumbers;}
1616
1621
1625 double getClockFrequency() const { return m_clockFrequency;}
1626
1631
1632
1637
1642
1647
1652
1657
1662
1663
1664 private:
1665
1666 double m_globalPhiRotation = 0.0;
1667 double m_globalOffsetX = 0.0;
1668 double m_globalOffsetY = 0.0;
1669 double m_globalOffsetZ = 0.0;
1670 double m_globalOffsetA = 0.0;
1671 double m_globalOffsetB = 0.0;
1672 double m_globalOffsetC = 0.0;
1676 std::vector<SenseLayer> m_senseLayers;
1677 std::vector<FieldLayer> m_fieldLayers;
1678 std::vector<InnerWall> m_innerWalls;
1679 std::vector<OuterWall> m_outerWalls;
1680 std::vector<EndPlate> m_endplates;
1681 std::vector<Frontend> m_frontends;
1682 std::vector<NeutronShield> m_neutronShields;
1683 std::vector<Cover> m_covers;
1684 std::vector<Cover2> m_cover2s;
1685 std::vector<Rib> m_ribs;
1686 std::vector<Rib2> m_rib2s;
1687 std::vector<Rib3> m_rib3s;
1688 std::vector<Rib4> m_rib4s;
1689 std::vector<Rib5> m_rib5s;
1691 double m_senseWireDiameter = 0.003;
1693 double m_senseWireTension = 50.0;
1694 double m_fieldWireDiameter = 0.0126;
1696 double m_feedThroughLength = 1.5;
1700 ushort m_maxNSenseLayers = 56;
1701 ushort m_maxNFieldLayers = 55;
1705 ushort m_maxNCellsPerLayer = 384;
1709 };
1711} // end of namespace Belle2
1712
Cover2 structure geometry parameters.
Definition: CDCGeometry.h:694
double getDphi() const
Get the maximum radius 2 of the cover2.
Definition: CDCGeometry.h:741
double m_phis
the maximum radius 1 of the cover2.
Definition: CDCGeometry.h:759
int getId() const
Get the cover2 Id.
Definition: CDCGeometry.h:722
double getPhis() const
Get the maximum radius 1 of the cover2.
Definition: CDCGeometry.h:736
double m_thick
the z-position of the cover2.
Definition: CDCGeometry.h:761
double getZ() const
Get the z-position of the cover2.
Definition: CDCGeometry.h:751
double m_dphi
the maximum radius 2 of the cover2.
Definition: CDCGeometry.h:760
double getThick() const
Get the thickness of the cover2.
Definition: CDCGeometry.h:746
double getRmax() const
Get the minimum radius 2 of the cover2.
Definition: CDCGeometry.h:731
double m_rmax
the mimnum radius 2 of the cover2.
Definition: CDCGeometry.h:758
Cover2(int id, double rmin, double rmax, double phis, double dphi, double thick, double z)
Constructor.
Definition: CDCGeometry.h:706
double m_z
the thickness of the cover2.
Definition: CDCGeometry.h:762
double getRmin() const
Get the minimum radius 1 of the cover2.
Definition: CDCGeometry.h:726
ClassDef(Cover2, 1)
Makes objects storable.
double m_rmin
the mimnum radius 1 of the cover2.
Definition: CDCGeometry.h:757
Cover structure geometry parameters.
Definition: CDCGeometry.h:616
double getRmin1() const
Get the minimum radius 1 of the cover.
Definition: CDCGeometry.h:648
double m_rmin1
the mimnum radius 1 of the cover.
Definition: CDCGeometry.h:679
double getRmax1() const
Get the maximum radius 1 of the cover.
Definition: CDCGeometry.h:658
int getId() const
Get the cover Id.
Definition: CDCGeometry.h:644
double m_rmin2
the mimnum radius 2 of the cover.
Definition: CDCGeometry.h:680
double m_thick
the z-position of the cover.
Definition: CDCGeometry.h:683
ClassDef(Cover, 1)
Makes objects storable.
Cover(int id, double rmin1, double rmin2, double rmax1, double rmax2, double thick, double z)
Constructor.
Definition: CDCGeometry.h:628
double getZ() const
Get the z-position of the cover.
Definition: CDCGeometry.h:673
double getRmin2() const
Get the minimum radius 2 of the cover.
Definition: CDCGeometry.h:653
double m_rmax2
the maximum radius 2 of the cover.
Definition: CDCGeometry.h:682
double getThick() const
Get the thickness of the cover.
Definition: CDCGeometry.h:668
double m_rmax1
the maximum radius 1 of the cover.
Definition: CDCGeometry.h:681
double m_z
the thickness of the cover.
Definition: CDCGeometry.h:684
double getRmax2() const
Get the maximum radius 2 of the cover.
Definition: CDCGeometry.h:663
Endplate layer geometry parameters.
Definition: CDCGeometry.h:1281
int getILayer() const
Get ILayer.
Definition: CDCGeometry.h:1313
EndPlateLayer(const std::string &name, int ilay, double rmin, double rmax, double zfwd, double zbwd)
Constructor.
Definition: CDCGeometry.h:1293
ClassDef(EndPlateLayer, 1)
Makes objects storable.
double getZbwd() const
Get bwd z-position.
Definition: CDCGeometry.h:1333
std::string getName() const
Get name.
Definition: CDCGeometry.h:1308
double getRmax() const
Get Rmax.
Definition: CDCGeometry.h:1323
double getRmin() const
Get Rmin.
Definition: CDCGeometry.h:1318
double getZfwd() const
Get fwd z-position.
Definition: CDCGeometry.h:1328
Endplate geometry parameters.
Definition: CDCGeometry.h:1351
void appendNew(const std::string &name, int ilay, double rmin, double rmax, double zfwd, double zbwd)
Add new endplate layer.
Definition: CDCGeometry.h:1372
int getNEndPlateLayers() const
Get the number of endplate layers.
Definition: CDCGeometry.h:1382
int getId() const
Get ID.
Definition: CDCGeometry.h:1387
std::vector< EndPlateLayer > m_endPlateLayers
Endplate layers.
Definition: CDCGeometry.h:1399
std::vector< EndPlateLayer > getEndPlateLayers() const
Get the list of endplate layers.
Definition: CDCGeometry.h:1396
EndPlate(int i)
Constructor.
Definition: CDCGeometry.h:1362
EndPlateLayer getEndPlateLayer(int i) const
Get i-th endplate layer.
Definition: CDCGeometry.h:1392
ClassDef(EndPlate, 1)
Makes objects storable.
Field layer geometry parameters.
Definition: CDCGeometry.h:1080
double getR() const
Get Radius.
Definition: CDCGeometry.h:1112
double getZbwd() const
Get bwd z-position.
Definition: CDCGeometry.h:1122
ClassDef(FieldLayer, 1)
Makes objects storable.
FieldLayer(int id, double r, double zfwd, double zbwd)
Constructor.
Definition: CDCGeometry.h:1092
double getZfwd() const
Get fwd z-position.
Definition: CDCGeometry.h:1117
Frontend layer geometry parameters.
Definition: CDCGeometry.h:850
Frontend(int id, double rmin, double rmax, double zfwd, double zbwd)
Constructor.
Definition: CDCGeometry.h:862
int getId() const
Get the frontend layer Id.
Definition: CDCGeometry.h:874
double getZbwd() const
Get the backward z-position of the frontend layer.
Definition: CDCGeometry.h:892
int m_id
Frontend layer id.
Definition: CDCGeometry.h:896
double getRmax() const
Get the maximum radius of the frontend layer.
Definition: CDCGeometry.h:882
double m_rmax
the maximum radius of the frontend layer.
Definition: CDCGeometry.h:898
ClassDef(Frontend, 1)
Makes objects storable.
double m_zfwd
the forawrd z-position of the frontend layer.
Definition: CDCGeometry.h:899
double getRmin() const
Get the minimum radius of the frontend layer.
Definition: CDCGeometry.h:878
double m_rmin
the mimnum radius of the frontend layer.
Definition: CDCGeometry.h:897
double getZfwd() const
Get the forward z-position of the frontend layer.
Definition: CDCGeometry.h:887
double m_zbwd
the forawrd z-position of the frontend layer.
Definition: CDCGeometry.h:900
Inner wall geometry parameters.
Definition: CDCGeometry.h:1209
ClassDef(InnerWall, 1)
Makes objects storable.
double getZbwd() const
Get bwd z-position.
Definition: CDCGeometry.h:1261
std::string getName() const
Get name.
Definition: CDCGeometry.h:1236
InnerWall(const std::string &name, int id, double rmin, double rmax, double zfwd, double zbwd)
Constructor.
Definition: CDCGeometry.h:1221
double getRmax() const
Get Rmax.
Definition: CDCGeometry.h:1251
double getRmin() const
Get Rmin.
Definition: CDCGeometry.h:1246
double getZfwd() const
Get fwd z-position.
Definition: CDCGeometry.h:1256
Mother volume geometry parameters.
Definition: CDCGeometry.h:910
std::vector< double > m_z
Z-cordinates list of the mother volume.
Definition: CDCGeometry.h:950
std::vector< double > getZ() const
Get the list of the z corrdinates.
Definition: CDCGeometry.h:944
std::vector< double > getRmin() const
Get the list of the Rmin corrdinates.
Definition: CDCGeometry.h:936
std::vector< double > m_rmin
Rmin list of the mother volume.
Definition: CDCGeometry.h:948
ClassDef(MotherVolume, 1)
Makes objects storable.
int getNNodes() const
Get the number of the mother volume nodes.
Definition: CDCGeometry.h:932
std::vector< double > m_rmax
Rmax list of the mother volume.
Definition: CDCGeometry.h:949
void appendNode(double rmin, double rmax, double z)
Append a new node.
Definition: CDCGeometry.cc:17
std::vector< double > getRmax() const
Get the list of the Rmax corrdinates.
Definition: CDCGeometry.h:940
Neutron shield geometry parameters.
Definition: CDCGeometry.h:772
double getRmin1() const
Get the minimum radius 1 of the shield.
Definition: CDCGeometry.h:804
double m_rmin1
the mimnum radius 1 of the shield.
Definition: CDCGeometry.h:835
double getRmax1() const
Get the maximum radius 1 of the shield.
Definition: CDCGeometry.h:814
int getId() const
Get the shield Id.
Definition: CDCGeometry.h:800
double m_rmin2
the mimnum radius 2 of the shield.
Definition: CDCGeometry.h:836
double m_thick
the z-position of the shield.
Definition: CDCGeometry.h:839
double getZ() const
Get the z-position of the shield.
Definition: CDCGeometry.h:829
double getRmin2() const
Get the minimum radius 2 of the shield.
Definition: CDCGeometry.h:809
double m_rmax2
the maximum radius 2 of the shield.
Definition: CDCGeometry.h:838
NeutronShield(int id, double rmin1, double rmin2, double rmax1, double rmax2, double thick, double z)
Constructor.
Definition: CDCGeometry.h:784
double getThick() const
Get the thickness of the shield.
Definition: CDCGeometry.h:824
double m_rmax1
the maximum radius 1 of the shield.
Definition: CDCGeometry.h:837
double m_z
the thickness of the shield.
Definition: CDCGeometry.h:840
double getRmax2() const
Get the maximum radius 2 of the shield.
Definition: CDCGeometry.h:819
ClassDef(NeutronShield, 1)
Makes objects storable.
Outer wall geometry parameters.
Definition: CDCGeometry.h:1138
ClassDef(OuterWall, 1)
Makes objects storable.
OuterWall(const std::string &name, int id, double rmin, double rmax, double zfwd, double zbwd)
Constructor.
Definition: CDCGeometry.h:1150
double getZbwd() const
Get bwd z-position.
Definition: CDCGeometry.h:1190
std::string getName() const
Get name.
Definition: CDCGeometry.h:1165
double getRmax() const
Get Rmax.
Definition: CDCGeometry.h:1180
double getRmin() const
Get Rmin.
Definition: CDCGeometry.h:1175
double getZfwd() const
Get fwd z-position.
Definition: CDCGeometry.h:1185
Rib2 structure geometry parameters.
Definition: CDCGeometry.h:141
double getWidth() const
Get the width of the rib2.
Definition: CDCGeometry.h:183
double getThick2() const
Get the thickness of the rib2.
Definition: CDCGeometry.h:198
ClassDef(Rib2, 1)
Makes objects storable.
double m_rotx
rotation angle w.r.t.
Definition: CDCGeometry.h:241
double getX() const
Get the x-position of the rib2.
Definition: CDCGeometry.h:218
double m_roty
rotation angle w.r.t.
Definition: CDCGeometry.h:242
int m_ndiv
Number of division.
Definition: CDCGeometry.h:247
double getRotX() const
Get the rotation angle w.r.t x-axis of the rib2.
Definition: CDCGeometry.h:203
int getId() const
Get the rib2 Id.
Definition: CDCGeometry.h:172
double m_width2
width of the rib2.
Definition: CDCGeometry.h:239
double m_width
width of the rib2.
Definition: CDCGeometry.h:237
double m_thick2
thickness of the rib2.
Definition: CDCGeometry.h:240
double m_x
the y-position of the rib2.
Definition: CDCGeometry.h:244
double m_thick
thickness of the rib2.
Definition: CDCGeometry.h:238
Rib2(int id, double length, double width, double thick, double width2, double thick2, double rotx, double roty, double rotz, double x, double y, double z, int ndiv)
Constructor.
Definition: CDCGeometry.h:153
double getWidth2() const
Get the width of the rib2.
Definition: CDCGeometry.h:193
double getZ() const
Get the z-position of the rib2.
Definition: CDCGeometry.h:226
double getRotY() const
Get the rotation angle w.r.t y-axis of the rib2.
Definition: CDCGeometry.h:208
double getY() const
Get the y-position of the rib2.
Definition: CDCGeometry.h:222
double getThick() const
Get the thickness of the rib2.
Definition: CDCGeometry.h:188
double m_length
length of the rib2.
Definition: CDCGeometry.h:236
double m_z
the z-position of the rib2.
Definition: CDCGeometry.h:246
double m_rotz
rotation angle w.r.t.
Definition: CDCGeometry.h:243
double getRotZ() const
Get the rotation angle w.r.t z-axis of the rib2.
Definition: CDCGeometry.h:213
double m_y
the y-position of the rib2.
Definition: CDCGeometry.h:245
int getNDiv() const
Get number of division of the rib2.
Definition: CDCGeometry.h:231
double getLength() const
Get the length of the rib2.
Definition: CDCGeometry.h:178
Rib3 structure geometry parameters.
Definition: CDCGeometry.h:257
int getOffset() const
Get number of division of the rib3.
Definition: CDCGeometry.h:339
double getWidth() const
Get the width of the rib3.
Definition: CDCGeometry.h:298
double getRy() const
Get the y-position of the rib3.
Definition: CDCGeometry.h:330
Rib3(int id, double length, double width, double thick, double r, double x, double y, double z, double rx, double ry, double rz, int offset, int ndiv)
Constructor.
Definition: CDCGeometry.h:269
double getX() const
Get the x-position of the rib3.
Definition: CDCGeometry.h:313
int m_ndiv
Number of division.
Definition: CDCGeometry.h:360
int getId() const
Get the rib3 Id.
Definition: CDCGeometry.h:287
double m_ry
the y-position of the rib3.
Definition: CDCGeometry.h:357
double m_width
width of the rib3.
Definition: CDCGeometry.h:350
double getR() const
Get the width of the rib3.
Definition: CDCGeometry.h:308
double getRx() const
Get the x-position of the rib3.
Definition: CDCGeometry.h:326
double m_x
the y-position of the rib3.
Definition: CDCGeometry.h:353
double m_thick
thickness of the rib3.
Definition: CDCGeometry.h:351
double getRz() const
Get the z-position of the rib3.
Definition: CDCGeometry.h:334
double getZ() const
Get the z-position of the rib3.
Definition: CDCGeometry.h:321
int m_offset
Number of division.
Definition: CDCGeometry.h:359
double getY() const
Get the y-position of the rib3.
Definition: CDCGeometry.h:317
double getThick() const
Get the thickness of the rib3.
Definition: CDCGeometry.h:303
double m_length
length of the rib3.
Definition: CDCGeometry.h:349
double m_z
the z-position of the rib3.
Definition: CDCGeometry.h:355
double m_rz
the z-position of the rib3.
Definition: CDCGeometry.h:358
double m_y
the y-position of the rib3.
Definition: CDCGeometry.h:354
double m_r
width of the rib3.
Definition: CDCGeometry.h:352
int getNDiv() const
Get number of division of the rib3.
Definition: CDCGeometry.h:344
double m_rx
the y-position of the rib3.
Definition: CDCGeometry.h:356
double getLength() const
Get the length of the rib3.
Definition: CDCGeometry.h:293
ClassDef(Rib3, 1)
Makes objects storable.
Rib4 structure geometry parameters.
Definition: CDCGeometry.h:370
int getOffset() const
Get number of division of the rib4.
Definition: CDCGeometry.h:464
double getWidth() const
Get the width of the rib4.
Definition: CDCGeometry.h:413
double getLength2() const
Get the length of the rib4.
Definition: CDCGeometry.h:423
double getThick2() const
Get the thickness of the rib4.
Definition: CDCGeometry.h:433
double getY2() const
Get the y-position of the rib4.
Definition: CDCGeometry.h:455
double m_x2
the y-position of the rib4.
Definition: CDCGeometry.h:483
double getX() const
Get the x-position of the rib4.
Definition: CDCGeometry.h:438
int m_ndiv
Number of division.
Definition: CDCGeometry.h:487
int getId() const
Get the rib4 Id.
Definition: CDCGeometry.h:402
double m_width2
width of the rib4.
Definition: CDCGeometry.h:478
double m_width
width of the rib4.
Definition: CDCGeometry.h:475
double m_thick2
thickness of the rib4.
Definition: CDCGeometry.h:479
double m_x
the y-position of the rib4.
Definition: CDCGeometry.h:480
double m_thick
thickness of the rib4.
Definition: CDCGeometry.h:476
double getX2() const
Get the x-position of the rib4.
Definition: CDCGeometry.h:451
double m_y2
the y-position of the rib4.
Definition: CDCGeometry.h:484
Rib4(int id, double length, double width, double thick, double length2, double width2, double thick2, double x, double y, double z, double x2, double y2, double z2, int offset, int ndiv)
Constructor.
Definition: CDCGeometry.h:382
double getWidth2() const
Get the width of the rib4.
Definition: CDCGeometry.h:428
double getZ() const
Get the z-position of the rib4.
Definition: CDCGeometry.h:446
int m_offset
Number of division.
Definition: CDCGeometry.h:486
double getY() const
Get the y-position of the rib4.
Definition: CDCGeometry.h:442
double getThick() const
Get the thickness of the rib4.
Definition: CDCGeometry.h:418
double m_length
length of the rib4.
Definition: CDCGeometry.h:474
double m_z2
the z-position of the rib4.
Definition: CDCGeometry.h:485
double getZ2() const
Get the z-position of the rib4.
Definition: CDCGeometry.h:459
double m_z
the z-position of the rib4.
Definition: CDCGeometry.h:482
double m_y
the y-position of the rib4.
Definition: CDCGeometry.h:481
double m_length2
length of the rib4.
Definition: CDCGeometry.h:477
int getNDiv() const
Get number of division of the rib4.
Definition: CDCGeometry.h:469
double getLength() const
Get the length of the rib4.
Definition: CDCGeometry.h:408
ClassDef(Rib4, 1)
Makes objects storable.
Rib5 structure geometry parameters.
Definition: CDCGeometry.h:497
int getOffset() const
Get number of division of the rib5.
Definition: CDCGeometry.h:584
double getWidth() const
Get the width of the rib5.
Definition: CDCGeometry.h:543
Rib5(int id, double dr, double dz, double width, double thick, double rin, double x, double y, double z, double rotx, double roty, double rotz, int offset, int ndiv)
Constructor.
Definition: CDCGeometry.h:509
double m_rotx
the y-position of the rib5.
Definition: CDCGeometry.h:602
double m_rin
length of the rib5.
Definition: CDCGeometry.h:598
double getX() const
Get the x-position of the rib5.
Definition: CDCGeometry.h:558
double m_roty
the y-position of the rib5.
Definition: CDCGeometry.h:603
int m_ndiv
Number of division.
Definition: CDCGeometry.h:606
int getId() const
Get the rib5 Id.
Definition: CDCGeometry.h:527
double m_dz
length of the rib5.
Definition: CDCGeometry.h:595
double m_width
width of the rib5.
Definition: CDCGeometry.h:596
double m_x
the y-position of the rib5.
Definition: CDCGeometry.h:599
double m_thick
thickness of the rib5.
Definition: CDCGeometry.h:597
double m_dr
length of the rib5.
Definition: CDCGeometry.h:594
double getZ() const
Get the z-position of the rib5.
Definition: CDCGeometry.h:566
int m_offset
Number of division.
Definition: CDCGeometry.h:605
double getRotz() const
Get the z-position of the rib5.
Definition: CDCGeometry.h:579
double getY() const
Get the y-position of the rib5.
Definition: CDCGeometry.h:562
double getThick() const
Get the thickness of the rib5.
Definition: CDCGeometry.h:548
double getRin() const
Get the length of the rib5.
Definition: CDCGeometry.h:553
double getDz() const
Get the length of the rib5.
Definition: CDCGeometry.h:538
double m_z
the z-position of the rib5.
Definition: CDCGeometry.h:601
double getRotx() const
Get the x-position of the rib5.
Definition: CDCGeometry.h:571
double m_rotz
the z-position of the rib5.
Definition: CDCGeometry.h:604
double m_y
the y-position of the rib5.
Definition: CDCGeometry.h:600
ClassDef(Rib5, 1)
Makes objects storable.
double getRoty() const
Get the y-position of the rib5.
Definition: CDCGeometry.h:575
int getNDiv() const
Get number of division of the rib5.
Definition: CDCGeometry.h:589
double getDr() const
Get the length of the rib5.
Definition: CDCGeometry.h:533
Rib structure geometry parameters.
Definition: CDCGeometry.h:35
int getOffset() const
Get number of division of the rib.
Definition: CDCGeometry.h:112
double getWidth() const
Get the width of the rib.
Definition: CDCGeometry.h:76
double m_rotx
the y-position of the rib.
Definition: CDCGeometry.h:124
double getX() const
Get the x-position of the rib.
Definition: CDCGeometry.h:99
double m_roty
the y-position of the rib.
Definition: CDCGeometry.h:125
int m_ndiv
Number of division.
Definition: CDCGeometry.h:131
double getRotX() const
Get the x-position of the rib.
Definition: CDCGeometry.h:86
int getId() const
Get the rib Id.
Definition: CDCGeometry.h:65
double m_width
width of the rib.
Definition: CDCGeometry.h:122
Rib(int id, double length, double width, double thick, double rotx, double roty, double rotz, double x, double y, double z, int offset, int ndiv)
Constructor.
Definition: CDCGeometry.h:47
double m_x
the y-position of the rib.
Definition: CDCGeometry.h:127
double m_thick
thickness of the rib.
Definition: CDCGeometry.h:123
ClassDef(Rib, 2)
Makes objects storable.
double getZ() const
Get the z-position of the rib.
Definition: CDCGeometry.h:107
int m_offset
Number of division.
Definition: CDCGeometry.h:130
double getRotY() const
Get the y-position of the rib.
Definition: CDCGeometry.h:90
double getY() const
Get the y-position of the rib.
Definition: CDCGeometry.h:103
double getThick() const
Get the thickness of the rib.
Definition: CDCGeometry.h:81
double m_length
length of the rib.
Definition: CDCGeometry.h:121
double m_z
the z-position of the rib.
Definition: CDCGeometry.h:129
double m_rotz
the z-position of the rib.
Definition: CDCGeometry.h:126
double getRotZ() const
Get the z-position of the rib.
Definition: CDCGeometry.h:94
double m_y
the y-position of the rib.
Definition: CDCGeometry.h:128
int getNDiv() const
Get number of division of the rib.
Definition: CDCGeometry.h:116
double getLength() const
Get the length of the rib.
Definition: CDCGeometry.h:71
Sense layer geometry parameters.
Definition: CDCGeometry.h:959
int getNShifts() const
Get Nshifts.
Definition: CDCGeometry.h:1048
void setOffset(double offset)
Set offset.
Definition: CDCGeometry.h:1033
double getDZfwd() const
Get fwd dz.
Definition: CDCGeometry.h:1018
void setDZfwd(double dz)
Set fwd dz.
Definition: CDCGeometry.h:1013
void setNWires(int n)
Set number of wires.
Definition: CDCGeometry.h:1053
double getDZbwd() const
Get bwd dz.
Definition: CDCGeometry.h:1028
SenseLayer()
Default constructor.
Definition: CDCGeometry.h:966
SenseLayer(int id, double r, double zfwd, double zbwd, double dZfwd, double dZbwd, double offset, int nWires, double nShifts)
Constructor.
Definition: CDCGeometry.h:972
void setDZbwd(double dz)
Set bwd dz.
Definition: CDCGeometry.h:1023
int getNWires() const
Get number of wires.
Definition: CDCGeometry.h:1058
void setNShifts(int n)
Set Nshifts.
Definition: CDCGeometry.h:1043
double getR() const
Get Radius.
Definition: CDCGeometry.h:998
double getZbwd() const
Get bwd z-position.
Definition: CDCGeometry.h:1008
int m_nWires
Number of wires.
Definition: CDCGeometry.h:1070
double getOffset() const
Get offset.
Definition: CDCGeometry.h:1038
ClassDef(SenseLayer, 1)
Makes objects storable.
double getZfwd() const
Get fwd z-position.
Definition: CDCGeometry.h:1003
The Class for CDC geometry.
Definition: CDCGeometry.h:27
double getGlobalOffsetY() const
Get the global y offset of CDC wrt Belle2 coord.
Definition: CDCGeometry.h:1438
FieldLayer getFieldLayer(int i) const
Get the i-th field layer.
Definition: CDCGeometry.h:1553
double m_globalOffsetB
Offset angle b of the whole cdc wrt B2 coord system (rad).
Definition: CDCGeometry.h:1671
OuterWall getOuterWall(int i) const
Get the i-th outer wall.
Definition: CDCGeometry.h:1483
ushort m_maxNSuperLayers
Maximum number of Super Layers.
Definition: CDCGeometry.h:1702
std::vector< Rib2 > getRib2s() const
Get the list of rib2s.
Definition: CDCGeometry.h:1589
double getFiducialRmin() const
Get the fiducial Rmin of CDC sensitive volume.
Definition: CDCGeometry.h:1463
MotherVolume m_mother
CDC mother volume.
Definition: CDCGeometry.h:1675
double m_globalPhiRotation
Global rotation in phi (rad).
Definition: CDCGeometry.h:1666
std::vector< Rib > getRibs() const
Get the list of ribs.
Definition: CDCGeometry.h:1584
int m_senseWireNumbers
Number of sense wires.
Definition: CDCGeometry.h:1692
std::vector< Rib5 > m_rib5s
Rib5s.
Definition: CDCGeometry.h:1689
double getGlobalOffsetX() const
Get the global x offset of CDC wrt Belle2 coord.
Definition: CDCGeometry.h:1433
double m_globalOffsetZ
Offset z of the whole cdc wrt B2 coord system (cm).
Definition: CDCGeometry.h:1669
int m_fieldWireNumbers
Number of field wires.
Definition: CDCGeometry.h:1695
std::vector< InnerWall > getInnerWalls() const
Get the list of inner walls.
Definition: CDCGeometry.h:1488
ushort getOffsetOfFirstLayer() const
Get the offset of the first layer.
Definition: CDCGeometry.h:1651
~CDCGeometry()
Destructor.
Definition: CDCGeometry.cc:30
std::vector< Rib5 > getRib5s() const
Get the list of rib5s.
Definition: CDCGeometry.h:1604
std::vector< FieldLayer > getFieldLayers() const
Get the list of field layers.
Definition: CDCGeometry.h:1558
double getFiducialRmax() const
Get the fiducial Rmax of CDC sensitive volume.
Definition: CDCGeometry.h:1468
std::vector< NeutronShield > m_neutronShields
Neutron shields.
Definition: CDCGeometry.h:1682
double getClockFrequency() const
Get the clock frequency.
Definition: CDCGeometry.h:1625
ushort getMaxNumberOfSuperLayers() const
Get the maximum number of super layers.
Definition: CDCGeometry.h:1646
ClassDef(CDCGeometry, 5)
ClassDef, must be the last term before the closing {}.
double m_globalOffsetX
Offset x of the whole cdc wrt B2 coord system (cm).
Definition: CDCGeometry.h:1667
int getNFieldWires() const
Get the number of field wires.
Definition: CDCGeometry.h:1615
std::vector< Rib3 > getRib3s() const
Get the list of rib3s.
Definition: CDCGeometry.h:1594
std::vector< Cover2 > getCover2s() const
Get the list of covers.
Definition: CDCGeometry.h:1579
int getNFrontends() const
Get the number of frontend layers.
Definition: CDCGeometry.h:1513
CDCGeometry()
Default constructor.
Definition: CDCGeometry.h:1408
MotherVolume getMotherVolume() const
Get the mother volume geometry of CDC.
Definition: CDCGeometry.h:1473
double m_feedThroughLength
Feedthrough length (cm).
Definition: CDCGeometry.h:1696
int getNSenseWires() const
Get the number of sense wires.
Definition: CDCGeometry.h:1548
double getSenseDiameter() const
Get the diameter of sense wire.
Definition: CDCGeometry.h:1538
ushort m_maxNSenseLayers
Maximum number of Sense Wire Layers.
Definition: CDCGeometry.h:1700
std::vector< Cover2 > m_cover2s
Cover2s.
Definition: CDCGeometry.h:1684
double m_senseWireDiameter
Sense wire diameter (cm).
Definition: CDCGeometry.h:1691
double getGlobalOffsetB() const
Get the global offset angle b of CDC wrt Belle2 coord.
Definition: CDCGeometry.h:1453
std::vector< Frontend > getFrontends() const
Get the list of frontend layers.
Definition: CDCGeometry.h:1518
double getGlobalOffsetA() const
Get the global offset angle a of CDC wrt Belle2 coord.
Definition: CDCGeometry.h:1448
double m_clockFrequency
Clock frequency.
Definition: CDCGeometry.h:1697
InnerWall getInnerWall(int i) const
Get the i-th inner wall.
Definition: CDCGeometry.h:1493
double getFieldDiameter() const
Get the diameter of field wire.
Definition: CDCGeometry.h:1610
std::vector< Cover > m_covers
Covers.
Definition: CDCGeometry.h:1683
ushort getMaxNumberOfCellsPerLayer() const
Get the maximum number of cells in one layer.
Definition: CDCGeometry.h:1661
EndPlate getEndPlate(int i) const
Get the i-th endplate.
Definition: CDCGeometry.h:1503
double m_globalOffsetY
Offset y of the whole cdc wrt B2 coord system (cm).
Definition: CDCGeometry.h:1668
std::vector< EndPlate > m_endplates
Endplate.
Definition: CDCGeometry.h:1680
ushort m_firstSuperLayerOffset
Offset of the first super layer (for reduced CDC studies)
Definition: CDCGeometry.h:1704
ushort getNumberOfSenseLayers() const
Get the number of sense layers.
Definition: CDCGeometry.h:1636
std::vector< InnerWall > m_innerWalls
Inner wall.
Definition: CDCGeometry.h:1678
int getNFieldLayers() const
Get the number of field layers.
Definition: CDCGeometry.h:1563
double getGlobalPhiRotation() const
Get the global phi rotation of CDC.
Definition: CDCGeometry.h:1428
double getGlobalOffsetC() const
Get the global offset angle c of CDC wrt Belle2 coord.
Definition: CDCGeometry.h:1458
std::vector< Rib4 > getRib4s() const
Get the list of rib4s.
Definition: CDCGeometry.h:1599
double m_fiducialRmin
Minimum radius of the CDC fiducial volume.
Definition: CDCGeometry.h:1673
double m_fieldWireDiameter
Field wire diameter (cm).
Definition: CDCGeometry.h:1694
std::vector< OuterWall > m_outerWalls
Outer wall.
Definition: CDCGeometry.h:1679
std::vector< NeutronShield > getNeutronShields() const
Get the list of neutron shields.
Definition: CDCGeometry.h:1569
std::vector< Frontend > m_frontends
Electronics board.
Definition: CDCGeometry.h:1681
double m_globalOffsetC
Offset angle c of the whole cdc wrt B2 coord system (rad).
Definition: CDCGeometry.h:1672
std::vector< SenseLayer > m_senseLayers
Sense layer.
Definition: CDCGeometry.h:1676
int getNSenseLayers() const
Get the number of sense layers.
Definition: CDCGeometry.h:1533
std::vector< EndPlate > getEndPlates() const
Get the list of endplates.
Definition: CDCGeometry.h:1508
double getFeedthroughLength() const
Get the length of feedthrough.
Definition: CDCGeometry.h:1620
double m_fiducialRmax
Maximum radius of the CDC fiducial volume.
Definition: CDCGeometry.h:1674
double getSenseTension() const
Get the tension applied to sense wire.
Definition: CDCGeometry.h:1543
std::vector< SenseLayer > getSenseLayers() const
Get the list of sense layers.
Definition: CDCGeometry.h:1528
std::vector< FieldLayer > m_fieldLayers
Field layer.
Definition: CDCGeometry.h:1677
ushort m_maxNCellsPerLayer
Maximum number wires within a layer.
Definition: CDCGeometry.h:1705
std::vector< Rib > m_ribs
Ribs.
Definition: CDCGeometry.h:1685
ushort getNumberOfFieldLayers() const
Get the number of field layers.
Definition: CDCGeometry.h:1641
ushort m_maxNFieldLayers
Maximum number of Field Wire Layers.
Definition: CDCGeometry.h:1701
void read(const GearDir &)
Get geometry parameters from Gearbox.
Definition: CDCGeometry.cc:34
int getNEndplates() const
Get the number of endplates.
Definition: CDCGeometry.h:1498
std::vector< Rib4 > m_rib4s
Rib4s.
Definition: CDCGeometry.h:1688
double getGlobalOffsetZ() const
Get the global z offset of CDC wrt Belle2 coord.
Definition: CDCGeometry.h:1443
double m_globalOffsetA
Offset angle a of the whole cdc wrt B2 coord system (rad).
Definition: CDCGeometry.h:1670
ushort m_firstLayerOffset
Offset of the first layer (for reduced CDC studies)
Definition: CDCGeometry.h:1703
ushort getOffsetOfFirstSuperLayer() const
Get the offset of the first super layer.
Definition: CDCGeometry.h:1656
std::vector< OuterWall > getOuterWalls() const
Get the list of outer walls.
Definition: CDCGeometry.h:1478
std::vector< Cover > getCovers() const
Get the list of covers.
Definition: CDCGeometry.h:1574
SenseLayer getSenseLayer(int i) const
Get i-th sense layer.
Definition: CDCGeometry.h:1523
double m_nominalSpaceResolution
Nominal space resolution.
Definition: CDCGeometry.h:1698
double getNominalSpaceResolution() const
Get the nominal space resolution.
Definition: CDCGeometry.h:1630
double m_senseWireTension
Sense wire tension (gW).
Definition: CDCGeometry.h:1693
std::vector< Rib2 > m_rib2s
Rib2s.
Definition: CDCGeometry.h:1686
std::vector< Rib3 > m_rib3s
Rib3s.
Definition: CDCGeometry.h:1687
GearDir is the basic class used for accessing the parameter store.
Definition: GearDir.h:31
Abstract base class for different kinds of events.