10 #ifndef __DetectorResponse_h_
11 #define __DetectorResponse_h_
29 namespace TabulatedTankSimulatorNS {
49 const double nMD = 2.;
67 std::vector <std::pair<int, double> >
prob;
68 std::vector <std::pair<int, double> >
cdf;
89 DetectorResponse(
bool flag =
false,
int DetectorType = 0 ,
bool UseEnlargeArea =
false);
100 double Interpolate(
double* x,
double* y,
double f);
103 bool IsHit(
double ke,
double theta,
int itype ,
double f);
104 double GetPe(
double ke,
double theta,
int itype ,
double f);
106 int GetBin(
double lkeo,
double to,
int itype,
int* ibins,
bool& flag);
113 bool ReadCDFFile(std::vector<PeCDF>* fCDFs,
int size);
116 double GetAreaProj(
int itype,
double theta,
double ke);
117 double GetAreaPerp(
int itype,
double theta,
double ke);
126 #endif // __DetectorResponse_h_
DetectorResponse(bool flag=false, int DetectorType=0, bool UseEnlargeArea=false)
PeCDF GetCDF(int itype, int ibin)
bool ReadCDFFile(std::vector< PeCDF > *fCDFs, int size)
const double UnitPerPE_md
const double UnitPerPE_wcd
std::vector< PeCDF > fMuonLowCDFs
double GetAreaPerp(int itype, double theta, double ke)
void SetUpCDFs(PeCDF *pCDF)
const double UnitPerPE_scin
double GetAreaProj(int itype, double theta, double ke)
std::vector< PeCDF > fGammaCDFs
bool ReadG4File(PeCDF &pCDF, PeCDF &pCDF_dec)
double GetRelativeTrack(double theta)
std::vector< PeCDF > fMichelElectronCDFs
double GetPe(double ke, double theta, int itype, double f)
std::vector< std::pair< int, double > > prob
const char * GetParticleName(int itype)
bool WriteCDFFile(std::vector< PeCDF > *fCDFs)
bool IsHit(double ke, double theta, int itype, double f)
double GetSignalBin(double f, PeCDF &fPeCDF)
double Interpolate(double *x, double *y, double f)
std::vector< PeCDF > fElectronCDFs
std::vector< PeCDF > fMichelElectronLowCDFs
std::vector< std::pair< int, double > > cdf
std::vector< PeCDF > fMuonCDFs
int GetBin(double lkeo, double to, int itype, int *ibins, bool &flag)
const double fEnlargeArea