00001 #ifndef HcalSimAlgos_HcalCoderFactory_h 00002 #define HcalSimAlgos_HcalCoderFactory_h 00003 00004 #include <memory> 00005 #include "CalibFormats/HcalObjects/interface/HcalDbService.h" 00006 #include "CalibFormats/HcalObjects/interface/HcalCoder.h" 00007 00008 class HcalCoderFactory 00009 { 00010 public: 00011 enum CoderType {DB, NOMINAL, UPGRADE}; 00012 00013 HcalCoderFactory(CoderType coderType); 00014 00015 void setDbService(const HcalDbService * service) {theDbService = service;} 00016 00018 std::auto_ptr<HcalCoder> coder(const DetId & detId) const; 00019 00020 private: 00021 00022 CoderType theCoderType; 00023 const HcalDbService * theDbService; 00024 }; 00025 00026 #endif 00027