CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Attributes
TrackingRegionEDProducerT< T_TrackingRegionProducer > Class Template Reference

#include <TrackingRegionEDProducerT.h>

Inheritance diagram for TrackingRegionEDProducerT< T_TrackingRegionProducer >:
edm::stream::EDProducer<>

Public Types

using ProductType = edm::OwnVector< TrackingRegion >
 
- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Public Member Functions

void produce (edm::Event &iEvent, const edm::EventSetup &iSetup) override
 
 TrackingRegionEDProducerT (const edm::ParameterSet &iConfig)
 
 ~TrackingRegionEDProducerT () override=default
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () const final
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Attributes

T_TrackingRegionProducer regionProducer_
 

Detailed Description

template<typename T_TrackingRegionProducer>
class TrackingRegionEDProducerT< T_TrackingRegionProducer >

Definition at line 12 of file TrackingRegionEDProducerT.h.

Member Typedef Documentation

template<typename T_TrackingRegionProducer >
using TrackingRegionEDProducerT< T_TrackingRegionProducer >::ProductType = edm::OwnVector<TrackingRegion>

Definition at line 17 of file TrackingRegionEDProducerT.h.

Constructor & Destructor Documentation

template<typename T_TrackingRegionProducer >
TrackingRegionEDProducerT< T_TrackingRegionProducer >::TrackingRegionEDProducerT ( const edm::ParameterSet iConfig)
inline

Definition at line 19 of file TrackingRegionEDProducerT.h.

References TrackingRegionEDProducerT< T_TrackingRegionProducer >::~TrackingRegionEDProducerT().

19  :
20  regionProducer_(iConfig, consumesCollector()) {
21  produces<ProductType>();
22  }
T_TrackingRegionProducer regionProducer_
template<typename T_TrackingRegionProducer >
TrackingRegionEDProducerT< T_TrackingRegionProducer >::~TrackingRegionEDProducerT ( )
overridedefault

Member Function Documentation

template<typename T_TrackingRegionProducer >
static void TrackingRegionEDProducerT< T_TrackingRegionProducer >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
inlinestatic

Definition at line 26 of file TrackingRegionEDProducerT.h.

References fillDescriptions().

26  {
28  }
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
template<typename T_TrackingRegionProducer >
void TrackingRegionEDProducerT< T_TrackingRegionProducer >::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
inlineoverride

Definition at line 30 of file TrackingRegionEDProducerT.h.

References eostools::move(), edm::Event::put(), and TrackingRegionEDProducerT< T_TrackingRegionProducer >::regionProducer_.

30  {
31  auto regions = regionProducer_.regions(iEvent, iSetup);
32  auto ret = std::make_unique<ProductType>();
33  ret->reserve(regions.size());
34  for(auto& regionPtr: regions) {
35  ret->push_back(regionPtr.release());
36  }
37 
38  iEvent.put(std::move(ret));
39  }
T_TrackingRegionProducer regionProducer_
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:137
def move(src, dest)
Definition: eostools.py:510

Member Data Documentation

template<typename T_TrackingRegionProducer >
T_TrackingRegionProducer TrackingRegionEDProducerT< T_TrackingRegionProducer >::regionProducer_
private