CMS 3D CMS Logo

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 
35 
36 #include <string>
37 #include <utility>
38 
39 namespace edm {
40 
41  class TypeID;
42 
44  public:
45  ProducesCollector() = delete;
50 
51  template <class ProductType>
53  return helper_->produces<ProductType>();
54  }
55 
56  template <class ProductType>
58  return helper_->produces<ProductType>(std::move(instanceName));
59  }
60 
61  template <typename ProductType, Transition B>
63  return helper_->produces<ProductType, B>();
64  }
65 
66  template <typename ProductType, Transition B>
68  return helper_->produces<ProductType, B>(std::move(instanceName));
69  }
70 
73  bool recordProvenance = true);
74 
75  template <Transition B>
78  bool recordProvenance = true) {
79  return helper_->produces<B>(id, std::move(instanceName), recordProvenance);
80  }
81 
82  private:
83  friend class ProducerBase;
85 
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:29
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