CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/Geometry/HcalEventSetup/src/CaloTowerHardcodeGeometryEP.cc

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Package:    CaloTowerHardcodeGeometryEP
00004 // Class:      CaloTowerHardcodeGeometryEP
00005 // 
00013 //
00014 // Original Author:  Jeremiah Mans
00015 //         Created:  Mon Oct  3 11:35:27 CDT 2005
00016 // $Id: CaloTowerHardcodeGeometryEP.cc,v 1.7 2012/10/10 15:35:07 yana Exp $
00017 //
00018 //
00019 
00020 #include "Geometry/HcalEventSetup/src/CaloTowerHardcodeGeometryEP.h"
00021 
00022 //
00023 // constants, enums and typedefs
00024 //
00025 
00026 //
00027 // static data member definitions
00028 //
00029 
00030 //
00031 // constructors and destructor
00032 //
00033 CaloTowerHardcodeGeometryEP::CaloTowerHardcodeGeometryEP(const edm::ParameterSet& iConfig)
00034 {
00035    //the following line is needed to tell the framework what
00036    // data is being produced
00037    setWhatProduced(this,"TOWER");
00038 
00039    //now do what ever other initialization is needed
00040    loader_=new CaloTowerHardcodeGeometryLoader(); 
00041 }
00042 
00043 
00044 CaloTowerHardcodeGeometryEP::~CaloTowerHardcodeGeometryEP()
00045 { 
00046   delete loader_;
00047 }
00048 
00049 
00050 //
00051 // member functions
00052 //
00053 
00054 // ------------ method called to produce the data  ------------
00055 CaloTowerHardcodeGeometryEP::ReturnType
00056 CaloTowerHardcodeGeometryEP::produce(const CaloTowerGeometryRecord& iRecord)
00057 {
00058   edm::ESHandle<HcalTopology> hcalTopology;
00059   iRecord.getRecord<IdealGeometryRecord>().get( hcalTopology );
00060   
00061   std::auto_ptr<CaloSubdetectorGeometry> pCaloSubdetectorGeometry( loader_->load( &*hcalTopology ));
00062 
00063   return pCaloSubdetectorGeometry ;
00064 }
00065 
00066