17 #ifndef ST_TRS_PARAMETERIZED_ANALOG_SIGNAL_GENERATOR_HH
18 #define ST_TRS_PARAMETERIZED_ANALOG_SIGNAL_GENERATOR_HH
22 #include "StTpcDb/StTpcDb.h"
25 #include "StTrsAnalogSignalGenerator.hh"
43 void sampleAnalogSignal();
45 double addNoise(
double sigma);
46 void addNoise(
bool l) {StTrsAnalogSignalGenerator::addNoise(l);}
47 void setNormalFactor(
double FudgeFactor);
48 void addSignal(
const int id,
const double signal,
SignalSum_t &sum);
55 void errorFunctionTableBuilder();
56 void localArrayBuilder();
57 double erf_fast(
double)
const;
66 double mDriftVelocity;
69 double mSamplingFrequency;
70 double mFractionSampled;
71 double mPadResponseFunctionSigma;
73 const double mPadResponseFunctionSigmaOuter;
74 const double mPadResponseFunctionSigmaInner;
77 vector<double, allocator<double> > mChargeFractionOuter;
78 vector<double, allocator<double> > mChargeFractionInner;
79 vector<double, allocator<double> > mErrorFunctionTable;
80 vector<double, allocator<double> > mYb;
82 double mNumberOfEntriesInTable;
83 double mRangeOfTable ;
90 int mNumberOfInnerRows;
93 double rowNormalization;
94 double padWidth, padLength;
95 double zoffset, wire_to_plane_coupling;
96 double xCentroid[100][500], yCentroid[100],SignalInTimeBin[1000],gain[100][500];
97 double delx, gridMinusZ, sigma_x, localXDirectionCoupling[500];
98 double dely, constant, localYDirectionCoupling;
99 double timeOfSignal, chargeOfSignal;
100 double t, tzero, K, sigmaLoverTau, lambda,lambdasqr;
101 double mAdcConversion;
102 double landauConstant,landauMean,landauSigma,expConstant,expSlope,landauCut,
103 GausConstant[6], GausMean[6], GausSigma2[6],ExpConstant[6],ExpSlope[6],cutT[6];
107 inline double StTrsParameterizedAnalogSignalGenerator::signalSampler(
double tt,
StTrsAnalogSignal& sig)
116 return realShaperResponse(tt,sig);
120 inline void StTrsParameterizedAnalogSignalGenerator::setNormalFactor(
double FudgeFactor) {normalFactor = FudgeFactor; cout <<
"TRS::Normal (Fudge) Factor applied to gain = " << normalFactor << endl;}