00001 // -*- C++ -*- 00002 // 00003 // Package: CaloTowerConstituentsMapBuilder 00004 // Class: CaloTowerConstituentsMapBuilder 00005 // 00013 // 00014 // Original Author: Jeremiah Mans 00015 // Created: Mon Oct 3 11:35:27 CDT 2005 00016 // $Id: CaloTowerConstituentsMapBuilder.h,v 1.4 2012/10/26 09:47:48 yana Exp $ 00017 // 00018 // 00019 00020 00021 // system include files 00022 #include <memory> 00023 #include "boost/shared_ptr.hpp" 00024 00025 // user include files 00026 #include "FWCore/Framework/interface/ESProducer.h" 00027 00028 #include "FWCore/Framework/interface/ESHandle.h" 00029 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00030 #include "Geometry/Records/interface/IdealGeometryRecord.h" 00031 #include "Geometry/CaloTopology/interface/CaloTowerConstituentsMap.h" 00032 00033 namespace edm { 00034 class ConfigurationDescriptions; 00035 } 00036 00037 // 00038 // class decleration 00039 // 00040 00041 class CaloTowerConstituentsMapBuilder : public edm::ESProducer { 00042 public: 00043 CaloTowerConstituentsMapBuilder(const edm::ParameterSet&); 00044 ~CaloTowerConstituentsMapBuilder(); 00045 00046 typedef std::auto_ptr<CaloTowerConstituentsMap> ReturnType; 00047 00048 ReturnType produce(const IdealGeometryRecord&); 00049 static void fillDescriptions(edm::ConfigurationDescriptions & descriptions); 00050 00051 private: 00052 void parseTextMap(const std::string& filename,CaloTowerConstituentsMap& theMap); 00053 std::string mapFile_; 00054 }; 00055