#include <Geometry/CaloEventSetup/plugins/CaloTopologyBuilder.h>
Public Types | |
typedef boost::shared_ptr < CaloTopology > | ReturnType |
Public Member Functions | |
CaloTopologyBuilder (const edm::ParameterSet &iP) | |
ReturnType | produceCalo (const CaloTopologyRecord &) |
ReturnType | produceIdeal (const IdealGeometryRecord &) |
~CaloTopologyBuilder () | |
Private Attributes | |
ReturnType | m_caloTopology |
Implementation: <Notes on="" implementation>="">
Definition at line 36 of file CaloTopologyBuilder.h.
typedef boost::shared_ptr< CaloTopology > CaloTopologyBuilder::ReturnType |
Definition at line 42 of file CaloTopologyBuilder.h.
CaloTopologyBuilder::CaloTopologyBuilder | ( | const edm::ParameterSet & | iP | ) |
Definition at line 10 of file CaloTopologyBuilder.cc.
References produceCalo(), and edm::ESProducer::setWhatProduced().
00011 { 00012 //the following line is needed to tell the framework what 00013 // data is being produced 00014 00015 // disable 00016 // setWhatProduced( this, &CaloTopologyBuilder::produceIdeal ); 00017 setWhatProduced( this, &CaloTopologyBuilder::produceCalo ); 00018 }
CaloTopologyBuilder::~CaloTopologyBuilder | ( | ) |
CaloTopologyBuilder::ReturnType CaloTopologyBuilder::produceCalo | ( | const CaloTopologyRecord & | iRecord | ) |
Definition at line 32 of file CaloTopologyBuilder.cc.
References DetId::Ecal, EcalBarrel, EcalEndcap, EcalPreshower, edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getRecord(), and m_caloTopology.
Referenced by CaloTopologyBuilder().
00033 { 00034 if( 0 == m_caloTopology.get() ) // ignore updates because cell list will not change! 00035 { 00036 edm::ESHandle<CaloGeometry> theGeometry ; 00037 iRecord.getRecord<CaloGeometryRecord>().get( theGeometry ) ; 00038 00039 m_caloTopology = ReturnType( new CaloTopology ) ; 00040 //ECAL parts 00041 m_caloTopology->setSubdetTopology( DetId::Ecal, 00042 EcalBarrel, 00043 new EcalBarrelTopology( theGeometry ) ) ; 00044 m_caloTopology->setSubdetTopology( DetId::Ecal, 00045 EcalEndcap, 00046 new EcalEndcapTopology( theGeometry ) ) ; 00047 m_caloTopology->setSubdetTopology( DetId::Ecal, 00048 EcalPreshower, 00049 new EcalPreshowerTopology(theGeometry)); 00050 } 00051 return m_caloTopology; 00052 }
CaloTopologyBuilder::ReturnType CaloTopologyBuilder::produceIdeal | ( | const IdealGeometryRecord & | iRecord | ) |
Definition at line 55 of file CaloTopologyBuilder.cc.
References ct, DetId::Ecal, EcalBarrel, EcalEndcap, EcalPreshower, and edm::eventsetup::EventSetupRecordImplementation< T >::get().
00056 { 00057 edm::ESHandle<CaloGeometry> theGeometry ; 00058 iRecord.get( theGeometry ) ; 00059 00060 ReturnType ct ( new CaloTopology ) ; 00061 00062 //ECAL parts 00063 ct->setSubdetTopology( DetId::Ecal, 00064 EcalBarrel, 00065 new EcalBarrelTopology( theGeometry ) ) ; 00066 00067 ct->setSubdetTopology( DetId::Ecal, 00068 EcalEndcap, 00069 new EcalEndcapTopology( theGeometry ) ) ; 00070 00071 ct->setSubdetTopology( DetId::Ecal, 00072 EcalPreshower, 00073 new EcalPreshowerTopology(theGeometry)); 00074 return ct ; 00075 }