00001 // -*- C++ -*- 00002 #ifndef HcalSimAlgos_HcalSiPMHitResponse_h 00003 #define HcalSimAlgos_HcalSiPMHitResponse_h 00004 00005 #include "SimCalorimetry/CaloSimAlgos/interface/CaloHitResponse.h" 00006 00007 class HcalSiPM; 00008 00009 class HcalSiPMHitResponse : public CaloHitResponse { 00010 00011 public: 00012 HcalSiPMHitResponse(const CaloVSimParameterMap * parameterMap, 00013 const CaloVShape * shape); 00014 00015 virtual ~HcalSiPMHitResponse(); 00016 00017 virtual void run(MixCollection<PCaloHit> & hits); 00018 00019 virtual void setRandomEngine(CLHEP::HepRandomEngine & engine); 00020 00021 protected: 00022 00023 virtual CaloSamples makeSiPMSignal(const PCaloHit & inHit, int & integral) const; 00024 00025 HcalSiPM * theSiPM; 00026 double theRecoveryTime; 00027 }; 00028 00029 #endif //HcalSimAlgos_HcalSiPMHitResponse_h