File indexing completed on 2023-03-17 11:23:41
0001 #ifndef EcalSimAlgos_ESHitResponse_h
0002 #define EcalSimAlgos_ESHitResponse_h
0003
0004 #include "CalibFormats/CaloObjects/interface/CaloTSamples.h"
0005 #include "SimCalorimetry/EcalSimAlgos/interface/EcalHitResponse.h"
0006
0007 class ESHitResponse : public EcalHitResponse {
0008 public:
0009 typedef CaloTSamples<float, 3> ESSamples;
0010
0011 ESHitResponse(const CaloVSimParameterMap* parameterMap, const CaloVShape* shape);
0012
0013 ~ESHitResponse() override;
0014
0015 virtual bool keepBlank() const { return false; }
0016
0017 unsigned int samplesSize() const override;
0018
0019 EcalSamples* operator[](unsigned int i) override;
0020
0021 const EcalSamples* operator[](unsigned int i) const override;
0022
0023 protected:
0024 unsigned int samplesSizeAll() const override;
0025
0026 EcalSamples* vSamAll(unsigned int i) override;
0027
0028 const EcalSamples* vSamAll(unsigned int i) const override;
0029
0030 EcalSamples* vSam(unsigned int i) override;
0031
0032 private:
0033 std::vector<ESSamples> m_vSam;
0034 };
0035 #endif