StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StIstDb.h
1 /* $Id: StIstDb.h,v 1.13 2018/03/15 21:35:48 dongx Exp $ */
2 
3 #ifndef StIstDb_hh
4 #define StIstDb_hh
5 
6 #include "StObject.h"
7 #include "THashList.h"
8 #include "TGeoMatrix.h"
10 using namespace StIstConsts;
11 
12 class Survey_st;
13 class istPedNoise_st;
14 class istControl_st;
15 class istGain_st;
16 class istMapping_st;
17 class istChipConfig_st;
18 class istSimPar_st;
19 
20 
42 class StIstDb : public StObject
43 {
44 
45 public:
46  StIstDb();
47  THashList *getRotations() const {return mgRotList; }
48  const TGeoHMatrix *getGeoHMatrixTpcOnGlobal() const {return mGeoHMatrixTpcOnGlobal; }
49  const TGeoHMatrix *getGeoHMatrixIdsOnTpc() const {return &mGeoHMatrixIdsOnTpc; }
50  const TGeoHMatrix *getGeoHMatrixPstOnIds() const {return &mGeoHMatrixPstOnIds; }
51  const TGeoHMatrix *getGeoHMatrixIstOnPst() const {return &mGeoHMatrixIstOnPst; }
52  const TGeoHMatrix *getGeoHMatrixLadderOnIst(Int_t ladder) const {return &mGeoHMatrixLadderOnIst[ladder - 1]; }
53  const TGeoHMatrix *getGeoHMatrixSensorOnLadder(Int_t ladder, Int_t sensor) const {return &mGeoHMatrixSensorOnLadder[ladder - 1][sensor - 1]; }
54  static const TGeoHMatrix *getHMatrixSensorOnGlobal(int ladder, int sensor);
55 
56  const istPedNoise_st *getPedNoise() const {return mIstPedNoise;}
57  const istGain_st *getGain() const {return mIstGain; }
58  const istMapping_st *getMapping() const {return mIstMapping; }
59  const istControl_st *getControl() const {return mIstControl; }
60  const istChipConfig_st *getChipStatus() const {return mIstChipStatus; }
61 
63  const istSimPar_st *istSimPar() {return mIstSimPar;}
64 
65  Int_t setGeoHMatrices(Survey_st **tables);
66  void setPedNoise(istPedNoise_st *pedNoise) {mIstPedNoise = pedNoise;}
67  void setGain(istGain_st *gain) {mIstGain = gain;}
68  void setMapping(istMapping_st *mapping) {mIstMapping = mapping;}
69  void setControl(istControl_st *control) {mIstControl = control;}
70  void setChipStatus(istChipConfig_st *chipStatus) {mIstChipStatus = chipStatus;}
71  void setIstSimPar(istSimPar_st *istSimPar) {mIstSimPar = istSimPar;}
72 
73  virtual void Print(Option_t *opt = "") const;
74 
75  virtual const char *GetCVS() const
76  {static const char cvs[] = "Tag $Name: $ $Id: StIstDb.h,v 1.13 2018/03/15 21:35:48 dongx Exp $ built " __DATE__ " " __TIME__ ; return cvs;}
77 
78 private:
79  static THashList *mgRotList;
80  TGeoHMatrix *mGeoHMatrixTpcOnGlobal;
81  TGeoHMatrix mGeoHMatrixIdsOnTpc;
82  TGeoHMatrix mGeoHMatrixPstOnIds;
83  TGeoHMatrix mGeoHMatrixIstOnPst;
84  TGeoHMatrix mGeoHMatrixLadderOnIst[kIstNumLadders];
85  TGeoHMatrix mGeoHMatrixSensorOnLadder[kIstNumLadders][kIstNumSensorsPerLadder];
86 
87  istPedNoise_st *mIstPedNoise;
88  istGain_st *mIstGain;
89  istMapping_st *mIstMapping;
90  istControl_st *mIstControl;
91  istChipConfig_st *mIstChipStatus;
92  istSimPar_st *mIstSimPar;
93 
94  ClassDef(StIstDb, 1)
95 };
96 
97 #endif
98 
99 
100 /***************************************************************************
101 *
102 * $Log: StIstDb.h,v $
103 * Revision 1.13 2018/03/15 21:35:48 dongx
104 * Added the access to new table istSimPar
105 *
106 * Revision 1.12 2015/08/03 14:26:03 smirnovd
107 * Corrected style with 'astyle -s3 -p -H -A3 -k3 -O -o -y -Y -f'
108 *
109 * Revision 1.11 2014/11/18 23:11:57 smirnovd
110 * StIstDb: Added method to access transformation matrix for a given IST ladder/sensor pair
111 *
112 * Revision 1.10 2014/11/18 23:10:20 smirnovd
113 * Renamed printGeoHMatrices to customary Print as that what users of ROOT framework normaly expect
114 *
115 * Revision 1.9 2014/11/18 23:08:37 smirnovd
116 * Moved CVS log to the end of file and updated doxygen-style comments
117 *
118 * Revision 1.8 2014/09/05 17:36:54 smirnovd
119 * Slightly cleaned up (doxygen) comments
120 *
121 * Revision 1.7 2014/08/06 18:44:21 ypwang
122 * replace assert statement for gStTpcDb with normal variable check and LOG_WARN printout; non-ROOT methods formatted with STAR coding style
123 *
124 * Revision 1.6 2014/08/06 11:43:22 jeromel
125 * Suffix on literals need to be space (later gcc compiler makes it an error) - first wave of fixes
126 *
127 * Revision 1.5 2014/08/05 17:48:58 ypwang
128 * update Print() function to PrintGeoHMatrices()
129 *
130 * Revision 1.4 2014/08/01 22:25:48 ypwang
131 * Add several simple getters and data members for sub-level geometry matrices obtain; Add Print() function which print out all IST geometry matrices
132 *
133 * Revision 1.3 2014/07/31 21:01:29 smirnovd
134 * Set class version to 1 as version 0 has a special meaning in root cint world
135 *
136 * Revision 1.2 2014/07/31 21:01:21 smirnovd
137 * Made class getters const because we change nothing in the object
138 *
139 * Revision 1.1 2014/07/29 19:50:25 ypwang
140 * IST DB dataset in order to separate from IST Db maker
141 *
142 *
143 ****************************************************************************
144 * StIstDb.h,v 1.0
145 * Revision 1.0 2014/7/28 16:15:30 Yaping
146 * Initial version
147 ****************************************************************************/
const int kIstNumLadders
24 IST Ladders
const istSimPar_st * istSimPar()
Definition: StIstDb.h:63
const int kIstNumSensorsPerLadder
6 sensor per one IST Ladder