1 #ifndef Framework_Run_h
2 #define Framework_Run_h
47 template <
typename PROD>
51 template <
typename PROD>
55 template <
typename PROD>
58 std::string
const& productInstanceName,
62 template <
typename PROD>
66 template <
typename PROD>
70 template <
typename PROD>
74 template <
typename PROD>
79 template <
typename PROD>
81 put(std::auto_ptr<PROD> product) {put<PROD>(product, std::string());}
84 template <
typename PROD>
86 put(std::auto_ptr<PROD> product, std::string
const& productInstanceName);
119 typedef std::vector<std::pair<WrapperOwningHolder, ConstBranchDescription const*> >
ProductPtrVec;
144 template <
typename PROD>
146 Run::put(std::auto_ptr<PROD> product, std::string
const& productInstanceName) {
147 if (product.get() == 0) {
157 maybe_inserter(product.get());
163 putProducts().push_back(std::make_pair(edp, &desc));
169 template <
typename PROD>
175 template <
typename PROD>
181 template <
typename PROD>
184 std::string
const& productInstanceName,
190 template <
typename PROD>
196 template <
typename PROD>
202 template <
typename PROD>
208 template <
typename PROD>
bool getByLabel(std::string const &label, Handle< PROD > &result) const
bool getByLabel(std::string const &label, Handle< PROD > &result) const
Provenance getProvenance(BranchID const &theID) const
ProductPtrVec putProducts_
ProductPtrVec const & putProducts() const
void getMany(SelectorBase const &, std::vector< Handle< PROD > > &results) const
RunAuxiliary const & aux_
void getAllProvenance(std::vector< Provenance const * > &provenances) const
void getManyByType(std::vector< Handle< PROD > > &results) const
Run(RunPrincipal &rp, ModuleDescription const &md)
std::vector< std::pair< WrapperOwningHolder, ConstBranchDescription const * > > ProductPtrVec
ProcessHistory const & processHistory() const
bool get(SelectorBase const &, Handle< PROD > &result) const
void getMany(SelectorBase const &, std::vector< Handle< PROD > > &results) const
ProcessHistoryID const & processHistoryID() const
bool getByType(Handle< PROD > &result) const
RunPrincipal const & runPrincipal() const
bool get(SelectorBase const &, Handle< PROD > &result) const
void getManyByType(std::vector< Handle< PROD > > &results) const
virtual BasicHandle getByLabelImpl(std::type_info const &iWrapperType, std::type_info const &iProductType, InputTag const &iTag) const
ProductPtrVec & putProducts()
void addToGotBranchIDs(Provenance const &prov) const
RunAuxiliary const & runAuxiliary() const
void put(std::auto_ptr< PROD > product)
Put a new product.
std::set< BranchID > BranchIDSet
void throwOnPutOfNullProduct(char const *principalType, TypeID const &productType, std::string const &productInstanceName)
ConstBranchDescription const & getBranchDescription(TypeID const &type, std::string const &productInstanceName) const
BranchIDSet gotBranchIDs_
PrincipalGetAdapter provRecorder_
bool getByType(Handle< PROD > &result) const