CMS 3D CMS Logo

CastorHardcodeGeometryEP.cc

Go to the documentation of this file.
00001 #include "Geometry/ForwardGeometry/plugins/CastorHardcodeGeometryEP.h"
00002 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00003 
00004 
00005 CastorHardcodeGeometryEP::CastorHardcodeGeometryEP(const edm::ParameterSet& iConfig)
00006 {
00007    //the following line is needed to tell the framework what
00008    // data is being produced
00009    setWhatProduced(this,"CASTOR");
00010    loader_=0;
00011 }
00012 
00013 
00014 CastorHardcodeGeometryEP::~CastorHardcodeGeometryEP()
00015 { 
00016   if (loader_) delete loader_;
00017 }
00018 
00019 
00020 //
00021 // member functions
00022 //
00023 
00024 // ------------ method called to produce the data  ------------
00025 CastorHardcodeGeometryEP::ReturnType
00026 CastorHardcodeGeometryEP::produce(const IdealGeometryRecord& iRecord)
00027 {
00028   //using namespace edm::es;
00029   if (loader_==0) {
00030     edm::ESHandle<CastorTopology> topo;
00031     try {
00032       iRecord.get(topo);
00033       loader_=new CastorHardcodeGeometryLoader(*topo); 
00034     } catch (...) {
00035       loader_=new CastorHardcodeGeometryLoader();
00036        edm::LogInfo("CASTOR") << "Using default Castor topology";
00037          }
00038         }
00039    std::auto_ptr<CaloSubdetectorGeometry> pCaloSubdetectorGeometry(loader_->load()) ;
00040 
00041    return pCaloSubdetectorGeometry ;
00042 }
00043 
00044 

Generated on Tue Jun 9 17:37:29 2009 for CMSSW by  doxygen 1.5.4