1 #ifndef FWCore_Framework_ProducerBase_h
2 #define FWCore_Framework_ProducerBase_h
16 #include <unordered_map>
22 class BranchDescription;
23 class ModuleDescription;
24 class ProducesCollector;
25 class ProductRegistry;
47 class ProducingModuleAdaptorBase;
50 namespace producerbasehelper {
59 static constexpr
int kBranchType =
InRun;
63 static constexpr
int kBranchType =
InLumi;
67 static constexpr
int kBranchType =
InEvent;
90 std::unordered_multimap<std::string, std::tuple<edm::TypeID const*, const char*, edm::ProductResolverIndex>>;
117 template <
typename T>
120 template <
typename P>
125 template <
typename P,
typename I>
void commit_(P &iPrincipal, I *iID)
void callWhenNewProductsRegistered(std::function< void(BranchDescription const &)> const &func)
std::vector< bool > const & recordProvenanceList() const
TypeLabelList const & typeLabelList() const
used by the fwk to register the list of products of this module
std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >> ModuleToResolverIndicies
ProductRegistryHelper::TypeLabelList TypeLabelList
void registerProducts(ProducerBase *, ProductRegistry *, ModuleDescription const &)
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t Func __host__ __device__ V int Func func
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex() const
std::function< void(BranchDescription const &)> callWhenNewProductsRegistered_
std::array< std::vector< edm::ProductResolverIndex >, edm::NumBranchTypes > putIndicies_
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
void resolvePutIndicies(BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts(BranchType iBranchType) const
~ProducerBase() noexcept(false) override
std::vector< TypeLabelItem > TypeLabelList
#define override(base_class)
const std::complex< double > I
std::vector< edm::ProductResolverIndex > putTokenToResolverIndex_
ProducesCollector producesCollector()
std::pair< OmniClusterRef, TrackingParticleRef > P
std::function< void(BranchDescription const &)> registrationCallback() const
used by the fwk to register list of products
void commit_(P &iPrincipal)