CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/SimCalorimetry/HcalSimAlgos/interface/HcalCoderFactory.h

Go to the documentation of this file.
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