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 void setReadoutFrameSize(int frameSize) {readoutFrameSize_ = frameSize;} 00048 void setBinOfMaximum(int binOfMax) {binOfMaximum_ = binOfMax;} 00049 00051 bool doPhotostatistics() const {return doPhotostatistics_;} 00052 00054 bool syncPhase() const {return syncPhase_; } 00055 00056 00057 private: 00058 double simHitToPhotoelectrons_; 00059 double photoelectronsToAnalog_; 00060 double timePhase_; 00061 int readoutFrameSize_; 00062 int binOfMaximum_; 00063 bool doPhotostatistics_; 00064 bool syncPhase_; 00065 00066 }; 00067 00068 std::ostream & operator<<(std::ostream & os, const CaloSimParameters & p); 00069 00070 #endif 00071 00072