Belle II Software  release-05-02-19
CDCGeometryPar.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2012 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Guofu Cao, Martin Heck *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #ifndef CDCGEOMETRYPAR_H
12 #define CDCGEOMETRYPAR_H
13 
14 #include <framework/gearbox/GearDir.h>
15 #include <framework/database/DBArray.h>
16 #include <framework/database/DBObjPtr.h>
17 
18 #include <cdc/dataobjects/WireID.h>
19 #include <cdc/dbobjects/CDCTimeZeros.h>
20 #include <cdc/dbobjects/CDCBadWires.h>
21 #include <cdc/dbobjects/CDCPropSpeeds.h>
22 #include <cdc/dbobjects/CDCTimeWalks.h>
23 #include <cdc/dbobjects/CDCXtRelations.h>
24 #include <cdc/dbobjects/CDCSpaceResols.h>
25 #include <cdc/dbobjects/CDCFudgeFactorsForSigma.h>
26 #include <cdc/dbobjects/CDCChannelMap.h>
27 #include <cdc/dbobjects/CDCDisplacement.h>
28 #include <cdc/dbobjects/CDCAlignment.h>
29 #include <cdc/dbobjects/CDCMisalignment.h>
30 #include <cdc/dbobjects/CDCGeometry.h>
31 #include <cdc/dbobjects/CDCEDepToADCConversions.h>
32 
33 #include <vector>
34 #include <string>
35 #include <map>
36 //#include <fstream>
37 
38 #include "TVector3.h"
39 
40 const unsigned MAX_N_SLAYERS = 56;
41 const unsigned MAX_N_SCELLS = 384;
42 const unsigned MAX_N_FLAYERS = 55;
43 const unsigned nSenseWires = 14336;
44 const unsigned nSuperLayers = 9;
45 const unsigned nBoards = 300;
46 //const unsigned nAlphaPoints = 19;
47 const unsigned maxNAlphaPoints = 18;
48 const unsigned maxNThetaPoints = 7;
49 const unsigned nXTParams = 9; //#fit params + 1
50 const unsigned nSigmaParams = 9; //7 is used now; 2 for spare
51 
52 namespace Belle2 {
57  namespace CDC {
58  /*
59  const unsigned MAX_N_SLAYERS = 56;
60  const unsigned MAX_N_SCELLS = 384;
61  const unsigned MAX_N_FLAYERS = 55;
62  const unsigned nSenseWires = 14336;
63  const unsigned nSuperLayers = 9;
64  const unsigned nBoards = 300;
65  const unsigned maxNAlphaPoints = 18;
66  const unsigned maxNThetaPoints = 7;
67  const unsigned nXTParams = 9; //#fit params + 1
68  const unsigned nSigmaParams = 9; //7 is used now; 2 for spare
69  */
70 
72 
76 
77  public:
78 
80  enum EWirePosition {c_Base = 0, c_Misaligned, c_Aligned};
81 
83  virtual ~CDCGeometryPar();
84 
86 
89  static CDCGeometryPar& Instance(const CDCGeometry* = nullptr);
90 
92  void clear();
93 
95  void Print() const;
96 
98  void readFromDB(const CDCGeometry&);
99 
100  // /**
101  // * Read z-corrections.
102  // * @param GearDir Gear Dir.
103  // */
104  // void readDeltaz(const GearDir);
105  //
106  // /**
107  // * Read z-corrections from DB.
108  // *
109  // */
110  // void readDeltaz(const CDCGeometry&);
111 
112  // /**
113  // * Open a file
114  // * @param[in] ifs input file-stream
115  // * @param[in] fileName0 file-name on cdc/data directory
116  // */
117  // void openFile(std::ifstream& ifs, const std::string& fileName0) const;
118 
124  // void readWirePositionParams(EWirePosition set, const CDCGeometry*, const GearDir);
126 
130  void setWirPosAlignParams();
131 
136 
142  void readXT(const GearDir, int mode = 0);
143 
149  void newReadXT(const GearDir, int mode = 0);
150 
154  void setXT();
155 
159  void setXtRel();
160 
166  void readSigma(const GearDir, int mode = 0);
167 
173  void newReadSigma(const GearDir, int mode = 0);
174 
180  void readFFactor(const GearDir, int mode = 0);
181 
185  void setSResol();
186 
190  void setFFactor();
191 
197  void readPropSpeed(const GearDir, int mode = 0);
198 
202  void setPropSpeed();
203 
209  void readT0(const GearDir, int mode = 0);
210 
214  void setT0();
215 
219  void calcMeanT0();
220 
221  // /**
222  // * Read bad-wires (from a file).
223  // * @param GearDir Gear Dir.
224  // * @param mode 0: read simulation file, 1: read reconstruction file.
225  // */
226  // void readBadWire(const GearDir, int mode = 0);
227 
231  void setBadWire();
232 
236  // void readChMap(const GearDir);
237  void readChMap();
238 
242  void setChMap();
243 
249  void readTW(const GearDir, int mode = 0);
250 
256  void readEDepToADC(const GearDir, int mode = 0);
257 
261  void setTW();
262 
265 
273  double getEDepToADCConvFactor(unsigned short layer, unsigned short cell, double edep, double dx, double costh);
274 
275 
280  double getEDepToADCMainFactor(unsigned short layer, unsigned short cell)
281  {
282  return m_eDepToADCParams[layer][cell][0];
283  };
284 
286 
289  void generateXML(const std::string& of);
290 
292 
295  std::string version() const;
296 
298 
301  double motherInnerR() const;
302 
304 
307  double motherOuterR() const;
308 
310 
313  double motherLength() const;
314 
316 
319  int momBound() const;
320 
322 
326  double momZ(int iBound) const;
327 
329 
333  double momRmin(int iBound) const;
334 
336 
341  unsigned cellId(unsigned layerId, const TVector3& position) const;
342 
344 
347  double innerRadiusOuterWall() const;
348 
350 
353  double outerRadiusOuterWall() const;
354 
356 
359  double zOuterWall() const;
360 
362 
365  double zOffsetOuterWall() const;
366 
368 
371  double innerRadiusInnerWall() const;
372 
374 
377  double outerRadiusInnerWall() const;
378 
380 
383  double zInnerWall() const;
384 
386 
389  double zOffsetInnerWall() const;
390 
392 
395  double senseWireDiameter() const;
396 
398 
401  double fieldWireDiameter() const;
402 
404 
407  unsigned nWireLayers() const;
408 
410 
414  unsigned nWiresInLayer(int layerId) const;
415 
417 
420  const double* innerRadiusWireLayer() const;
421 
423 
426  const double* outerRadiusWireLayer() const;
427 
429 
432  const double* zForwardWireLayer() const;
433 
435 
438  const double* zBackwardWireLayer() const;
439 
441 
445  double zOffsetWireLayer(unsigned i) const;
446 
448 
451  double getMeanT0() const;
452 
454 
460  const TVector3 wireForwardPosition(int layerId, int cellId, EWirePosition set = c_Base) const;
461 
463  const TVector3 wireForwardPosition(const WireID& wireID, EWirePosition set = c_Base) const
464  {
465  return wireForwardPosition(wireID.getICLayer(), wireID.getIWire(), set);
466  }
467 
469 
476  const TVector3 wireForwardPosition(int layerId, int cellId, double z, EWirePosition set = c_Base) const;
478  const TVector3 wireForwardPosition(const WireID& wireID, double z,
479  EWirePosition set = c_Base) const
480  {
481  return wireForwardPosition(wireID.getICLayer(), wireID.getIWire(), z, set);
482  }
483 
485 
491  const TVector3 wireBackwardPosition(int layerId, int cellId, EWirePosition set = c_Base) const;
492 
494  const TVector3 wireBackwardPosition(const WireID& wireID, EWirePosition set = c_Base) const
495  {
496  return wireBackwardPosition(wireID.getICLayer(), wireID.getIWire(), set);
497  }
498 
500 
507  const TVector3 wireBackwardPosition(int layerId, int cellId, double z, EWirePosition set = c_Base) const;
509  const TVector3 wireBackwardPosition(const WireID& wireID, double z, EWirePosition set = c_Base) const
510  {
511  return wireBackwardPosition(wireID.getICLayer(), wireID.getIWire(), z, set);
512  }
513 
515 
521  double getWireSagCoef(EWirePosition set, int layerId, int cellId) const;
522 
523 
525 
529  {
531  }
532 
534 
537  double getMinTrackLength() const
538  {
539  return m_minTrackLength;
540  }
541 
543 
545  bool isWireSagOn() const
546  {
547  return m_wireSag;
548  }
549 
551 
554  {
555  return m_modLeftRightFlag;
556  }
557 
558 
560 
565  float getT0(const WireID& wireID) const
566  {
567  // std::cout << wireID.getICLayer() <<" "<< wireID.getIWire() << std::endl;
568  return m_t0[wireID.getICLayer()][wireID.getIWire()];
569  }
570 
572 
576  unsigned short getBoardID(const WireID& wID) const
577  {
578  std::map<WireID, unsigned short>::const_iterator it = m_wireToBoard.find(wID);
579  unsigned short iret = (it != m_wireToBoard.end()) ? it->second : -999;
580  return iret;
581  }
582 
584 
588  unsigned short getChannelID(const WireID& wID) const
589  {
590  std::map<WireID, unsigned short>::const_iterator it = m_wireToChannel.find(wID);
591  unsigned short iret = (it != m_wireToChannel.end()) ? it->second : -999;
592  return iret;
593  }
594 
596 
601  const WireID getWireID(unsigned short bd, unsigned short ch) const
602  {
603  return WireID(m_boardAndChannelToWire[bd][ch]);
604  }
605 
607 
612  double getTimeWalk(const WireID& wID, unsigned short adcCount) const
613  {
614  std::map<WireID, unsigned short>::const_iterator it = m_wireToBoard.find(wID);
615  // std::cout <<"SL,L,W, bd#= " << wID.getISuperLayer() <<" "<< wID.getILayer() <<" "<< wID.getIWire() <<" "<< it->second << std::endl;
616  double tw = 0.;
617  if (it != m_wireToBoard.end() && adcCount > 0) {
618  if (m_twParamMode == 0) {
619  tw = m_timeWalkCoef[it->second][0] / sqrt(adcCount);
620  } else if (m_twParamMode == 1) {
621  double p0 = m_timeWalkCoef[it->second][0];
622  double p1 = m_timeWalkCoef[it->second][1];
623  tw = p0 * exp(-p1 * adcCount);
624  }
625  }
626  // std::cout <<"bd#,coef,adc,tw= " << it->second <<" "<< m_timeWalkCoef[it->second] <<" "<< adcCount <<" "<< tw << std::endl;
627  return tw;
628  }
629 
631 
633  void setShiftInSuperLayer();
634 
636 
640  signed short getShiftInSuperLayer(unsigned short iSuperLayer, unsigned short iLayer) const;
641 
643 
647  double senseWireR(int layerId) const;
648 
650 
654  double senseWireFZ(int layerId) const;
655 
657 
661  double senseWireBZ(int layerId) const;
662 
664 
668  double fieldWireR(int layerId) const;
669 
671 
675  double fieldWireFZ(int layerId) const;
676 
678 
682  double fieldWireBZ(int layerId) const;
683 
685 
689  int nShifts(int layerId) const;
690 
696  double offset(int layerID) const;
697 
699 
703  void setSenseWireR(int layerId, double r);
704 
706 
710  void setSenseWireFZ(int layerId, double fz);
711 
713 
717  void setSenseWireBZ(int layerId, double bz);
718 
723  inline unsigned short getTdcOffset() const
724  {
725  return m_tdcOffset;
726  }
727 
732  inline double getTdcBinWidth() const
733  {
734  return m_tdcBinWidth;
735  }
736 
742  inline double getNominalDriftV() const
743  {
744  return m_nominalDriftV;
745  }
746 
752  inline double getNominalPropSpeed() const
753  {
754  return m_nominalPropSpeed;
755  }
756 
762  inline double getNominalSpaceResol() const
763  {
764  return m_nominalSpaceResol;
765  }
766 
777  inline int getMaterialDefinitionMode() const
778  {
780  }
781 
790  inline int getSenseWireZposMode() const
791  {
792  return m_senseWireZposMode;
793  }
794 
800  inline double getBwdDeltaZ(unsigned short layerID) const
801  {
802  return m_dzSBackwardLayer[layerID];
803  }
804 
810  inline double getFwdDeltaZ(unsigned short layerID) const
811  {
812  return m_dzSForwardLayer[layerID];
813  }
814 
821  inline void setNominalSpaceResol(double resol)
822  {
823  m_nominalSpaceResol = resol;
824  }
825 
832  inline double getPropSpeedInv(const unsigned int layerID) const
833  {
834  return m_propSpeedInv[layerID];
835  }
836 
840  inline bool isBadWire(const WireID& wid)
841  {
842  // std::map<unsigned short, float>::iterator it = m_badWire.find(wid.getEWire());
843  // bool torf = (it != m_badWire.end()) ? true : false;
844  // return torf;
845  bool torf = *m_badWireFromDB ? (*m_badWireFromDB)->isBadWire(wid) : false;
846  return torf;
847 
848  }
849 
853  inline bool isDeadWire(const WireID& wid, double& eff)
854  {
855  bool torf = *m_badWireFromDB ? (*m_badWireFromDB)->isDeadWire(wid, eff) : false;
856  return torf;
857  }
858 
862  inline bool isHotWire(const WireID& wid)
863  {
864  bool torf = *m_badWireFromDB ? (*m_badWireFromDB)->isHotWire(wid) : false;
865  return torf;
866  }
867 
881  void getWireSagEffect(EWirePosition set, unsigned layerID, unsigned cellID, double zw, double& ywb_sag, double& ywf_sag) const;
882 
893  double getDriftV(double dt, unsigned short layer, unsigned short lr, double alpha = 0., double theta = 0.5 * M_PI) const;
894 
906  double getDriftLength(double dt, unsigned short layer, unsigned short lr, double alpha = 0., double theta = 0.5 * M_PI,
907  bool calculateMinTime = true, double minTime = 0.) const;
908 
917  double getDriftLength0(double dt, unsigned short layer, unsigned short lr, double alpha = 0., double theta = 0.5 * M_PI) const;
918 
926  double getMinDriftTime(unsigned short layer, unsigned short lr, double alpha = 0., double theta = 0.5 * M_PI) const;
927 
937  double getDriftTime(double dist, unsigned short layer, unsigned short lr, double alpha, double theta) const;
938 
947  double getSigma(double dist, unsigned short layer, unsigned short lr, double alpha = 0., double theta = 0.5 * M_PI) const;
948 
953  double getFudgeFactorForSigma(unsigned short target) const
954  {
955  return m_fudgeFactorForSigma[target];
956  }
957 
964  unsigned short getOldLeftRight(const TVector3& posOnWire, const TVector3& posOnTrack, const TVector3& momentum) const;
965 
973  unsigned short getNewLeftRightRaw(const TVector3& posOnWire, const TVector3& posOnTrack, const TVector3& momentum) const;
974 
981  double getAlpha(const TVector3& posOnWire, const TVector3& momentum) const;
982 
987  double getTheta(const TVector3& momentum) const;
988 
989 
995  unsigned short getOutgoingLR(const unsigned short lr, const double alpha) const;
996 
997 
1002  double getOutgoingAlpha(const double alpha) const;
1003 
1004 
1009  double getOutgoingTheta(const double alpha, const double theta) const;
1010 
1011 
1016  void getClosestAlphaPoints(const double alpha, double& wal, unsigned short points[2], unsigned short lrs[2]) const;
1017 
1022  void getClosestAlphaPoints4Sgm(const double alpha, double& wal, unsigned short points[2], unsigned short lrs[2]) const;
1023 
1028  void getClosestThetaPoints(const double alpha, const double theta, double& wth, unsigned short points[2]) const;
1029 
1034  void getClosestThetaPoints4Sgm(const double alpha, const double theta, double& wth, unsigned short points[2]) const;
1035 
1041  void setDesignWirParam(unsigned layerID, unsigned cellID);
1042 
1048  void outputDesignWirParam(unsigned layerID, unsigned cellID) const;
1049 
1053  void setDisplacement();
1054 
1055  private:
1057  CDCGeometryPar(const CDCGeometry* = nullptr);
1062 
1063  bool m_debug;
1066  bool m_XTetc;
1072  bool m_wireSag;
1075  std::string m_version;
1085  unsigned short m_nAlphaPoints;
1086  unsigned short m_nThetaPoints;
1087  unsigned short m_nAlphaPoints4Sgm;
1088  unsigned short m_nThetaPoints4Sgm;
1089  signed short m_shiftInSuperLayer[nSuperLayers][8];
1091  double m_rWall[4];
1092  double m_zWall[4][2];
1094  double m_rSLayer[MAX_N_SLAYERS];
1095  double m_zSForwardLayer[MAX_N_SLAYERS];
1096  double m_dzSForwardLayer[MAX_N_SLAYERS];
1097  double m_zSBackwardLayer[MAX_N_SLAYERS];
1098  double m_dzSBackwardLayer[MAX_N_SLAYERS];
1099  double m_rFLayer[MAX_N_FLAYERS];
1100  double m_zFForwardLayer[MAX_N_FLAYERS];
1101  double m_zFBackwardLayer[MAX_N_FLAYERS];
1102  double m_offSet[MAX_N_SLAYERS];
1103  double m_cellSize[MAX_N_SLAYERS];
1104  int m_nShifts[MAX_N_SLAYERS];
1105  unsigned m_nWires[MAX_N_SLAYERS];
1114  double m_momZ[7];
1115  double m_momRmin[7];
1117  // double m_bwdDz[MAX_N_SLAYERS]; /*!< Tentative backward z-corrections.*/
1118  // double m_fwdDz[MAX_N_SLAYERS]; /*!< Tentative forward z-corrections.*/
1119 
1123  float m_FWirPos[MAX_N_SLAYERS][MAX_N_SCELLS][3];
1124  float m_BWirPos[MAX_N_SLAYERS][MAX_N_SCELLS][3];
1125  float m_WireSagCoef[MAX_N_SLAYERS][MAX_N_SCELLS];
1127  float m_FWirPosMisalign[MAX_N_SLAYERS][MAX_N_SCELLS][3];
1128  float m_BWirPosMisalign[MAX_N_SLAYERS][MAX_N_SCELLS][3];
1129  float m_WireSagCoefMisalign[MAX_N_SLAYERS][MAX_N_SCELLS];
1131  float m_FWirPosAlign[MAX_N_SLAYERS][MAX_N_SCELLS][3];
1132  float m_BWirPosAlign[MAX_N_SLAYERS][MAX_N_SCELLS][3];
1133  float m_WireSagCoefAlign[MAX_N_SLAYERS][MAX_N_SCELLS];
1134  float m_eDepToADCParams[MAX_N_SLAYERS][MAX_N_SCELLS][6] = {0};
1136  float m_alphaPoints[maxNAlphaPoints];
1137  float m_thetaPoints[maxNThetaPoints];
1138  float m_alphaPoints4Sgm[maxNAlphaPoints];
1139  float m_thetaPoints4Sgm[maxNThetaPoints];
1141  float m_XT[MAX_N_SLAYERS][2][maxNAlphaPoints][maxNThetaPoints][nXTParams];
1142  float m_Sigma[MAX_N_SLAYERS][2][maxNAlphaPoints][maxNThetaPoints][nSigmaParams];
1143  float m_propSpeedInv[MAX_N_SLAYERS];
1144  float m_t0[MAX_N_SLAYERS][MAX_N_SCELLS] = {0};
1145  float m_timeWalkCoef[nBoards][2];
1147  // float m_meanT0; /*!< mean t0 over all wires. */
1148  double m_meanT0;
1150  std::map<WireID, unsigned short> m_wireToBoard;
1151  std::map<WireID, unsigned short> m_wireToChannel;
1152  unsigned short m_boardAndChannelToWire[nBoards][48];
1154  // std::map<unsigned short, float> m_badWire; /*!< list of bad-wires. */
1155 
1156  unsigned short m_tdcOffset;
1158  double m_tdcBinWidth;
1181  };
1182 
1183 //-----------------------------------------------------------------------------
1184 // Inline functions
1185 //-----------------------------------------------------------------------------
1186  inline std::string CDCGeometryPar::version() const
1187  {
1188  return m_version;
1189  }
1190 
1191  inline double CDCGeometryPar::momZ(int iBound) const
1192  {
1193  return m_momZ[iBound];
1194  }
1195 
1196  inline double CDCGeometryPar::momRmin(int iBound) const
1197  {
1198  return m_momRmin[iBound];
1199  }
1200 
1201  inline int CDCGeometryPar::nShifts(int layerID) const
1202  {
1203  return m_nShifts[layerID];
1204  }
1205 
1206  inline double CDCGeometryPar::offset(int layerID) const
1207  {
1208  return m_offSet[layerID];
1209  }
1210 
1211  inline unsigned CDCGeometryPar::nWiresInLayer(int layerID) const
1212  {
1213  return m_nWires[layerID];
1214  }
1215 
1216  inline void CDCGeometryPar::setSenseWireR(int layerId, double r)
1217  {
1218  m_rSLayer[layerId] = r;
1219  }
1220 
1221  inline void CDCGeometryPar::setSenseWireFZ(int layerId, double fz)
1222  {
1223  m_zSForwardLayer[layerId] = fz;
1224  }
1225 
1226  inline void CDCGeometryPar::setSenseWireBZ(int layerId, double bz)
1227  {
1228  m_zSBackwardLayer[layerId] = bz;
1229  }
1230 
1231  inline double CDCGeometryPar::senseWireR(int layerID) const
1232  {
1233  return m_rSLayer[layerID];
1234  }
1235 
1236  inline double CDCGeometryPar::senseWireFZ(int layerID) const
1237  {
1238  return m_zSForwardLayer[layerID];
1239  }
1240 
1241  inline double CDCGeometryPar::senseWireBZ(int layerID) const
1242  {
1243  return m_zSBackwardLayer[layerID];
1244  }
1245 
1246  inline double CDCGeometryPar::fieldWireR(int layerID) const
1247  {
1248  return m_rFLayer[layerID];
1249  }
1250 
1251  inline double CDCGeometryPar::fieldWireFZ(int layerID) const
1252  {
1253  return m_zFForwardLayer[layerID];
1254  }
1255 
1256  inline double CDCGeometryPar::fieldWireBZ(int layerID) const
1257  {
1258  return m_zFBackwardLayer[layerID];
1259  }
1260 
1262  {
1263  return m_rWall[2];
1264  }
1265 
1267  {
1268  return m_rWall[3];
1269  }
1270 
1271  inline double CDCGeometryPar::zOuterWall() const
1272  {
1273  return (m_zWall[2][1] - m_zWall[2][0]);
1274  }
1275 
1277  {
1278  return m_rWall[0];
1279  }
1280 
1282  {
1283  return m_rWall[1];
1284  }
1285 
1286  inline double CDCGeometryPar::zInnerWall() const
1287  {
1288  return (m_zWall[0][1] - m_zWall[0][0]);
1289  }
1290 
1291  inline double CDCGeometryPar::zOffsetOuterWall() const
1292  {
1293  return (m_zWall[2][0] + zOuterWall() / 2);
1294  }
1295 
1296  inline double CDCGeometryPar::zOffsetInnerWall() const
1297  {
1298  return (m_zWall[0][0] + zInnerWall() / 2);
1299  }
1300 
1302  {
1303  return m_senseWireDiameter;
1304  }
1305 
1307  {
1308  return m_fieldWireDiameter;
1309  }
1310 
1311  inline unsigned CDCGeometryPar::nWireLayers() const
1312  {
1313  return MAX_N_SLAYERS;
1314  }
1315 
1316  inline const double* CDCGeometryPar::zForwardWireLayer() const
1317  {
1318  return m_zSForwardLayer;
1319  }
1320 
1321  inline const double* CDCGeometryPar::zBackwardWireLayer() const
1322  {
1323  return m_zSBackwardLayer;
1324  }
1325 
1326  inline double CDCGeometryPar::zOffsetWireLayer(unsigned i) const
1327  {
1328  return (m_zSBackwardLayer[i] + (m_zSForwardLayer[i] - m_zSBackwardLayer[i]) / 2);
1329  }
1330 
1331  inline double CDCGeometryPar::getMeanT0() const
1332  {
1333  return m_meanT0;
1334  }
1335 
1336  } // end of namespace CDC
1338 } // end of namespace Belle2
1339 
1340 #endif
Belle2::CDC::CDCGeometryPar::outerRadiusInnerWall
double outerRadiusInnerWall() const
Returns the outer radius of the inner wall.
Definition: CDCGeometryPar.h:1281
Belle2::CDC::CDCGeometryPar::m_BWirPosMisalign
float m_BWirPosMisalign[MAX_N_SLAYERS][MAX_N_SCELLS][3]
Wire position incl.
Definition: CDCGeometryPar.h:1128
Belle2::CDC::CDCGeometryPar::getChannelID
unsigned short getChannelID(const WireID &wID) const
Returns frontend channel id. corresponding to the wire id.
Definition: CDCGeometryPar.h:588
Belle2::CDC::CDCGeometryPar::m_zFBackwardLayer
double m_zFBackwardLayer[MAX_N_FLAYERS]
The array to store backward z position of field wire layers.
Definition: CDCGeometryPar.h:1101
Belle2::CDC::CDCGeometryPar::setShiftInSuperLayer
void setShiftInSuperLayer()
Calculates and saves shifts in super-layers (to be used in searching hits in neighboring cells)
Definition: CDCGeometryPar.cc:2854
Belle2::CDC::CDCGeometryPar::readXT
void readXT(const GearDir, int mode=0)
Read XT-relation table.
Definition: CDCGeometryPar.cc:737
Belle2::WireID
Class to identify a wire inside the CDC.
Definition: WireID.h:44
Belle2::CDC::CDCGeometryPar::m_xtFileFormat
int m_xtFileFormat
Format of xt input file.
Definition: CDCGeometryPar.h:1078
Belle2::CDC::CDCGeometryPar::motherOuterR
double motherOuterR() const
The method to get cdc mother volume outer R.
Belle2::CDC::CDCGeometryPar::getMinTrackLength
double getMinTrackLength() const
Returns the minimum track length required in one G4 step (only secondary particles which pass this cr...
Definition: CDCGeometryPar.h:537
Belle2::CDC::CDCGeometryPar::getPropSpeedInv
double getPropSpeedInv(const unsigned int layerID) const
Get the inversel of propagation speed in the sense wire.
Definition: CDCGeometryPar.h:832
Belle2::CDC::CDCGeometryPar::nWireLayers
unsigned nWireLayers() const
Returns a number of wire layers.
Definition: CDCGeometryPar.h:1311
Belle2::CDC::CDCGeometryPar::m_thresholdEnergyDeposit
double m_thresholdEnergyDeposit
Energy thresh.
Definition: CDCGeometryPar.h:1120
Belle2::CDC::CDCGeometryPar::m_senseWireTension
double m_senseWireTension
The tension of sense wires.
Definition: CDCGeometryPar.h:1108
Belle2::CDC::CDCGeometryPar::wireForwardPosition
const TVector3 wireForwardPosition(int layerId, int cellId, EWirePosition set=c_Base) const
Returns the forward position of the input sense wire.
Definition: CDCGeometryPar.cc:1625
Belle2::CDC::CDCGeometryPar::isDeadWire
bool isDeadWire(const WireID &wid, double &eff)
Inquire if the wire is dead.
Definition: CDCGeometryPar.h:853
Belle2::CDC::CDCGeometryPar::m_fFactorFromDB
DBObjPtr< CDCFudgeFactorsForSigma > * m_fFactorFromDB
fudge factors retrieved from DB.
Definition: CDCGeometryPar.h:1172
Belle2::CDC::CDCGeometryPar::setBadWire
void setBadWire()
Set bad-wires (from DB)
Definition: CDCGeometryPar.cc:1349
Belle2::CDC::CDCGeometryPar::getOutgoingTheta
double getOutgoingTheta(const double alpha, const double theta) const
Converts incoming- to outgoing-theta.
Definition: CDCGeometryPar.cc:2700
Belle2::CDC::CDCGeometryPar::m_B4CDCGeometryParDB
static CDCGeometryPar * m_B4CDCGeometryParDB
Pointer that saves the instance of this class.
Definition: CDCGeometryPar.h:1179
Belle2::CDC::CDCGeometryPar::m_nominalDriftVInv
double m_nominalDriftVInv
Inverse of the nominal drift velocity.
Definition: CDCGeometryPar.h:1160
Belle2::CDC::CDCGeometryPar::wireForwardPosition
const TVector3 wireForwardPosition(const WireID &wireID, EWirePosition set=c_Base) const
The same function but in a different input format.
Definition: CDCGeometryPar.h:463
Belle2::CDC::CDCGeometryPar::m_timeWalkCoef
float m_timeWalkCoef[nBoards][2]
coefficients for time walk.
Definition: CDCGeometryPar.h:1145
Belle2::CDC::CDCGeometryPar::isModifiedLeftRightFlagOn
bool isModifiedLeftRightFlagOn() const
Returns on/off for modified left/right calculation in FullSim.
Definition: CDCGeometryPar.h:553
Belle2::CDC::CDCGeometryPar::m_FWirPos
float m_FWirPos[MAX_N_SLAYERS][MAX_N_SCELLS][3]
Wire position incl.
Definition: CDCGeometryPar.h:1123
Belle2::CDC::CDCGeometryPar::m_rSLayer
double m_rSLayer[MAX_N_SLAYERS]
The array to store radius of sense wire layers.
Definition: CDCGeometryPar.h:1094
Belle2::CDC::CDCGeometryPar::m_rWall
double m_rWall[4]
The array to store radius of inner wall and outer wall.
Definition: CDCGeometryPar.h:1091
Belle2::CDC::CDCGeometryPar::m_BWirPos
float m_BWirPos[MAX_N_SLAYERS][MAX_N_SCELLS][3]
Wire position incl.
Definition: CDCGeometryPar.h:1124
Belle2::CDC::CDCGeometryPar::m_chMapFromDB
DBArray< CDCChannelMap > * m_chMapFromDB
channel map retrieved from DB.
Definition: CDCGeometryPar.h:1173
Belle2::CDC::CDCGeometryPar::m_displacementFromDB
DBArray< CDCDisplacement > * m_displacementFromDB
displacement params.
Definition: CDCGeometryPar.h:1174
Belle2::CDC::CDCGeometryPar::outerRadiusOuterWall
double outerRadiusOuterWall() const
Returns the outer radius of the outer wall.
Definition: CDCGeometryPar.h:1266
Belle2::CDC::CDCGeometryPar::m_t0
float m_t0[MAX_N_SLAYERS][MAX_N_SCELLS]
t0 for each sense-wire (in nsec).
Definition: CDCGeometryPar.h:1144
Belle2::CDC::CDCGeometryPar::setWirPosAlignParams
void setWirPosAlignParams()
Set wire alignment params.
Definition: CDCGeometryPar.cc:628
Belle2::CDC::CDCGeometryPar::innerRadiusWireLayer
const double * innerRadiusWireLayer() const
Returns an array of inner radius of wire layers.
Definition: CDCGeometryPar.cc:1709
Belle2::CDC::CDCGeometryPar::m_nWires
unsigned m_nWires[MAX_N_SLAYERS]
The array to store the wire number in each sense wire layre.
Definition: CDCGeometryPar.h:1105
Belle2::CDC::CDCGeometryPar::m_WireSagCoefMisalign
float m_WireSagCoefMisalign[MAX_N_SLAYERS][MAX_N_SCELLS]
Wire sag coefficient incl.
Definition: CDCGeometryPar.h:1129
Belle2::CDC::CDCGeometryPar::m_tdcBinWidth
double m_tdcBinWidth
TDC bin width (nsec/bin).
Definition: CDCGeometryPar.h:1158
Belle2::CDC::CDCGeometryPar::getClosestAlphaPoints
void getClosestAlphaPoints(const double alpha, double &wal, unsigned short points[2], unsigned short lrs[2]) const
Returns the two closest alpha points for the input track incident angle (alpha).
Definition: CDCGeometryPar.cc:2708
Belle2::CDC::CDCGeometryPar::m_shiftInSuperLayer
signed short m_shiftInSuperLayer[nSuperLayers][8]
shift in phi-direction wrt the 1st layer in each super layer
Definition: CDCGeometryPar.h:1089
Belle2::CDC::CDCGeometryPar::getDriftLength0
double getDriftLength0(double dt, unsigned short layer, unsigned short lr, double alpha=0., double theta=0.5 *M_PI) const
Return the drift dength to the sense wire; tentative ver.
Definition: CDCGeometryPar.cc:2090
Belle2::CDC::CDCGeometryPar::senseWireBZ
double senseWireBZ(int layerId) const
Returns backward z position of sense wire in each layer.
Definition: CDCGeometryPar.h:1241
Belle2::CDC::CDCGeometryPar::setDesignWirParam
void setDesignWirParam(unsigned layerID, unsigned cellID)
Set the desizend wire parameters.
Definition: CDCGeometryPar.cc:1944
Belle2::CDC::CDCGeometryPar::CDCGeometryPar
CDCGeometryPar(const CDCGeometry *=nullptr)
Singleton class.
Definition: CDCGeometryPar.cc:47
Belle2::CDC::CDCGeometryPar::readFFactor
void readFFactor(const GearDir, int mode=0)
Read fudge factors.
Definition: CDCGeometryPar.cc:998
Belle2::CDC::CDCGeometryPar::zOuterWall
double zOuterWall() const
Returns the length of the outer wall in Z.
Definition: CDCGeometryPar.h:1271
Belle2::CDC::CDCGeometryPar::getNominalSpaceResol
double getNominalSpaceResol() const
Return the nominal spacial resolution.
Definition: CDCGeometryPar.h:762
Belle2::CDC::CDCGeometryPar::getSenseWireZposMode
int getSenseWireZposMode() const
Return mode for sense wire z position.
Definition: CDCGeometryPar.h:790
Belle2::CDC::CDCGeometryPar::getSigma
double getSigma(double dist, unsigned short layer, unsigned short lr, double alpha=0., double theta=0.5 *M_PI) const
Return the basic resolution of drift length (cm).
Definition: CDCGeometryPar.cc:2509
Belle2::CDC::CDCGeometryPar::wireForwardPosition
const TVector3 wireForwardPosition(const WireID &wireID, double z, EWirePosition set=c_Base) const
The same function but in a different input format.
Definition: CDCGeometryPar.h:478
Belle2::CDC::CDCGeometryPar::m_wireToBoard
std::map< WireID, unsigned short > m_wireToBoard
map relating wire-id and board-id.
Definition: CDCGeometryPar.h:1150
Belle2::CDC::CDCGeometryPar::getClosestAlphaPoints4Sgm
void getClosestAlphaPoints4Sgm(const double alpha, double &wal, unsigned short points[2], unsigned short lrs[2]) const
Returns the two closest alpha points for sigma for the input track incident angle (alpha).
Definition: CDCGeometryPar.cc:2742
Belle2::DBArray
Class for accessing arrays of objects in the database.
Definition: DBArray.h:36
Belle2::CDC::CDCGeometryPar::m_alphaPoints
float m_alphaPoints[maxNAlphaPoints]
alpha sampling points for xt (rad)
Definition: CDCGeometryPar.h:1136
Belle2::CDC::CDCGeometryPar::momZ
double momZ(int iBound) const
Returns boundary position in Z axis of the CDC mother volume.
Definition: CDCGeometryPar.h:1191
Belle2::CDC::CDCGeometryPar::m_minTrackLength
double m_minTrackLength
Minimum track length for G4 step.
Definition: CDCGeometryPar.h:1121
Belle2::CDC::CDCGeometryPar::m_tdcOffset
unsigned short m_tdcOffset
Not used; to be removed later.
Definition: CDCGeometryPar.h:1156
Belle2::CDC::CDCGeometryPar::zInnerWall
double zInnerWall() const
Returns the length of the inner wall in Z.
Definition: CDCGeometryPar.h:1286
Belle2::CDC::CDCGeometryPar::m_propSpeedInv
float m_propSpeedInv[MAX_N_SLAYERS]
Inverse of propagation speed of the sense wire.
Definition: CDCGeometryPar.h:1143
Belle2::CDC::CDCGeometryPar::m_debug
bool m_debug
Switch for debug printing.
Definition: CDCGeometryPar.h:1063
Belle2::CDC::CDCGeometryPar::m_Sigma
float m_Sigma[MAX_N_SLAYERS][2][maxNAlphaPoints][maxNThetaPoints][nSigmaParams]
position resulution for each layer.
Definition: CDCGeometryPar.h:1142
Belle2::CDC::CDCGeometryPar::setChMap
void setChMap()
Set channel map (from DB)
Definition: CDCGeometryPar.cc:1504
Belle2::CDC::CDCGeometryPar::getNominalPropSpeed
double getNominalPropSpeed() const
Return the nominal propagation speed of the sense wire (default: 27.25 cm/nsec).
Definition: CDCGeometryPar.h:752
Belle2::CDC::CDCGeometryPar::readT0
void readT0(const GearDir, int mode=0)
Read t0 parameters (from a file).
Definition: CDCGeometryPar.cc:1078
Belle2::CDC::CDCGeometryPar::calcMeanT0
void calcMeanT0()
Calculate mean t0 in ns (over all wires)
Definition: CDCGeometryPar.cc:1321
Belle2::CDC::CDCGeometryPar::m_wireToChannel
std::map< WireID, unsigned short > m_wireToChannel
map relating wire-id and channel-id.
Definition: CDCGeometryPar.h:1151
Belle2::CDC::CDCGeometryPar::getTdcBinWidth
double getTdcBinWidth() const
Return TDC bin width (nsec).
Definition: CDCGeometryPar.h:732
Belle2::CDC::CDCGeometryPar::momRmin
double momRmin(int iBound) const
Returns inner radius of the CDC mother volume.
Definition: CDCGeometryPar.h:1196
Belle2::CDC::CDCGeometryPar::getNewLeftRightRaw
unsigned short getNewLeftRightRaw(const TVector3 &posOnWire, const TVector3 &posOnTrack, const TVector3 &momentum) const
Returns new left/right_raw.
Definition: CDCGeometryPar.cc:2652
Belle2::CDC::CDCGeometryPar::operator=
CDCGeometryPar & operator=(const CDCGeometryPar &)
Singleton class.
Belle2::CDC::CDCGeometryPar::m_version
std::string m_version
The version of geometry parameters.
Definition: CDCGeometryPar.h:1075
Belle2::CDC::CDCGeometryPar::m_cellSize
double m_cellSize[MAX_N_SLAYERS]
The array to store cell size in each sense wire layer.
Definition: CDCGeometryPar.h:1103
Belle2::CDC::CDCGeometryPar::m_zSForwardLayer
double m_zSForwardLayer[MAX_N_SLAYERS]
The array to store forward z position of sense wire layers.
Definition: CDCGeometryPar.h:1095
Belle2::CDC::CDCGeometryPar::m_nThetaPoints
unsigned short m_nThetaPoints
No.
Definition: CDCGeometryPar.h:1086
Belle2::CDC::CDCGeometryPar::senseWireFZ
double senseWireFZ(int layerId) const
Returns forward z position of sense wire in each layer.
Definition: CDCGeometryPar.h:1236
Belle2::CDC::CDCGeometryPar::m_XTetc4Recon
bool m_XTetc4Recon
Switch for selecting xt etc.
Definition: CDCGeometryPar.h:1070
Belle2::CDC::CDCGeometryPar::newReadSigma
void newReadSigma(const GearDir, int mode=0)
Read spatial resolution table in new format.
Definition: CDCGeometryPar.cc:891
Belle2::CDC::CDCGeometryPar::m_thetaPoints
float m_thetaPoints[maxNThetaPoints]
theta sampling points for xt (rad)
Definition: CDCGeometryPar.h:1137
Belle2::CDC::CDCGeometryPar::m_dzSBackwardLayer
double m_dzSBackwardLayer[MAX_N_SLAYERS]
Corrections for backward z position of sense wire layers.
Definition: CDCGeometryPar.h:1098
Belle2::CDC::CDCGeometryPar::fieldWireDiameter
double fieldWireDiameter() const
Returns diameter of the field wire.
Definition: CDCGeometryPar.h:1306
Belle2::CDC::CDCGeometryPar::setXtRel
void setXtRel()
Set XT-relation table (from DB) (new).
Definition: CDCGeometryPar.cc:1381
Belle2::CDC::CDCGeometryPar::m_t0FromDB
DBObjPtr< CDCTimeZeros > * m_t0FromDB
t0s retrieved from DB.
Definition: CDCGeometryPar.h:1166
Belle2::CDC::CDCGeometryPar::setWirPosMisalignParams
void setWirPosMisalignParams()
Set wire misalignment params.
Definition: CDCGeometryPar.cc:702
Belle2::CDC::CDCGeometryPar::setSenseWireBZ
void setSenseWireBZ(int layerId, double bz)
set backward z position of sense wires.
Definition: CDCGeometryPar.h:1226
Belle2::CDC::CDCGeometryPar::m_nShifts
int m_nShifts[MAX_N_SLAYERS]
The array to store shifted cell number in each sense wire layer.
Definition: CDCGeometryPar.h:1104
Belle2::CDC::CDCGeometryPar::newReadXT
void newReadXT(const GearDir, int mode=0)
Read XT-relation table in new format.
Definition: CDCGeometryPar.cc:748
Belle2::CDC::CDCGeometryPar::getMinDriftTime
double getMinDriftTime(unsigned short layer, unsigned short lr, double alpha=0., double theta=0.5 *M_PI) const
Return the min.
Definition: CDCGeometryPar.cc:2267
Belle2::CDC::CDCGeometryPar::getEDepToADCMainFactor
double getEDepToADCMainFactor(unsigned short layer, unsigned short cell)
Return edep-to-ADC conversion main factor (in count/keV)
Definition: CDCGeometryPar.h:280
Belle2::CDC::CDCGeometryPar::m_dzSForwardLayer
double m_dzSForwardLayer[MAX_N_SLAYERS]
Corrections for forward z position of sense wire layers.
Definition: CDCGeometryPar.h:1096
Belle2::CDC::CDCGeometryPar::m_eDepToADCParams
float m_eDepToADCParams[MAX_N_SLAYERS][MAX_N_SCELLS][6]
edep-to-ADC conv.
Definition: CDCGeometryPar.h:1134
Belle2::CDC::CDCGeometryPar::readChMap
void readChMap()
Read channel map between wire-id and electronics-id.
Definition: CDCGeometryPar.cc:1194
Belle2::CDC::CDCGeometryPar::m_nominalPropSpeed
double m_nominalPropSpeed
Nominal propagation speed of the sense wire (27.25 cm/nsec).
Definition: CDCGeometryPar.h:1161
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::CDC::CDCGeometryPar::getFwdDeltaZ
double getFwdDeltaZ(unsigned short layerID) const
Return forward 'deltaZ'.
Definition: CDCGeometryPar.h:810
Belle2::CDC::CDCGeometryPar::getClosestThetaPoints
void getClosestThetaPoints(const double alpha, const double theta, double &wth, unsigned short points[2]) const
Returns the two closest theta points for the input track incident angle (theta).
Definition: CDCGeometryPar.cc:2775
Belle2::CDC::CDCGeometryPar::getThresholdEnerguDeposit
double getThresholdEnerguDeposit() const
Returns threshold for energy deposit in one G4 step.
Definition: CDCGeometryPar.h:528
Belle2::CDC::CDCGeometryPar::momBound
int momBound() const
to get the number of boundary position of the CDC mother volume
Belle2::CDCGeometry
The Class for CDC geometry.
Definition: CDCGeometry.h:37
Belle2::CDC::CDCGeometryPar::setSResol
void setSResol()
Set spatial resolution (from DB).
Definition: CDCGeometryPar.cc:1433
Belle2::CDC::CDCGeometryPar::getEDepToADCConvFactor
double getEDepToADCConvFactor(unsigned short layer, unsigned short cell, double edep, double dx, double costh)
Return edep-to-ADC conversion factor.
Definition: CDCGeometryPar.cc:1576
Belle2::CDC::CDCGeometryPar::getDriftLength
double getDriftLength(double dt, unsigned short layer, unsigned short lr, double alpha=0., double theta=0.5 *M_PI, bool calculateMinTime=true, double minTime=0.) const
Return the drift dength to the sense wire.
Definition: CDCGeometryPar.cc:2168
Belle2::CDC::CDCGeometryPar::m_momRmin
double m_momRmin[7]
R_min of the cdc mother volume (7 segments).
Definition: CDCGeometryPar.h:1115
Belle2::CDC::CDCGeometryPar
The Class for CDC Geometry Parameters.
Definition: CDCGeometryPar.h:75
Belle2::CDC::CDCGeometryPar::getOutgoingLR
unsigned short getOutgoingLR(const unsigned short lr, const double alpha) const
Converts incoming-lr to outgoing-lr.
Definition: CDCGeometryPar.cc:2680
Belle2::CDC::CDCGeometryPar::getWireID
const WireID getWireID(unsigned short bd, unsigned short ch) const
Returns wire id. corresponding to the board-and-cannel ids.
Definition: CDCGeometryPar.h:601
Belle2::CDC::CDCGeometryPar::getClosestThetaPoints4Sgm
void getClosestThetaPoints4Sgm(const double alpha, const double theta, double &wth, unsigned short points[2]) const
Returns the two closest theta points for sigma for the input track incident angle (theta).
Definition: CDCGeometryPar.cc:2805
Belle2::CDC::CDCGeometryPar::isBadWire
bool isBadWire(const WireID &wid)
Inquire if the wire is totally-dead.
Definition: CDCGeometryPar.h:840
Belle2::CDC::CDCGeometryPar::m_linearInterpolationOfXT
bool m_linearInterpolationOfXT
Switch for linear interpolation of xt.
Definition: CDCGeometryPar.h:1064
Belle2::CDC::CDCGeometryPar::m_BWirPosAlign
float m_BWirPosAlign[MAX_N_SLAYERS][MAX_N_SCELLS][3]
Wire position incl.
Definition: CDCGeometryPar.h:1132
Belle2::CDC::CDCGeometryPar::senseWireR
double senseWireR(int layerId) const
Returns radius of sense wire in each layer.
Definition: CDCGeometryPar.h:1231
Belle2::CDC::CDCGeometryPar::wireBackwardPosition
const TVector3 wireBackwardPosition(int layerId, int cellId, EWirePosition set=c_Base) const
Returns the backward position of the input sense wire.
Definition: CDCGeometryPar.cc:1662
Belle2::CDC::CDCGeometryPar::isWireSagOn
bool isWireSagOn() const
Returns on/off for sense wire sag in FullSim.
Definition: CDCGeometryPar.h:545
Belle2::CDC::CDCGeometryPar::getTdcOffset
unsigned short getTdcOffset() const
Return TDC offset value (default = 0 ch).
Definition: CDCGeometryPar.h:723
Belle2::CDC::CDCGeometryPar::setSenseWireFZ
void setSenseWireFZ(int layerId, double fz)
Set forward z position of sense wires.
Definition: CDCGeometryPar.h:1221
Belle2::CDC::CDCGeometryPar::Instance
static CDCGeometryPar & Instance(const CDCGeometry *=nullptr)
Static method to get a reference to the CDCGeometryPar instance.
Definition: CDCGeometryPar.cc:41
Belle2::CDC::CDCGeometryPar::getTheta
double getTheta(const TVector3 &momentum) const
Returns track incident angle (theta in rad.).
Definition: CDCGeometryPar.cc:2674
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CDC::CDCGeometryPar::m_zWall
double m_zWall[4][2]
The array to store z position of inner wall and outer wall.
Definition: CDCGeometryPar.h:1092
Belle2::CDC::CDCGeometryPar::m_maxSpaceResol
double m_maxSpaceResol
10 times Nominal spacial resolution.
Definition: CDCGeometryPar.h:1163
Belle2::CDC::CDCGeometryPar::outerRadiusWireLayer
const double * outerRadiusWireLayer() const
Returns an array of outer radius of wire layers.
Definition: CDCGeometryPar.cc:1721
Belle2::CDC::CDCGeometryPar::setPropSpeed
void setPropSpeed()
Set prop.
Definition: CDCGeometryPar.cc:1357
Belle2::CDC::CDCGeometryPar::getDriftTime
double getDriftTime(double dist, unsigned short layer, unsigned short lr, double alpha, double theta) const
Return the drift time to the sense wire.
Definition: CDCGeometryPar.cc:2457
Belle2::CDC::CDCGeometryPar::getDriftV
double getDriftV(double dt, unsigned short layer, unsigned short lr, double alpha=0., double theta=0.5 *M_PI) const
Get the realistic drift velocity.
Definition: CDCGeometryPar.cc:2006
Belle2::CDC::CDCGeometryPar::getOldLeftRight
unsigned short getOldLeftRight(const TVector3 &posOnWire, const TVector3 &posOnTrack, const TVector3 &momentum) const
Returns old left/right.
Definition: CDCGeometryPar.cc:2617
Belle2::CDC::CDCGeometryPar::offset
double offset(int layerID) const
Return wire offset in phi direction at endplate.
Definition: CDCGeometryPar.h:1206
Belle2::CDC::CDCGeometryPar::motherInnerR
double motherInnerR() const
The method to get cdc mother volume inner R.
Belle2::CDC::CDCGeometryPar::m_materialDefinitionMode
int m_materialDefinitionMode
Control switch for gas and wire material definition.
Definition: CDCGeometryPar.h:1076
Belle2::CDC::CDCGeometryPar::m_misalignmentFromDB
DBObjPtr< CDCMisalignment > * m_misalignmentFromDB
misalignment params.
Definition: CDCGeometryPar.h:1176
Belle2::CDC::CDCGeometryPar::m_xtParamMode
int m_xtParamMode
Mode for xt parameterization.
Definition: CDCGeometryPar.h:1079
Belle2::CDC::CDCGeometryPar::m_sigmaParamMode
int m_sigmaParamMode
Mode for sigma parameterization.
Definition: CDCGeometryPar.h:1081
Belle2::GearDir
GearDir is the basic class used for accessing the parameter store.
Definition: GearDir.h:41
Belle2::CDC::CDCGeometryPar::getShiftInSuperLayer
signed short getShiftInSuperLayer(unsigned short iSuperLayer, unsigned short iLayer) const
Returns shift in the super-layer.
Definition: CDCGeometryPar.cc:2889
Belle2::CDC::CDCGeometryPar::readFromDB
void readFromDB(const CDCGeometry &)
Gets geometry parameters from database.
Definition: CDCGeometryPar.cc:223
Belle2::CDC::CDCGeometryPar::m_fieldWireDiameter
double m_fieldWireDiameter
The diameter of field wires.
Definition: CDCGeometryPar.h:1110
Belle2::CDC::CDCGeometryPar::getMaterialDefinitionMode
int getMaterialDefinitionMode() const
Return mode for material definition.
Definition: CDCGeometryPar.h:777
Belle2::CDC::CDCGeometryPar::getBoardID
unsigned short getBoardID(const WireID &wID) const
Returns frontend board id. corresponding to the wire id.
Definition: CDCGeometryPar.h:576
Belle2::CDC::CDCGeometryPar::fieldWireR
double fieldWireR(int layerId) const
Returns radius of field wire in each layer.
Definition: CDCGeometryPar.h:1246
Belle2::CDC::CDCGeometryPar::readEDepToADC
void readEDepToADC(const GearDir, int mode=0)
Read spatial edep-to-adc conv.
Definition: CDCGeometryPar.cc:1225
Belle2::CDC::CDCGeometryPar::nShifts
int nShifts(int layerId) const
Returns number shift.
Definition: CDCGeometryPar.h:1201
Belle2::CDC::CDCGeometryPar::fieldWireFZ
double fieldWireFZ(int layerId) const
Returns forward z position of field wire in each layer.
Definition: CDCGeometryPar.h:1251
Belle2::CDC::CDCGeometryPar::readSigma
void readSigma(const GearDir, int mode=0)
Read spatial resolution table.
Definition: CDCGeometryPar.cc:882
Belle2::CDC::CDCGeometryPar::setXT
void setXT()
Set XT-relation table (from DB).
Belle2::CDC::CDCGeometryPar::getNominalDriftV
double getNominalDriftV() const
Return the nominal drift velocity of He-ethane gas (default: 4.0x10^-3 cm/nsec).
Definition: CDCGeometryPar.h:742
Belle2::CDC::CDCGeometryPar::m_displacement
bool m_displacement
Switch for displacement.
Definition: CDCGeometryPar.h:1067
Belle2::CDC::CDCGeometryPar::cellId
unsigned cellId(unsigned layerId, const TVector3 &position) const
The method to get cell id based on given layer id and the position.
Definition: CDCGeometryPar.cc:1733
Belle2::CDC::CDCGeometryPar::m_momZ
double m_momZ[7]
Z-cordinates of the cdc mother volume (7 segments).
Definition: CDCGeometryPar.h:1114
Belle2::CDC::CDCGeometryPar::~CDCGeometryPar
virtual ~CDCGeometryPar()
Destructor.
Definition: CDCGeometryPar.cc:150
Belle2::CDC::CDCGeometryPar::m_modLeftRightFlag
bool m_modLeftRightFlag
Switch for modified left/right flag.
Definition: CDCGeometryPar.h:1073
Belle2::CDC::CDCGeometryPar::zBackwardWireLayer
const double * zBackwardWireLayer() const
Returns an array of backward z of wire layers.
Definition: CDCGeometryPar.h:1321
Belle2::CDC::CDCGeometryPar::getMeanT0
double getMeanT0() const
Returns the mean t0 over all wires.
Definition: CDCGeometryPar.h:1331
Belle2::CDC::CDCGeometryPar::version
std::string version() const
Returns the version of cdc geometry parameters.
Definition: CDCGeometryPar.h:1186
Belle2::CDC::CDCGeometryPar::clear
void clear()
Clears.
Definition: CDCGeometryPar.cc:168
Belle2::CDC::CDCGeometryPar::setDisplacement
void setDisplacement()
Set displacement of sense wire.
Definition: CDCGeometryPar.cc:2831
Belle2::CDC::CDCGeometryPar::m_boardAndChannelToWire
unsigned short m_boardAndChannelToWire[nBoards][48]
array relating board-channel-id and wire-id.
Definition: CDCGeometryPar.h:1152
Belle2::CDC::CDCGeometryPar::m_meanT0
double m_meanT0
mean t0 over all wires; should be double.
Definition: CDCGeometryPar.h:1148
Belle2::CDC::CDCGeometryPar::m_twParamMode
int m_twParamMode
Mode for tw parameterization.
Definition: CDCGeometryPar.h:1082
Belle2::CDC::CDCGeometryPar::m_wireSag
bool m_wireSag
Switch for sense wire sag.
Definition: CDCGeometryPar.h:1072
Belle2::CDC::CDCGeometryPar::zOffsetWireLayer
double zOffsetWireLayer(unsigned i) const
Returns the offset of z of the wire layer i.
Definition: CDCGeometryPar.h:1326
Belle2::CDC::CDCGeometryPar::m_WireSagCoef
float m_WireSagCoef[MAX_N_SLAYERS][MAX_N_SCELLS]
Wire sag coefficient for each cell; ibid.
Definition: CDCGeometryPar.h:1125
Belle2::CDC::CDCGeometryPar::m_thetaPoints4Sgm
float m_thetaPoints4Sgm[maxNThetaPoints]
theta sampling points for sigma (rad)
Definition: CDCGeometryPar.h:1139
Belle2::CDC::CDCGeometryPar::setT0
void setT0()
Set t0 parameters (from DB)
Definition: CDCGeometryPar.cc:1301
Belle2::CDC::CDCGeometryPar::m_zSBackwardLayer
double m_zSBackwardLayer[MAX_N_SLAYERS]
The array to store backward z position of sense wire layers.
Definition: CDCGeometryPar.h:1097
Belle2::CDC::CDCGeometryPar::getOutgoingAlpha
double getOutgoingAlpha(const double alpha) const
Converts incoming- to outgoing-alpha.
Definition: CDCGeometryPar.cc:2687
Belle2::CDC::CDCGeometryPar::readPropSpeed
void readPropSpeed(const GearDir, int mode=0)
Read the propagation speed along the sense wire.
Definition: CDCGeometryPar.cc:1010
Belle2::CDC::CDCGeometryPar::m_FWirPosAlign
float m_FWirPosAlign[MAX_N_SLAYERS][MAX_N_SCELLS][3]
Wire position incl.
Definition: CDCGeometryPar.h:1131
Belle2::CDC::CDCGeometryPar::readTW
void readTW(const GearDir, int mode=0)
Read time-walk parameter.
Definition: CDCGeometryPar.cc:1155
Belle2::CDC::CDCGeometryPar::getT0
float getT0(const WireID &wireID) const
Returns t0 parameter of the specified sense wire.
Definition: CDCGeometryPar.h:565
Belle2::CDC::CDCGeometryPar::m_nAlphaPoints4Sgm
unsigned short m_nAlphaPoints4Sgm
No.
Definition: CDCGeometryPar.h:1087
Belle2::CDC::CDCGeometryPar::m_senseWireZposMode
int m_senseWireZposMode
Mode for sense wire z position corr.
Definition: CDCGeometryPar.h:1077
Belle2::CDC::CDCGeometryPar::m_nThetaPoints4Sgm
unsigned short m_nThetaPoints4Sgm
No.
Definition: CDCGeometryPar.h:1088
Belle2::CDC::CDCGeometryPar::generateXML
void generateXML(const std::string &of)
Generate an xml file used in gearbox.
Definition: CDCGeometryPar.cc:1777
Belle2::CDC::CDCGeometryPar::m_nominalDriftV
double m_nominalDriftV
Nominal drift velocity (4.0x10^-3 cm/nsec).
Definition: CDCGeometryPar.h:1159
Belle2::CDC::CDCGeometryPar::wireBackwardPosition
const TVector3 wireBackwardPosition(const WireID &wireID, double z, EWirePosition set=c_Base) const
The same function but in a different input format.
Definition: CDCGeometryPar.h:509
Belle2::CDC::CDCGeometryPar::m_alignment
bool m_alignment
Switch for alignment.
Definition: CDCGeometryPar.h:1069
Belle2::CDC::CDCGeometryPar::m_sResolFromDB
DBObjPtr< CDCSpaceResols > * m_sResolFromDB
sigma params.
Definition: CDCGeometryPar.h:1171
Belle2::CDC::CDCGeometryPar::m_eDepToADCConversionsFromDB
DBObjPtr< CDCEDepToADCConversions > * m_eDepToADCConversionsFromDB
Pointer to edep-to-ADC conv.
Definition: CDCGeometryPar.h:1177
Belle2::CDC::CDCGeometryPar::EWirePosition
EWirePosition
Wire position set.
Definition: CDCGeometryPar.h:80
Belle2::CDC::CDCGeometryPar::m_timeWalkFromDB
DBObjPtr< CDCTimeWalks > * m_timeWalkFromDB
time-walk coeffs.
Definition: CDCGeometryPar.h:1169
Belle2::CDC::CDCGeometryPar::nWiresInLayer
unsigned nWiresInLayer(int layerId) const
Returns wire numbers in a layer.
Definition: CDCGeometryPar.h:1211
Belle2::CDC::CDCGeometryPar::m_XTetc
bool m_XTetc
Switch for reading x-t etc.
Definition: CDCGeometryPar.h:1066
Belle2::CDC::CDCGeometryPar::getWireSagCoef
double getWireSagCoef(EWirePosition set, int layerId, int cellId) const
Returns coefficient for the sense wire sag.
Definition: CDCGeometryPar.cc:1698
Belle2::CDC::CDCGeometryPar::m_senseWireDiameter
double m_senseWireDiameter
The diameter of sense wires.
Definition: CDCGeometryPar.h:1107
Belle2::CDC::CDCGeometryPar::m_misalignment
bool m_misalignment
Switch for misalignment.
Definition: CDCGeometryPar.h:1068
Belle2::CDC::CDCGeometryPar::m_nominalSpaceResol
double m_nominalSpaceResol
Nominal spacial resolution (0.0130 cm).
Definition: CDCGeometryPar.h:1162
Belle2::CDC::CDCGeometryPar::m_globalPhiRotation
double m_globalPhiRotation
Global ratation in phi (rad.); only for sence wires now.
Definition: CDCGeometryPar.h:1112
Belle2::CDC::CDCGeometryPar::senseWireDiameter
double senseWireDiameter() const
Returns diameter of the sense wire.
Definition: CDCGeometryPar.h:1301
Belle2::CDC::CDCGeometryPar::setNominalSpaceResol
void setNominalSpaceResol(double resol)
Set the nominal spacial resolution in the unit of um.
Definition: CDCGeometryPar.h:821
Belle2::CDC::CDCGeometryPar::innerRadiusInnerWall
double innerRadiusInnerWall() const
Returns the inner radius of the inner wall.
Definition: CDCGeometryPar.h:1276
Belle2::CDC::CDCGeometryPar::readWirePositionParams
void readWirePositionParams(EWirePosition set, const CDCGeometry *)
Read displacement or (mis)alignment params from text file.
Definition: CDCGeometryPar.cc:530
Belle2::CDC::CDCGeometryPar::m_nSLayer
int m_nSLayer
The number of sense wire layer.
Definition: CDCGeometryPar.h:1083
Belle2::CDC::CDCGeometryPar::Print
void Print() const
Print some debug information.
Definition: CDCGeometryPar.cc:1622
Belle2::CDC::CDCGeometryPar::m_offSet
double m_offSet[MAX_N_SLAYERS]
The array to store z offset of sense wire layers.
Definition: CDCGeometryPar.h:1102
Belle2::CDC::CDCGeometryPar::m_nFLayer
int m_nFLayer
The number of field wire layer.
Definition: CDCGeometryPar.h:1084
Belle2::CDC::CDCGeometryPar::wireBackwardPosition
const TVector3 wireBackwardPosition(const WireID &wireID, EWirePosition set=c_Base) const
The same function but in a different input format.
Definition: CDCGeometryPar.h:494
Belle2::CDC::CDCGeometryPar::getWireSagEffect
void getWireSagEffect(EWirePosition set, unsigned layerID, unsigned cellID, double zw, double &ywb_sag, double &ywf_sag) const
Compute effects of the sense wire sag.
Definition: CDCGeometryPar.cc:1858
Belle2::CDC::CDCGeometryPar::fieldWireBZ
double fieldWireBZ(int layerId) const
Returns backward z position of field wire in each layer.
Definition: CDCGeometryPar.h:1256
Belle2::CDC::CDCGeometryPar::m_FWirPosMisalign
float m_FWirPosMisalign[MAX_N_SLAYERS][MAX_N_SCELLS][3]
Wire position incl.
Definition: CDCGeometryPar.h:1127
Belle2::CDC::CDCGeometryPar::m_alignmentFromDB
DBObjPtr< CDCAlignment > * m_alignmentFromDB
alignment params.
Definition: CDCGeometryPar.h:1175
Belle2::CDC::CDCGeometryPar::setFFactor
void setFFactor()
Set fudge factors (from DB).
Definition: CDCGeometryPar.cc:1474
Belle2::CDC::CDCGeometryPar::getTimeWalk
double getTimeWalk(const WireID &wID, unsigned short adcCount) const
Returns time-walk.
Definition: CDCGeometryPar.h:612
Belle2::CDC::CDCGeometryPar::getBwdDeltaZ
double getBwdDeltaZ(unsigned short layerID) const
Return backward 'deltaZ'.
Definition: CDCGeometryPar.h:800
Belle2::CDC::CDCGeometryPar::zOffsetInnerWall
double zOffsetInnerWall() const
Returns the offset of the outer wall in z direction.
Definition: CDCGeometryPar.h:1296
Belle2::CDC::CDCGeometryPar::m_fudgeFactorForSigma
double m_fudgeFactorForSigma[3]
Fuge factor for space resol.
Definition: CDCGeometryPar.h:1164
Belle2::CDC::CDCGeometryPar::m_WireSagCoefAlign
float m_WireSagCoefAlign[MAX_N_SLAYERS][MAX_N_SCELLS]
Wire sag coefficient incl.
Definition: CDCGeometryPar.h:1133
Belle2::CDC::CDCGeometryPar::setTW
void setTW()
Set time-walk parameters.
Definition: CDCGeometryPar.cc:1366
Belle2::CDC::CDCGeometryPar::m_senseWireDensity
double m_senseWireDensity
The density of sense wires.
Definition: CDCGeometryPar.h:1109
Belle2::CDC::CDCGeometryPar::setEDepToADCConversions
void setEDepToADCConversions()
Set edep-to-ADC conversion params.
Definition: CDCGeometryPar.cc:1521
Belle2::CDC::CDCGeometryPar::isHotWire
bool isHotWire(const WireID &wid)
Inquire if the wire is hot.
Definition: CDCGeometryPar.h:862
Belle2::CDC::CDCGeometryPar::outputDesignWirParam
void outputDesignWirParam(unsigned layerID, unsigned cellID) const
Write the designed wire parameters to the alignment.dat (default).
Definition: CDCGeometryPar.cc:1980
Belle2::WireID::getIWire
unsigned short getIWire() const
Getter for wire within the layer.
Definition: WireID.h:155
Belle2::CDC::CDCGeometryPar::m_rFLayer
double m_rFLayer[MAX_N_FLAYERS]
The array to store radius of field wire layers.
Definition: CDCGeometryPar.h:1099
Belle2::WireID::getICLayer
unsigned short getICLayer() const
Getter for continuous layer numbering.
Definition: WireID.cc:26
Belle2::CDC::CDCGeometryPar::getAlpha
double getAlpha(const TVector3 &posOnWire, const TVector3 &momentum) const
Returns track incident angle in rphi plane (alpha in rad.).
Definition: CDCGeometryPar.cc:2661
Belle2::CDC::CDCGeometryPar::m_sigmaFileFormat
int m_sigmaFileFormat
Format of sigma input file.
Definition: CDCGeometryPar.h:1080
Belle2::CDC::CDCGeometryPar::m_clockFreq4TDC
double m_clockFreq4TDC
Clock frequency used for TDC (GHz).
Definition: CDCGeometryPar.h:1157
Belle2::CDC::CDCGeometryPar::setSenseWireR
void setSenseWireR(int layerId, double r)
Set radius of sense wire in each layer.
Definition: CDCGeometryPar.h:1216
Belle2::CDC::CDCGeometryPar::getFudgeFactorForSigma
double getFudgeFactorForSigma(unsigned short target) const
Return the fuge factor for space resol.
Definition: CDCGeometryPar.h:953
Belle2::CDC::CDCGeometryPar::m_xtRelFromDB
DBObjPtr< CDCXtRelations > * m_xtRelFromDB
xt params.
Definition: CDCGeometryPar.h:1170
Belle2::CDC::CDCGeometryPar::motherLength
double motherLength() const
The method to get cdc mother volume length.
Belle2::CDC::CDCGeometryPar::m_XT
float m_XT[MAX_N_SLAYERS][2][maxNAlphaPoints][maxNThetaPoints][nXTParams]
XT-relation coefficients for each layer, Left/Right, entrance angle and polar angle.
Definition: CDCGeometryPar.h:1141
Belle2::CDC::CDCGeometryPar::m_alphaPoints4Sgm
float m_alphaPoints4Sgm[maxNAlphaPoints]
alpha sampling points for sigma (rad)
Definition: CDCGeometryPar.h:1138
Belle2::CDC::CDCGeometryPar::m_nAlphaPoints
unsigned short m_nAlphaPoints
No.
Definition: CDCGeometryPar.h:1085
Belle2::CDC::CDCGeometryPar::m_badWireFromDB
DBObjPtr< CDCBadWires > * m_badWireFromDB
bad-wires retrieved from DB.
Definition: CDCGeometryPar.h:1167
Belle2::CDC::CDCGeometryPar::m_linearInterpolationOfSgm
bool m_linearInterpolationOfSgm
Switch for linear interpolation of sigma.
Definition: CDCGeometryPar.h:1065
Belle2::CDC::CDCGeometryPar::innerRadiusOuterWall
double innerRadiusOuterWall() const
Returns the inner radius of the outer wall.
Definition: CDCGeometryPar.h:1261
Belle2::CDC::CDCGeometryPar::m_zFForwardLayer
double m_zFForwardLayer[MAX_N_FLAYERS]
The array to store forward z position of field wire layers.
Definition: CDCGeometryPar.h:1100
Belle2::CDC::CDCGeometryPar::zOffsetOuterWall
double zOffsetOuterWall() const
Returns the offset of the outer wall in z direction.
Definition: CDCGeometryPar.h:1291
Belle2::CDC::CDCGeometryPar::zForwardWireLayer
const double * zForwardWireLayer() const
Returns an array of forward z of wire layers.
Definition: CDCGeometryPar.h:1316
Belle2::CDC::CDCGeometryPar::m_propSpeedFromDB
DBObjPtr< CDCPropSpeeds > * m_propSpeedFromDB
prop.
Definition: CDCGeometryPar.h:1168