00001 #ifndef HcalSimAlgos_HcalSimParameterMap_h 00002 #define HcalSimAlgos_HcalSimParameterMap_h 00003 00004 #include "SimCalorimetry/CaloSimAlgos/interface/CaloVSimParameterMap.h" 00005 #include "SimCalorimetry/HcalSimAlgos/interface/HcalSimParameters.h" 00006 #include "SimCalorimetry/HcalSimAlgos/interface/HFSimParameters.h" 00007 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00008 #include "DataFormats/HcalDetId/interface/HcalDetId.h" 00009 00010 class HcalSimParameterMap : public CaloVSimParameterMap 00011 { 00012 public: 00014 HcalSimParameterMap(); 00016 HcalSimParameterMap(const edm::ParameterSet & p); 00017 00018 virtual ~HcalSimParameterMap() {} 00019 00020 virtual const CaloSimParameters & simParameters(const DetId & id) const; 00021 00023 const HcalSimParameters & hbParameters() const {return theHBParameters;} 00024 const HcalSimParameters & heParameters() const {return theHEParameters;} 00025 const HcalSimParameters & hoParameters() const {return theHOParameters;} 00026 const HFSimParameters & hfParameters1() const {return theHFParameters1;} 00027 const HFSimParameters & hfParameters2() const {return theHFParameters2;} 00028 const HFSimParameters & zdcParameters() const {return theZDCParameters;} 00029 00030 void setDbService(const HcalDbService * service); 00031 00032 void setFrameSize(const DetId & detId, int frameSize); 00033 00034 void setHOZecotekDetIds(const std::vector<HcalDetId> & ids) 00035 { 00036 theHOZecotekDetIds = ids; 00037 } 00038 void setHOHamamatsuDetIds(const std::vector<HcalDetId> & ids) 00039 { 00040 theHOHamamatsuDetIds = ids; 00041 } 00042 00043 private: 00044 void setFrameSize(CaloSimParameters & parameters, int frameSize); 00045 00046 HcalSimParameters theHBParameters; 00047 HcalSimParameters theHEParameters; 00048 HcalSimParameters theHOParameters; 00049 HcalSimParameters theHOZecotekSiPMParameters; 00050 HcalSimParameters theHOHamamatsuSiPMParameters; 00051 HFSimParameters theHFParameters1; 00052 HFSimParameters theHFParameters2; 00053 HFSimParameters theZDCParameters; 00054 std::vector<HcalDetId> theHOZecotekDetIds; 00055 std::vector<HcalDetId> theHOHamamatsuDetIds; 00056 }; 00057 00058 #endif 00059