CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/SimCalorimetry/EcalSimAlgos/interface/ESHitResponse.h

Go to the documentation of this file.
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