00001 #ifndef HcalAlgos_HcalPulseShape_h 00002 #define HcalAlgos_HcalPulseShape_h 00003 00004 #include<vector> 00005 00006 class HcalPulseShape { 00007 public: 00008 HcalPulseShape(); 00009 void setNBin(int n); 00010 void setShapeBin(int i, float f); 00011 float getTpeak() const { return tpeak_; } 00012 float operator()(double time) const; 00013 float at(double time) const; 00014 float integrate(double tmin, double tmax) const; 00015 int nbins() const {return nbin_;} 00016 private: 00017 std::vector<float> shape_; 00018 int nbin_; 00019 float tpeak_; 00020 }; 00021 00022 #endif