Belle II Software  release-08-01-10
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 
15 namespace 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;
130  int m_offset;
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;
359  int m_offset;
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;
486  int m_offset;
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;
605  int m_offset;
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 
639  ~Cover() {}
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 
701  Cover2() {}
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 
717  ~Cover2() {}
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 
857  Frontend() {}
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 
972  SenseLayer(int id,
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;
1070  int m_nWires;
1071  double m_nShifts;
1075  };
1076 
1080  class FieldLayer : public TObject {
1081 
1082  public:
1083 
1088 
1092  FieldLayer(int id,
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;
1338  int m_layer;
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 
1392  EndPlateLayer getEndPlateLayer(int i) const {return m_endPlateLayers.at(i);}
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 
1428  double getGlobalPhiRotation() const { return m_globalPhiRotation;}
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 
1636  ushort getNumberOfSenseLayers() const { return m_maxNSenseLayers;}
1637 
1641  ushort getNumberOfFieldLayers() const { return m_maxNFieldLayers;}
1642 
1647 
1651  ushort getOffsetOfFirstLayer() const { return m_firstLayerOffset;}
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;
1692  int m_senseWireNumbers = 14336;
1693  double m_senseWireTension = 50.0;
1694  double m_fieldWireDiameter = 0.0126;
1695  int m_fieldWireNumbers = 42240;
1696  double m_feedThroughLength = 1.5;
1700  ushort m_maxNSenseLayers = 56;
1701  ushort m_maxNFieldLayers = 55;
1702  ushort m_maxNSuperLayers = 9;
1703  ushort m_firstLayerOffset = 0;
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 > getEndPlateLayers() const
Get the list of endplate layers.
Definition: CDCGeometry.h:1396
std::vector< EndPlateLayer > m_endPlateLayers
Endplate layers.
Definition: CDCGeometry.h:1399
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 > getRmin() const
Get the list of the Rmin corrdinates.
Definition: CDCGeometry.h:936
std::vector< double > getZ() const
Get the list of the z corrdinates.
Definition: CDCGeometry.h:944
std::vector< double > m_z
Z-cordinates list of the mother volume.
Definition: CDCGeometry.h:950
std::vector< double > getRmax() const
Get the list of the Rmax corrdinates.
Definition: CDCGeometry.h:940
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
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
std::vector< SenseLayer > getSenseLayers() const
Get the list of sense layers.
Definition: CDCGeometry.h:1528
std::vector< InnerWall > getInnerWalls() const
Get the list of inner walls.
Definition: CDCGeometry.h:1488
double m_globalOffsetB
Offset angle b of the whole cdc wrt B2 coord system (rad).
Definition: CDCGeometry.h:1671
std::vector< Rib2 > getRib2s() const
Get the list of rib2s.
Definition: CDCGeometry.h:1589
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
double getFiducialRmin() const
Get the fiducial Rmin of CDC sensitive volume.
Definition: CDCGeometry.h:1463
std::vector< NeutronShield > getNeutronShields() const
Get the list of neutron shields.
Definition: CDCGeometry.h:1569
MotherVolume m_mother
CDC mother volume.
Definition: CDCGeometry.h:1675
double m_globalPhiRotation
Global rotation in phi (rad).
Definition: CDCGeometry.h:1666
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
ushort getOffsetOfFirstLayer() const
Get the offset of the first layer.
Definition: CDCGeometry.h:1651
~CDCGeometry()
Destructor.
Definition: CDCGeometry.cc:30
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
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< Rib5 > getRib5s() const
Get the list of rib5s.
Definition: CDCGeometry.h:1604
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< FieldLayer > getFieldLayers() const
Get the list of field layers.
Definition: CDCGeometry.h:1558
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
std::vector< Rib > getRibs() const
Get the list of ribs.
Definition: CDCGeometry.h:1584
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
std::vector< EndPlate > getEndPlates() const
Get the list of endplates.
Definition: CDCGeometry.h:1508
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
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< Cover2 > getCover2s() const
Get the list of covers.
Definition: CDCGeometry.h:1579
std::vector< Frontend > getFrontends() const
Get the list of frontend layers.
Definition: CDCGeometry.h:1518
std::vector< OuterWall > m_outerWalls
Outer wall.
Definition: CDCGeometry.h:1679
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
std::vector< Cover > getCovers() const
Get the list of covers.
Definition: CDCGeometry.h:1574
int getNSenseLayers() const
Get the number of sense layers.
Definition: CDCGeometry.h:1533
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< 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
std::vector< Rib3 > getRib3s() const
Get the list of rib3s.
Definition: CDCGeometry.h:1594
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
std::vector< Rib4 > getRib4s() const
Get the list of rib4s.
Definition: CDCGeometry.h:1599
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
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< OuterWall > getOuterWalls() const
Get the list of outer walls.
Definition: CDCGeometry.h:1478
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.