00001 // -*- C++ -*- 00002 // 00003 // Package: CaloGeometryBuilder 00004 // Class: CaloGeometryBuilder 00005 // 00013 // 00014 // Original Author: Jeremiah Mans 00015 // Created: Mon Oct 3 11:35:27 CDT 2005 00016 // $Id: CaloGeometryBuilder.h,v 1.4 2008/11/10 15:15:30 heltsley 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/Records/interface/CaloGeometryRecord.h" 00032 #include "Geometry/CaloGeometry/interface/CaloGeometry.h" 00033 00034 // 00035 // class decleration 00036 // 00037 00038 class CaloGeometryBuilder : public edm::ESProducer 00039 { 00040 public: 00041 00042 typedef boost::shared_ptr<CaloGeometry> ReturnType; 00043 00044 typedef edm::ESHandle<CaloSubdetectorGeometry> SubdType ; 00045 00046 CaloGeometryBuilder( const edm::ParameterSet& iConfig ) ; 00047 00048 virtual ~CaloGeometryBuilder() {} ; 00049 00050 ReturnType produceAligned( const CaloGeometryRecord& iRecord ) ; 00051 00052 private: 00053 // ----------member data --------------------------- 00054 00055 std::vector<std::string> theCaloList; 00056 }; 00057