#include <CalibTracker/SiStripESProducers/interface/SiStripHashedDetIdESProducer.h>
Public Member Functions | |
std::auto_ptr< SiStripHashedDetId > | produce (const SiStripHashedDetIdRcd &) |
virtual std::auto_ptr < SiStripHashedDetId > | produce (const SiStripHashedDetIdRcd &) |
Calls pure virtual make() method, to force concrete implementation. | |
SiStripHashedDetIdESProducer (const edm::ParameterSet &) | |
SiStripHashedDetIdESProducer (const edm::ParameterSet &) | |
virtual | ~SiStripHashedDetIdESProducer () |
virtual | ~SiStripHashedDetIdESProducer () |
Private Member Functions | |
virtual SiStripHashedDetId * | make (const SiStripHashedDetIdRcd &)=0 |
const SiStripHashedDetIdESProducer & | operator= (const SiStripHashedDetIdESProducer &) |
SiStripHashedDetIdESProducer (const SiStripHashedDetIdESProducer &) |
Abstract base class for producer of SiStripHashedDetId record.
Definition at line 17 of file SiStripHashedDetIdESProducer.h.
SiStripHashedDetIdESProducer::SiStripHashedDetIdESProducer | ( | const edm::ParameterSet & | pset | ) |
Definition at line 13 of file SiStripHashedDetIdESProducer.cc.
References produce(), and edm::ESProducer::setWhatProduced().
00013 { 00014 setWhatProduced( this, &SiStripHashedDetIdESProducer::produce ); 00015 }
SiStripHashedDetIdESProducer::~SiStripHashedDetIdESProducer | ( | ) | [virtual] |
SiStripHashedDetIdESProducer::SiStripHashedDetIdESProducer | ( | const SiStripHashedDetIdESProducer & | ) | [private] |
SiStripHashedDetIdESProducer::SiStripHashedDetIdESProducer | ( | const edm::ParameterSet & | ) |
virtual SiStripHashedDetIdESProducer::~SiStripHashedDetIdESProducer | ( | ) | [virtual] |
virtual SiStripHashedDetId* SiStripHashedDetIdESProducer::make | ( | const SiStripHashedDetIdRcd & | ) | [private, pure virtual] |
Implemented in SiStripHashedDetIdFakeESSource, and SiStripHashedDetIdESModule.
const SiStripHashedDetIdESProducer& SiStripHashedDetIdESProducer::operator= | ( | const SiStripHashedDetIdESProducer & | ) | [private] |
std::auto_ptr<SiStripHashedDetId> SiStripHashedDetIdESProducer::produce | ( | const SiStripHashedDetIdRcd & | ) |
std::auto_ptr< SiStripHashedDetId > SiStripHashedDetIdESProducer::produce | ( | const SiStripHashedDetIdRcd & | rcd | ) | [virtual] |
Calls pure virtual make() method, to force concrete implementation.
Definition at line 23 of file SiStripHashedDetIdESProducer.cc.
References lat::endl(), StripGeomDetUnit::geographicalId(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getRecord(), iter, LogTrace, sistrip::mlDqmCommon_, and strip().
Referenced by SiStripHashedDetIdESProducer().
00023 { 00024 00025 // Retrieve geometry 00026 edm::ESHandle<TrackerGeometry> geom; 00027 rcd.getRecord<TrackerDigiGeometryRecord>().get( geom ); 00028 00029 // Build list of DetIds 00030 std::vector<uint32_t> dets; 00031 dets.reserve(16000); 00032 TrackerGeometry::DetUnitContainer::const_iterator iter = geom->detUnits().begin(); 00033 for( ; iter != geom->detUnits().end(); ++iter ) { 00034 const StripGeomDetUnit* strip = dynamic_cast<StripGeomDetUnit*>(*iter); 00035 if( strip ) { 00036 dets.push_back( (strip->geographicalId()).rawId() ); 00037 } 00038 } 00039 edm::LogVerbatim(mlDqmCommon_) 00040 << "[SiStripHashedDetIdESProducer::" << __func__ << "]" 00041 << " Retrieved " << dets.size() 00042 << " sistrip DetIds from geometry!"; 00043 00044 // Create hash map object 00045 SiStripHashedDetId* hash = new SiStripHashedDetId( dets ); 00046 LogTrace(mlDqmCommon_) 00047 << "[SiStripHashedDetIdESProducer::" << __func__ << "]" 00048 << " DetId hash map: " << std::endl 00049 << *hash; 00050 00051 return std::auto_ptr<SiStripHashedDetId>( hash ); 00052 00053 }