00001 // -*- C++ -*- 00002 // 00003 // Package: CaloTopologyBuilder 00004 // Class: CaloTopologyBuilder 00005 // 00013 // 00014 // Original Author: Paolo Meridiani 00015 // $Id: CaloTopologyBuilder.h,v 1.2 2008/04/21 22:14:19 heltsley Exp $ 00016 // 00017 // 00018 00019 00020 // system include files 00021 #include <memory> 00022 #include "boost/shared_ptr.hpp" 00023 00024 // user include files 00025 #include "FWCore/Framework/interface/ESProducer.h" 00026 00027 #include "FWCore/Framework/interface/ESHandle.h" 00028 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00029 #include "Geometry/Records/interface/CaloTopologyRecord.h" 00030 #include "Geometry/CaloTopology/interface/CaloTopology.h" 00031 00032 // 00033 // class decleration 00034 // 00035 00036 class CaloTopologyBuilder : public edm::ESProducer 00037 { 00038 public: 00039 CaloTopologyBuilder( const edm::ParameterSet& iP ); 00040 ~CaloTopologyBuilder() ; 00041 00042 typedef boost::shared_ptr< CaloTopology > ReturnType; 00043 00044 ReturnType produceCalo( const CaloTopologyRecord& ); 00045 ReturnType produceIdeal( const IdealGeometryRecord& ); 00046 00047 private: 00048 // ----------member data --------------------------- 00049 00050 ReturnType m_caloTopology ; 00051 }; 00052