FWCore
Framework
interface
ProducesCollector.h
Go to the documentation of this file.
1
#ifndef FWCore_Framework_ProducesCollector_h
2
#define FWCore_Framework_ProducesCollector_h
3
4
// Package: FWCore/Framework
5
// Class : edm::ProducesCollector
6
//
28
//
29
// Original Author: W. David Dagenhart
30
// Created: 24 September 2019
31
32
#include "
FWCore/Framework/interface/ProductRegistryHelper.h
"
33
#include "
FWCore/Utilities/interface/propagate_const.h
"
34
#include "
FWCore/Utilities/interface/Transition.h
"
35
36
#include <string>
37
#include <utility>
38
39
namespace
edm
{
40
41
class
TypeID;
42
43
class
ProducesCollector
{
44
public
:
45
ProducesCollector
() =
delete
;
46
ProducesCollector
(
ProducesCollector
const
&);
47
ProducesCollector
(
ProducesCollector
&&) =
default
;
48
ProducesCollector
&
operator=
(
ProducesCollector
const
&);
49
ProducesCollector
&
operator=
(
ProducesCollector
&&) =
default
;
50
51
template
<
class
ProductType>
52
ProductRegistryHelper::BranchAliasSetterT<ProductType>
produces
() {
53
return
helper_
->produces<ProductType>();
54
}
55
56
template
<
class
ProductType>
57
ProductRegistryHelper::BranchAliasSetterT<ProductType>
produces
(
std::string
instanceName
) {
58
return
helper_
->produces<ProductType>(
std::move
(
instanceName
));
59
}
60
61
template
<
typename
ProductType, Transition B>
62
ProductRegistryHelper::BranchAliasSetterT<ProductType>
produces
() {
63
return
helper_
->produces<ProductType,
B
>();
64
}
65
66
template
<
typename
ProductType, Transition B>
67
ProductRegistryHelper::BranchAliasSetterT<ProductType>
produces
(
std::string
instanceName
) {
68
return
helper_
->produces<ProductType,
B
>(
std::move
(
instanceName
));
69
}
70
71
ProductRegistryHelper::BranchAliasSetter
produces
(
const
TypeID
&
id
,
72
std::string
instanceName
=
std::string
(),
73
bool
recordProvenance =
true
);
74
75
template
<Transition B>
76
ProductRegistryHelper::BranchAliasSetter
produces
(
const
TypeID
&
id
,
77
std::string
instanceName
=
std::string
(),
78
bool
recordProvenance =
true
) {
79
return
helper_
->produces<
B
>(
id
,
std::move
(
instanceName
), recordProvenance);
80
}
81
82
private
:
83
friend
class
ProducerBase
;
84
ProducesCollector
(
ProductRegistryHelper
*
helper
);
85
86
propagate_const<ProductRegistryHelper*>
helper_
;
87
};
88
89
}
// namespace edm
90
#endif
edm::ProductRegistryHelper::BranchAliasSetterT
Definition:
ProductRegistryHelper.h:70
propagate_const.h
edm
HLT enums.
Definition:
AlignableModifier.h:19
edm::ProducesCollector::produces
ProductRegistryHelper::BranchAliasSetterT< ProductType > produces(std::string instanceName)
Definition:
ProducesCollector.h:67
edm::ProductRegistryHelper::BranchAliasSetter
Definition:
ProductRegistryHelper.h:51
edm::ProducesCollector::ProducesCollector
ProducesCollector()=delete
ProductRegistryHelper.h
edm::ProducesCollector::helper_
propagate_const< ProductRegistryHelper * > helper_
Definition:
ProducesCollector.h:86
edm::ProducesCollector::produces
ProductRegistryHelper::BranchAliasSetterT< ProductType > produces()
Definition:
ProducesCollector.h:62
edm::propagate_const
Definition:
propagate_const.h:32
Transition.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
helper
Definition:
helper.py:1
edm::ProducesCollector::produces
ProductRegistryHelper::BranchAliasSetterT< ProductType > produces(std::string instanceName)
Definition:
ProducesCollector.h:57
edm::ProducesCollector::produces
ProductRegistryHelper::BranchAliasSetterT< ProductType > produces()
Definition:
ProducesCollector.h:52
edm::ProducesCollector::produces
ProductRegistryHelper::BranchAliasSetter produces(const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
Definition:
ProducesCollector.h:76
TtFullHadDaughter::B
static const std::string B
Definition:
TtFullHadronicEvent.h:9
edm::TypeID
Definition:
TypeID.h:22
eostools.move
def move(src, dest)
Definition:
eostools.py:511
edm::ProducesCollector
Definition:
ProducesCollector.h:43
triggerObjects_cff.id
id
Definition:
triggerObjects_cff.py:31
edm::ProducesCollector::operator=
ProducesCollector & operator=(ProducesCollector const &)
Definition:
ProducesCollector.cc:7
edm::ProducerBase
Definition:
ProducerBase.h:70
MuonErrorMatrixAdjuster_cfi.instanceName
instanceName
Definition:
MuonErrorMatrixAdjuster_cfi.py:16
edm::ProductRegistryHelper
Definition:
ProductRegistryHelper.h:23
Generated for CMSSW Reference Manual by
1.8.16