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