spradlin / WCSim

The WCSim GEANT4 application
0 stars 0 forks source link

Questions about features of WCSimDetectorConstruction::GetPMTQE() #7

Open spradlin opened 3 years ago

spradlin commented 3 years ago

The implementation of method WCSimDetectorConstruction::GetPMTQE() has some features that i do not understand. This is a calculator method that operates on the quantum efficiency data stored in classes derived from WCSimPMTObject to do one of two things depending on the value of its flag argument:

  1. Retrieve and return the maximum quantum efficiency for the tube type (WCSimPMTObject::GetmaxQE()), or
  2. Use the PhotonWavelength argument to estimate the quantum efficiency by interpolating data arrays retrieved from the tube type class (WCSimPMTObject::GetQEWavelength() and WCSimPMTObject::GetQE()).

Some questions based on observation of this method:

  1. Why does it do both of these tasks? Its usage does not appear to require it, and the code for the two tasks is independent.
  2. When the maximum efficiency is requested, why is possible that the method will return 0 instead of the value retrieved from the PMT?
  3. Why are there three sets of limits for the photon range: a) the function arguments low_wl and high_wl, b) the internal hard-coded values of 280 and 660 nm, and c) the endpoints of the array returned by WCSimPMTObject::GetQEWavelength()?
  4. Why isn't there an error message when either of the photon range arguments are outside of the hard-coded endpoints?

I may have more questions, and maybe answers, later.