CMS 3D CMS Logo

CaloTopologyBuilder Class Reference

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

#include <Geometry/CaloEventSetup/plugins/CaloTopologyBuilder.h>

Inheritance diagram for CaloTopologyBuilder:

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

List of all members.

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


Detailed Description

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

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

Definition at line 36 of file CaloTopologyBuilder.h.


Member Typedef Documentation

typedef boost::shared_ptr< CaloTopology > CaloTopologyBuilder::ReturnType

Definition at line 42 of file CaloTopologyBuilder.h.


Constructor & Destructor Documentation

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

Definition at line 21 of file CaloTopologyBuilder.cc.

00022 { 
00023 }


Member Function Documentation

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 }


Member Data Documentation

ReturnType CaloTopologyBuilder::m_caloTopology [private]

Definition at line 50 of file CaloTopologyBuilder.h.

Referenced by produceCalo().


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