////////////////////////////////////////////////////////////////////////
/// \class RAT::CalibPMTSD
///
/// \brief Collection of hit PMTs for the current event. Is a singleton.
///
/// \author Phil G Jones
/// \author Aksel Hallin -- contact person
///
/// REVISION HISTORY:\n
/// 2013-12-16 : P G Jones - New file, replaces GLG4CalibPMTSD. \n
///
/// \details Each PMT hit is registered in this class. The collection is
/// cleared at the start of each event. The DQXX information is applied
/// here.
///
////////////////////////////////////////////////////////////////////////
#ifndef __RAT_CalibPMTSD_hh__
#define __RAT_CalibPMTSD_hh__
#include
namespace RAT
{
class CalibPMTSD : public G4VSensitiveDetector
{
public:
CalibPMTSD( G4String name,
const int lcn,
const double threshold,
const double efficiency );
virtual void Initialize( G4HCofThisEvent* );
virtual void EndOfEvent( G4HCofThisEvent* );
virtual G4bool ProcessHits( G4Step* step, G4TouchableHistory* );
protected:
double fTotalEnergyDeposited; ///< The total deposited energy in the event
double fLCN; ///< The logical channel number of this calib PMT
double fThresholdEnergy; ///< The threshold energy under which photoelectrons are produced
double fEfficiency; ///< The efficiency of this at detecting events above the energy threshold
};
} //::RAT
#endif