8#include <G4SystemOfUnits.hh>
39 void makeScansInterpolators(
const std::string &p_PathToFiles);
44 G4double
getCharge(G4double p_WavelengthKey);
45 G4double
getCharge(G4double p_WavelengthKey1, G4double p_WavelengthKey2);
47 G4double
getTransitTime(G4double p_WavelengthKey1, G4double p_WavelengthKey2);
54 bool m_scansInterpolatorsAvailable =
false;
55 bool m_QEWeightInterpolatorAvailable =
false;
56 bool m_QEInterpolatorAvailable =
false;
57 bool m_CEWeightInterpolatorAvailable =
false;
62 G4double m_wavelength;
63 std::vector<G4double> m_scannedWavelengths;
65 TGraph *m_relativeDetectionEfficiencyInterpolator;
66 TGraph *m_QEfileInterpolator;
67 TGraph *m_weightAbsorbedToQEInterpolator;
68 std::map<G4double, TH2D *> m_gainG2Dmap;
69 std::map<G4double, TH2D *> m_gainResolutionG2Dmap;
70 std::map<G4double, TH2D *> m_transitTimeG2Dmap;
71 std::map<G4double, TH2D *> m_transitTimeSpreadG2Dmap;
Class to simulate PMT response.
Definition OMSimPMTResponse.hh:20
PMTPulse getPulseFromKey(G4double p_WavelengthKey)
Definition OMSimPMTResponse.cc:168
void makeCEweightInterpolator(const std::string &p_FileName)
Configures the CE weight interpolator for PMT response.
Definition OMSimPMTResponse.cc:285
void setScannedWavelengths(std::vector< double > p_wavelengths)
Set the scanned wavelengths for the PMT response.
Definition OMSimPMTResponse.cc:383
PMTPulse processPhotocathodeHit(G4double pX, G4double pY, G4double pWavelength)
Process a hit on the photocathode into a PMT pulse.
Definition OMSimPMTResponse.cc:319
OMSimPMTResponse()
Definition OMSimPMTResponse.cc:16
void makeQEInterpolator(const std::string &p_FileName)
Creates the QE interpolator from the target QE file.
Definition OMSimPMTResponse.cc:196
std::vector< G4double > getScannedWavelengths()
Get the scanned wavelengths for the PMT response.
Definition OMSimPMTResponse.cc:393
G4double wavelengthInterpolatedValue(std::map< G4double, TH2D * > p_Map, G4double p_WavelengthKey1, G4double p_WavelengthKey2)
Definition OMSimPMTResponse.cc:155
G4double getTransitTime(G4double p_WavelengthKey)
Retrieve the transit time from measurements for a given wavelength.
Definition OMSimPMTResponse.cc:119
void makeQEweightInterpolator(const std::string &p_FileNameAbsorbedFraction)
Configures the QE weight interpolator for PMT response.
Definition OMSimPMTResponse.cc:232
G4double getCharge(G4double p_WavelengthKey)
Retrieve the charge in PE from measurements for a given wavelength.
Definition OMSimPMTResponse.cc:61
PMTPulse getPulseFromInterpolation(G4double p_WavelengthKey1, G4double p_WavelengthKey2)
Definition OMSimPMTResponse.cc:183
Represents the output pulse for a detected photon.
Definition OMSimPMTResponse.hh:29
G4double PE
Charge in photoelectrons.
Definition OMSimPMTResponse.hh:30
G4double transitTime
Detection time relative to average response of PMT.
Definition OMSimPMTResponse.hh:31
G4double detectionProbability
Probability of photon being detected.
Definition OMSimPMTResponse.hh:32