54 void setMultiElectrons(
int layer,
int nElectrons,
const std::vector<Float_t> &x,
const std::vector<Float_t> &y,
const std::vector<Float_t> &z,
const std::vector<Float_t> &
t){};
84 m_QinGausSigma[0]=sigma[0];
85 m_QinGausSigma[1]=sigma[1];
93 std::string m_LUTFilePath;
94 std::string m_V2EfineFile;
98 std::vector<int> m_xstripSheet;
99 std::vector<int> m_xstripID;
100 std::vector<int> m_vstripSheet;
101 std::vector<int> m_vstripID;
102 std::vector<double> m_xstripQ;
103 std::vector<double> m_vstripQ;
104 std::vector<double> m_xstripT_Branch;
105 std::vector<double> m_vstripT_Branch;
106 std::vector<double> m_xstripQ_Branch;
107 std::vector<double> m_vstripQ_Branch;
108 std::vector<double> m_xTfirst;
109 std::vector<double> m_vTfirst;
111 std::map<int, double> m_mapQ[2][2];
113 double RatioX[3][5][5][4];
114 double RatioV[3][5][5][4];
119 double SignalX[3][5][5][4][100];
120 double SignalV[3][5][5][4][100];
122 double T_thr_V[3][2][2][1395];
123 double E_thr_V[3][2][2][1395];
124 double QDC_slope[3][2][2][1395];
125 double QDC_const[3][2][2][1395];
126 double Qsaturation[3][2][2][1395];
128 double Vref[3][2][2][1395];
129 double toE_slope[3][2][2][1395];
130 double toE_const[3][2][2][1395];
143 void conv1PerGrid_legacy(
int Save_Grid,
double *hist_bin_Content,
144 const std::vector<int> &hitlist,
int layer,
int axis)
const;
145 void conv1PerGrid_fft(
int Save_Grid,
double *hist_bin_Content,
146 const std::vector<int> &hitlist,
int layer,
int axis)
const;
147 void conv1PerGrid_legacy(
int gridX,
int gridV,
int indexOID,
double *hist_bin_Content,
148 const std::vector<int> &elecHitHist,
int layer,
int axis)
const;
149 void conv1PerGrid_fft(
int gridX,
int gridV,
int indexOID,
double *hist_bin_Content,
150 const std::vector<int> &elecHitHist,
int layer,
int axis)
const;
152 void calcMapQFromHitHistMap(
const HitHistMap &histmap,
int layer, std::map<int, double> mapQ[2][2])
const;
153 void calcSaveSheetXVFromMapQ(vector<int> &Save_Sheetx, vector<int> &Save_Sheetv, std::map<int, double>
const mapQ[2][2])
const;
154 void calcStripCurrent(
double *strip_current,
double &timeFirstHit,
const HitHistMap &histmap,
155 int layer,
int req_sheetid,
int req_stripid,
int xvaxis)
const;
156 void calcStripCurrent(
double *strip_current,
double &timeFirstHit,
const std::map<
IndexGar,std::vector<double> > &histFFTmap,
const HitHistMap &histmap,
int layer,
int req_sheetid,
int req_stripid,
int xvaxis)
const ;
157 void calcHitHistFftMap(std::map<
IndexGar,std::vector<double> > &histFFTMap,
const HitHistMap &histmap)
const;
159 double m_QinGausSigma[2];
160 std::set<int> m_deadStrip[3][2][2];
161 double m_ScaleSignalX;
162 bool isDeadStrip(
int layer,
int sheet,
int XVview,
int strip);
167 const std::vector<Float_t> *
x, *
y, *
z, *
t;
std::map< IndexGar, std::vector< int > > HitHistMap
std::vector< double > EBranch
TH1D Convolution_Ebranch_fft(const double *Input_Curr_plot_001)
return convolve of Input_Curr_plot_001 and T_Branch2, a function; tries to mimic Convolution_Ebranch ...
TH1D Convolution_Tbranch_fft(const double *Input_Curr_plot_001)
return convolve of Input_Curr_plot_001 and T_Branch2, a function; tries to mimic Convolution_Tbranch ...
std::vector< double > TBranch
basically, convolve with fft. convolves 1-d. if size of 2 inputs are fixed, it may yield optimal spee...
double getXfirstT(int n) const
double getXstripQ_Branch(int n) const
void setQinGausSigma(vector< double > sigma)
int getXstripID(int n) const
double getXstripT_Branch(int n) const
void setScaleSignalX(double ScaleSignalX)
void init(ICgemGeomSvc *geomSvc, double magConfig)
double getXstripQ(int n) const
void setDebugOutput(bool debugOutput)
void setLUTFilePath(std::string path)
void setV2EfineFile(std::string path)
void setVsampleDelay(double delay)
void setMultiElectrons(int layer, int nElectrons, const std::vector< Float_t > &x, const std::vector< Float_t > &y, const std::vector< Float_t > &z, const std::vector< Float_t > &t)
double getVstripT(int n) const
int getXstripSheet(int n) const
int getVstripSheet(int n) const
double getVfirstT(int n) const
double getVstripT_Branch(int n) const
double getVstripQ_Branch(int n) const
void setStoreFlag(bool flag)
double getVstripQ(int n) const
void setSaturation(bool flag)
int getVstripID(int n) const
double getXstripT(int n) const
const std::vector< Float_t > * z
const std::vector< Float_t > * t
const std::vector< Float_t > * x
const std::vector< Float_t > * y