#include <tmp/EcalTBGeometryBuilder/interface/EcalTBGeometryBuilder.h>
Public Types | |
typedef std::auto_ptr < CaloGeometry > | ReturnType |
Public Member Functions | |
EcalTBGeometryBuilder (const edm::ParameterSet &) | |
ReturnType | produce (const IdealGeometryRecord &) |
~EcalTBGeometryBuilder () |
Implementation: <Notes on="" implementation>="">
Definition at line 37 of file EcalTBGeometryBuilder.h.
typedef std::auto_ptr<CaloGeometry> EcalTBGeometryBuilder::ReturnType |
Definition at line 42 of file EcalTBGeometryBuilder.h.
EcalTBGeometryBuilder::EcalTBGeometryBuilder | ( | const edm::ParameterSet & | iConfig | ) |
Definition at line 30 of file EcalTBGeometryBuilder.cc.
References edm::ESProducer::setWhatProduced().
00031 { 00032 //the following line is needed to tell the framework what 00033 // data is being produced 00034 setWhatProduced(this); 00035 00036 //now do what ever other initialization is needed 00037 }
EcalTBGeometryBuilder::~EcalTBGeometryBuilder | ( | ) |
EcalTBGeometryBuilder::ReturnType EcalTBGeometryBuilder::produce | ( | const IdealGeometryRecord & | iRecord | ) |
Definition at line 51 of file EcalTBGeometryBuilder.cc.
References DetId::Ecal, EcalBarrel, EcalLaserPnDiode, edm::eventsetup::EventSetupRecordImplementation< T >::get(), and edm::ESHandle< T >::product().
00052 { 00053 using namespace edm::es; 00054 edm::ESHandle<CaloSubdetectorGeometry> pG; 00055 00056 std::auto_ptr<CaloGeometry> pCaloGeom(new CaloGeometry()); 00057 00058 // TODO: Look for ECAL parts 00059 try { 00060 iRecord.get("EcalBarrel", pG); 00061 pCaloGeom->setSubdetGeometry(DetId::Ecal,EcalBarrel,pG.product()); 00062 } catch (...) { 00063 edm::LogWarning("MissingInput") << "No Ecal Barrel Geometry found"; 00064 } 00065 try { 00066 iRecord.get("EcalLaserPnDiode", pG); 00067 pCaloGeom->setSubdetGeometry(DetId::Ecal,EcalLaserPnDiode,pG.product()); 00068 } catch (...) { 00069 edm::LogWarning("MissingInput") << "No Ecal TB Hodoscope Geometry found"; 00070 } 00071 00072 return pCaloGeom; 00073 }