00001 #ifndef CaloSimAlgos_CaloSimParameters_h 00002 #define CaloSimAlgos_CaloSimParameters_h 00003 00004 #include <iosfwd> 00005 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00006 #include "DataFormats/DetId/interface/DetId.h" 00014 class CaloSimParameters 00015 { 00016 public: 00017 // note: sampling factor not used 00018 CaloSimParameters(double simHitToPhotoelectrons, double photoelectronsToAnalog, 00019 double samplingFactor, double timePhase, 00020 int readoutFrameSize, int binOfMaximum, 00021 bool doPhotostatistics, bool syncPhase=true); 00022 00023 CaloSimParameters(const edm::ParameterSet & p); 00024 00025 virtual ~CaloSimParameters() {}; 00026 00031 double simHitToPhotoelectrons() const { return simHitToPhotoelectrons_;} 00032 virtual double simHitToPhotoelectrons(const DetId &) const { return simHitToPhotoelectrons_;} 00033 00035 double photoelectronsToAnalog() const {return photoelectronsToAnalog_;} 00036 virtual double photoelectronsToAnalog(const DetId & detId) const {return photoelectronsToAnalog_;} 00037 00039 double timePhase() const {return timePhase_;} 00040 00042 int readoutFrameSize() const {return readoutFrameSize_;} 00043 00044 int binOfMaximum() const {return binOfMaximum_;} 00045 00047 bool doPhotostatistics() const {return doPhotostatistics_;} 00048 00050 bool syncPhase() const {return syncPhase_; } 00051 00052 00053 private: 00054 double simHitToPhotoelectrons_; 00055 double photoelectronsToAnalog_; 00056 double timePhase_; 00057 int readoutFrameSize_; 00058 int binOfMaximum_; 00059 bool doPhotostatistics_; 00060 bool syncPhase_; 00061 00062 }; 00063 00064 std::ostream & operator<<(std::ostream & os, const CaloSimParameters & p); 00065 00066 #endif 00067 00068