57 #include "StPxlUtil/StPxlConstants.h"
59 #include "TGeoMatrix.h"
62 class pxlSensorStatus_st;
63 class pxlRowColumnStatus_st;
64 class pxlBadRowColumns_st;
65 class pxlHotPixels_st;
67 class pxlSensorTps_st;
70 class pxlDigmapsSim_st;
103 {
return mGeoHMatrixTpcOnGlobal;}
104 const TGeoHMatrix *geoHMatrixIdsOnTpc()
const
105 {
return &mGeoHMatrixIdsOnTpc;}
106 const TGeoHMatrix *geoHMatrixPstOnIds()
const
107 {
return &mGeoHMatrixPstOnIds;}
108 const TGeoHMatrix *geoHMatrixPxlOnPst()
const
109 {
return &mGeoHMatrixPxlOnPst;}
111 {
return &mGeoHMatrixHalfOnPxl[half - 1];}
112 const TGeoHMatrix *geoHMatrixSectorOnHalf(Int_t sector)
const
113 {
return &mGeoHMatrixSectorOnHalf[sector - 1];}
114 const TGeoHMatrix *geoHMatrixLadderOnSector(Int_t sector, Int_t ladder)
const
115 {
return &mGeoHMatrixLadderOnSector[sector - 1][ladder - 1];}
116 const TGeoHMatrix *geoHMatrixSensorOnLadder(Int_t sector, Int_t ladder, Int_t sensor)
const
117 {
return &mGeoHMatrixSensorOnLadder[sector - 1][ladder - 1][sensor - 1];}
118 const TGeoHMatrix *geoHMatrixSensorOnGlobal(Int_t sector, Int_t ladder, Int_t sensor)
const
119 {
return &mGeoHMatrixSensorOnGlobal[sector - 1][ladder - 1][sensor - 1];}
122 Int_t
sensorStatus(Int_t sector, Int_t ladder, Int_t sensor)
const;
123 Int_t
rowStatus(Int_t sector, Int_t ladder, Int_t sensor, Int_t row)
const;
125 Int_t
pixelHot(Int_t sector, Int_t ladder, Int_t sensor, Int_t row, Int_t
column)
const;
127 {
return mThinPlateSpline[sector - 1][ladder - 1][sensor - 1];}
140 void setRowColumnStatus(pxlRowColumnStatus_st *rowColumnStatus) {mRowColumnStatusTable = rowColumnStatus;}
141 void setBadRowColumns(pxlBadRowColumns_st *badRowColumns);
142 void setHotPixels(pxlHotPixels_st *hotPixelsTable);
148 virtual void Print(Option_t *opt =
"")
const;
149 virtual const char *GetCVS()
const {
150 static const char cvs[] =
"Tag $Name: $ $Id: StPxlDb.h,v 1.11 2018/03/15 21:33:07 dongx Exp $ built " __DATE__
" " __TIME__ ;
156 TGeoHMatrix *mGeoHMatrixTpcOnGlobal;
157 TGeoHMatrix mGeoHMatrixIdsOnTpc;
158 TGeoHMatrix mGeoHMatrixPstOnIds;
159 TGeoHMatrix mGeoHMatrixPxlOnPst;
160 TGeoHMatrix mGeoHMatrixHalfOnPxl[2];
161 TGeoHMatrix mGeoHMatrixSectorOnHalf[kNumberOfPxlSectors];
162 TGeoHMatrix mGeoHMatrixLadderOnSector[kNumberOfPxlSectors][kNumberOfPxlLaddersPerSector];
163 TGeoHMatrix mGeoHMatrixSensorOnLadder[kNumberOfPxlSectors][kNumberOfPxlLaddersPerSector][kNumberOfPxlSensorsPerLadder];
164 TGeoHMatrix mGeoHMatrixSensorOnGlobal[kNumberOfPxlSectors][kNumberOfPxlLaddersPerSector][kNumberOfPxlSensorsPerLadder];
167 pxlSensorStatus_st *mSensorStatusTable;
168 pxlRowColumnStatus_st *mRowColumnStatusTable;
169 map<unsigned int,short> mMapHotPixels;
170 pxlControl_st *mPxlControl;
171 StThinPlateSpline *mThinPlateSpline[kNumberOfPxlSectors][kNumberOfPxlLaddersPerSector][kNumberOfPxlSensorsPerLadder];
172 pxlDigmapsSim_st *mPxlDigmapsSim;
173 pxlSimPar_st *mPxlSimPar;
void setThinPlateSpline(pxlSensorTps_st *pxlSensorTps)
create sensor thin plate spline functions and set their parameters
const pxlSimPar_st * pxlSimPar()
const pxlDigmapsSim_st * pxlDigmapsSim()
const pxlControl_st * pxlControl()
void setGeoHMatrices(Survey_st **tables)
set geoHMatrix parameters with parameters from Survey_st tables
Int_t pixelHot(Int_t sector, Int_t ladder, Int_t sensor, Int_t row, Int_t column) const
1: hot; 0: good
Int_t sensorStatus(Int_t sector, Int_t ladder, Int_t sensor) const
status for sensor/row/column
const TGeoHMatrix * geoHMatrixTpcOnGlobal() const
geoHMatrices describing rotation + shift tranlations between different coordinate systems ...
Int_t rowStatus(Int_t sector, Int_t ladder, Int_t sensor, Int_t row) const
1: good status
const TGeoHMatrix * geoHMatrixHalfOnPxl(Int_t half) const
< 1: north 2: south
Int_t columnStatus(Int_t sector, Int_t ladder, Int_t sensor, Int_t column) const
1: good status
const StThinPlateSpline * thinPlateSpline(Int_t sector, Int_t ladder, Int_t sensor) const
< thin plate spline function to describe the sensor surface