CMS 3D CMS Logo

EcalTBGeometryBuilder Class Reference

Description: <one line="" class="" summary>="">. More...

#include <tmp/EcalTBGeometryBuilder/interface/EcalTBGeometryBuilder.h>

Inheritance diagram for EcalTBGeometryBuilder:

edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

List of all members.

Public Types

typedef std::auto_ptr
< CaloGeometry
ReturnType

Public Member Functions

 EcalTBGeometryBuilder (const edm::ParameterSet &)
ReturnType produce (const IdealGeometryRecord &)
 ~EcalTBGeometryBuilder ()


Detailed Description

Description: <one line="" class="" summary>="">.

Implementation: <Notes on="" implementation>="">

Definition at line 37 of file EcalTBGeometryBuilder.h.


Member Typedef Documentation

typedef std::auto_ptr<CaloGeometry> EcalTBGeometryBuilder::ReturnType

Definition at line 42 of file EcalTBGeometryBuilder.h.


Constructor & Destructor Documentation

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 (  ) 

Definition at line 40 of file EcalTBGeometryBuilder.cc.

00041 { 
00042 }


Member Function Documentation

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 }


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:19:56 2009 for CMSSW by  doxygen 1.5.4