00001 #ifndef EcalSimAlgos_ESHitResponse_h 00002 #define EcalSimAlgos_ESHitResponse_h 00003 00004 #include "CalibFormats/CaloObjects/interface/CaloTSamples.h" 00005 #include "SimCalorimetry/EcalSimAlgos/interface/EcalHitResponse.h" 00006 00007 class ESHitResponse : public EcalHitResponse 00008 { 00009 public: 00010 00011 typedef CaloTSamples<float,3> ESSamples ; 00012 00013 ESHitResponse( const CaloVSimParameterMap* parameterMap , 00014 const CaloVShape* shape ) ; 00015 00016 virtual ~ESHitResponse() ; 00017 00018 virtual bool keepBlank() const { return false ; } 00019 00020 virtual unsigned int samplesSize() const ; 00021 00022 virtual EcalSamples* operator[]( unsigned int i ) ; 00023 00024 virtual const EcalSamples* operator[]( unsigned int i ) const ; 00025 00026 protected: 00027 00028 virtual unsigned int samplesSizeAll() const ; 00029 00030 virtual EcalSamples* vSamAll( unsigned int i ) ; 00031 00032 virtual const EcalSamples* vSamAll( unsigned int i ) const ; 00033 00034 virtual EcalSamples* vSam( unsigned int i ) ; 00035 00036 private: 00037 00038 std::vector<ESSamples> m_vSam ; 00039 }; 00040 #endif 00041 00042