#include <ProductHolder.h>
Public Types | |
enum | ResolveStatus { ProductFound, ProductNotFound, Ambiguous } |
Public Member Functions | |
ConstBranchDescription const & | branchDescription () const |
void | checkType (WrapperOwningHolder const &prod) const |
void | deleteProduct () |
void | mergeProduct (WrapperOwningHolder const &edp, ProductProvenance &productProvenance) |
void | mergeProduct (WrapperOwningHolder const &edp) const |
void | mergeTheProduct (WrapperOwningHolder const &edp) const |
std::string const & | moduleLabel () const |
bool | onDemand () const |
ProductHolderBase & | operator= (ProductHolderBase const &) |
std::string const & | processName () const |
boost::shared_ptr< void const > | product () const |
ProductData const & | productData () const |
ProductData & | productData () |
ProductHolderBase () | |
ProductHolderBase (ProductHolderBase const &) | |
ProductID const & | productID () const |
std::string const & | productInstanceName () const |
ProductProvenance * | productProvenancePtr () const |
TypeID | productType () const |
bool | productUnavailable () const |
bool | productWasDeleted () const |
Provenance * | provenance () const |
bool | provenanceAvailable () const |
bool | putOrMergeProduct () const |
void | putProduct (WrapperOwningHolder const &edp, ProductProvenance const &productProvenance) |
void | putProduct (WrapperOwningHolder const &edp) const |
void | reallyCheckType (WrapperOwningHolder const &prod) const |
void | resetBranchDescription (boost::shared_ptr< ConstBranchDescription > bd) |
void | resetProductData () |
void | resetStatus () |
std::string const & | resolvedModuleLabel () const |
ProductData const * | resolveProduct (ResolveStatus &resolveStatus, bool skipCurrentProcess) const |
void | setPrincipal (Principal *principal) |
void | setProcessHistoryID (ProcessHistoryID const &phid) |
void | setProductDeleted () |
void | setProductProvenance (ProductProvenance const &prov) const |
void | setProvenance (boost::shared_ptr< BranchMapper > mapper, ProcessHistoryID const &phid, ProductID const &pid) |
bool | singleProduct () const |
void | swap (ProductHolderBase &rhs) |
void | throwProductDeletedException () const |
WrapperHolder | wrapper () const |
void | write (std::ostream &os) const |
virtual | ~ProductHolderBase () |
Private Member Functions | |
virtual ConstBranchDescription const & | branchDescription_ () const =0 |
virtual void | checkType_ (WrapperOwningHolder const &prod) const =0 |
virtual ProductData & | getProductData ()=0 |
virtual ProductData const & | getProductData () const =0 |
virtual void | mergeProduct_ (WrapperOwningHolder const &edp, ProductProvenance &productProvenance)=0 |
virtual void | mergeProduct_ (WrapperOwningHolder const &edp) const =0 |
virtual bool | onDemand_ () const =0 |
virtual ProductProvenance * | productProvenancePtr_ () const =0 |
virtual bool | productUnavailable_ () const =0 |
virtual bool | productWasDeleted_ () const =0 |
virtual bool | putOrMergeProduct_ () const =0 |
virtual void | putProduct_ (WrapperOwningHolder const &edp, ProductProvenance const &productProvenance)=0 |
virtual void | putProduct_ (WrapperOwningHolder const &edp) const =0 |
virtual void | resetBranchDescription_ (boost::shared_ptr< ConstBranchDescription > bd)=0 |
virtual void | resetProductData_ ()=0 |
virtual void | resetStatus_ ()=0 |
virtual std::string const & | resolvedModuleLabel_ () const =0 |
virtual ProductData const * | resolveProduct_ (ResolveStatus &resolveStatus, bool skipCurrentProcess) const =0 |
virtual void | setPrincipal_ (Principal *principal)=0 |
virtual void | setProcessHistoryID_ (ProcessHistoryID const &phid)=0 |
virtual void | setProductDeleted_ ()=0 |
virtual void | setProvenance_ (boost::shared_ptr< BranchMapper > mapper, ProcessHistoryID const &phid, ProductID const &pid)=0 |
virtual bool | singleProduct_ () const =0 |
virtual void | swap_ (ProductHolderBase &rhs)=0 |
Definition at line 30 of file ProductHolder.h.
Definition at line 33 of file ProductHolder.h.
{ ProductFound, ProductNotFound, Ambiguous };
edm::ProductHolderBase::ProductHolderBase | ( | ) |
Definition at line 27 of file ProductHolder.cc.
{}
edm::ProductHolderBase::~ProductHolderBase | ( | ) | [virtual] |
Definition at line 29 of file ProductHolder.cc.
{}
edm::ProductHolderBase::ProductHolderBase | ( | ProductHolderBase const & | ) |
ConstBranchDescription const& edm::ProductHolderBase::branchDescription | ( | ) | const [inline] |
Definition at line 93 of file ProductHolder.h.
References branchDescription_().
Referenced by edm::Principal::adjustToNewProductRegistry(), edm::Principal::checkUniquenessAndType(), edm::PrincipalGetAdapter::getBranchDescription(), edm::Principal::getExistingProduct(), mergeTheProduct(), moduleLabel(), processName(), productInstanceName(), provenanceAvailable(), edm::ProducedProductHolder::putProduct_(), edm::RunPrincipal::readImmediate(), edm::LuminosityBlockPrincipal::readImmediate(), reallyCheckType(), edm::EventPrincipal::resolveProduct_(), edm::RunPrincipal::resolveProductImmediate(), edm::LuminosityBlockPrincipal::resolveProductImmediate(), and throwProductDeletedException().
{return branchDescription_();}
virtual ConstBranchDescription const& edm::ProductHolderBase::branchDescription_ | ( | ) | const [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by branchDescription().
void edm::ProductHolderBase::checkType | ( | WrapperOwningHolder const & | prod | ) | const [inline] |
Definition at line 166 of file ProductHolder.h.
References checkType_().
Referenced by edm::AliasProductHolder::checkType_(), edm::Principal::checkUniquenessAndType(), and edm::Principal::putOrMerge().
{ checkType_(prod); }
virtual void edm::ProductHolderBase::checkType_ | ( | WrapperOwningHolder const & | prod | ) | const [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by checkType().
void edm::ProductHolderBase::deleteProduct | ( | ) | [inline] |
Definition at line 63 of file ProductHolder.h.
References getProductData(), edm::ProductData::resetProductData(), and setProductDeleted_().
Referenced by edm::Principal::deleteProduct().
{ getProductData().resetProductData(); setProductDeleted_(); }
virtual ProductData const& edm::ProductHolderBase::getProductData | ( | ) | const [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ScheduledProductHolder, edm::UnscheduledProductHolder, edm::SourceProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by deleteProduct(), product(), productData(), productID(), and wrapper().
virtual ProductData& edm::ProductHolderBase::getProductData | ( | ) | [private, pure virtual] |
void edm::ProductHolderBase::mergeProduct | ( | WrapperOwningHolder const & | edp | ) | const [inline] |
void edm::ProductHolderBase::mergeProduct | ( | WrapperOwningHolder const & | edp, |
ProductProvenance & | productProvenance | ||
) | [inline] |
Definition at line 153 of file ProductHolder.h.
References mergeProduct_().
Referenced by edm::AliasProductHolder::mergeProduct_(), and edm::Principal::putOrMerge().
{ mergeProduct_(edp, productProvenance); }
virtual void edm::ProductHolderBase::mergeProduct_ | ( | WrapperOwningHolder const & | edp, |
ProductProvenance & | productProvenance | ||
) | [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by mergeProduct().
virtual void edm::ProductHolderBase::mergeProduct_ | ( | WrapperOwningHolder const & | edp | ) | const [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
void edm::ProductHolderBase::mergeTheProduct | ( | WrapperOwningHolder const & | edp | ) | const |
Definition at line 201 of file ProductHolder.cc.
References branchDescription(), edm::ConstBranchDescription::className(), edm::WrapperHolder::hasIsProductEqual(), edm::WrapperHolder::isProductEqual(), edm::WrapperHolder::mergeProduct(), moduleLabel(), processName(), productInstanceName(), wrapper(), and edm::WrapperHolder::wrapper().
Referenced by edm::InputProductHolder::mergeProduct_(), and edm::ProducedProductHolder::mergeProduct_().
{ if(wrapper().isMergeable()) { wrapper().mergeProduct(edp.wrapper()); } else if(wrapper().hasIsProductEqual()) { if(!wrapper().isProductEqual(edp.wrapper())) { LogError("RunLumiMerging") << "ProductHolderBase::mergeTheProduct\n" << "Two run/lumi products for the same run/lumi which should be equal are not\n" << "Using the first, ignoring the second\n" << "className = " << branchDescription().className() << "\n" << "moduleLabel = " << moduleLabel() << "\n" << "instance = " << productInstanceName() << "\n" << "process = " << processName() << "\n"; } } else { LogWarning("RunLumiMerging") << "ProductHolderBase::mergeTheProduct\n" << "Run/lumi product has neither a mergeProduct nor isProductEqual function\n" << "Using the first, ignoring the second in merge\n" << "className = " << branchDescription().className() << "\n" << "moduleLabel = " << moduleLabel() << "\n" << "instance = " << productInstanceName() << "\n" << "process = " << processName() << "\n"; } }
std::string const& edm::ProductHolderBase::moduleLabel | ( | ) | const [inline] |
Definition at line 104 of file ProductHolder.h.
References branchDescription(), and edm::ConstBranchDescription::moduleLabel().
Referenced by mergeTheProduct(), edm::AliasProductHolder::resolvedModuleLabel_(), edm::ProducedProductHolder::resolvedModuleLabel_(), edm::InputProductHolder::resolvedModuleLabel_(), edm::NoProcessProductHolder::resolvedModuleLabel_(), edm::UnscheduledProductHolder::resolveProduct_(), and throwProductDeletedException().
{return branchDescription().moduleLabel();}
bool edm::ProductHolderBase::onDemand | ( | ) | const [inline] |
Definition at line 75 of file ProductHolder.h.
References onDemand_().
Referenced by edm::AliasProductHolder::onDemand_(), edm::ProducedProductHolder::productUnavailable_(), and edm::EventPrincipal::resolveProduct_().
{return onDemand_();}
virtual bool edm::ProductHolderBase::onDemand_ | ( | ) | const [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ScheduledProductHolder, edm::UnscheduledProductHolder, edm::SourceProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by onDemand().
ProductHolderBase& edm::ProductHolderBase::operator= | ( | ProductHolderBase const & | ) |
std::string const& edm::ProductHolderBase::processName | ( | ) | const [inline] |
Definition at line 115 of file ProductHolder.h.
References branchDescription(), and edm::ConstBranchDescription::processName().
Referenced by mergeTheProduct(), and throwProductDeletedException().
{return branchDescription().processName();}
boost::shared_ptr<void const> edm::ProductHolderBase::product | ( | ) | const [inline] |
Definition at line 81 of file ProductHolder.h.
References getProductData(), and edm::ProductData::wrapper_.
Referenced by edm::Principal::deleteProduct(), edm::ProducedProductHolder::productUnavailable_(), edm::InputProductHolder::productUnavailable_(), provenanceAvailable(), edm::InputProductHolder::putOrMergeProduct_(), edm::ProducedProductHolder::putProduct_(), edm::InputProductHolder::putProduct_(), edm::InputProductHolder::resolveProduct_(), edm::SourceProductHolder::resolveProduct_(), edm::EventPrincipal::resolveProduct_(), edm::UnscheduledProductHolder::resolveProduct_(), edm::ScheduledProductHolder::resolveProduct_(), and edm::InputProductHolder::setProduct().
{ return getProductData().wrapper_; }
ProductData const& edm::ProductHolderBase::productData | ( | ) | const [inline] |
Definition at line 41 of file ProductHolder.h.
References getProductData().
Referenced by edm::InputProductHolder::branchDescription_(), edm::ProducedProductHolder::branchDescription_(), edm::AliasProductHolder::getProductData(), edm::SubProcess::propagateProducts(), provenance(), edm::EventPrincipal::putOnRead(), edm::ProducedProductHolder::putProduct_(), edm::InputProductHolder::resetBranchDescription_(), edm::ProducedProductHolder::resetBranchDescription_(), edm::AliasProductHolder::resetProductData_(), edm::InputProductHolder::resetProductData_(), edm::ProducedProductHolder::resetProductData_(), edm::EventPrincipal::resolveProduct_(), edm::RunPrincipal::resolveProductImmediate(), edm::LuminosityBlockPrincipal::resolveProductImmediate(), edm::AliasProductHolder::setProcessHistoryID_(), edm::ProducedProductHolder::setProcessHistoryID_(), edm::InputProductHolder::setProcessHistoryID_(), edm::InputProductHolder::setProduct(), setProductProvenance(), edm::InputProductHolder::setProvenance_(), edm::ProducedProductHolder::setProvenance_(), and edm::AliasProductHolder::setProvenance_().
{ return getProductData(); }
ProductData& edm::ProductHolderBase::productData | ( | ) | [inline] |
Definition at line 45 of file ProductHolder.h.
References getProductData().
{ return getProductData(); }
ProductID const& edm::ProductHolderBase::productID | ( | ) | const [inline] |
Definition at line 135 of file ProductHolder.h.
References getProductData(), edm::Provenance::productID(), and edm::ProductData::prov_.
Referenced by write().
{return getProductData().prov_.productID();}
std::string const& edm::ProductHolderBase::productInstanceName | ( | ) | const [inline] |
Definition at line 112 of file ProductHolder.h.
References branchDescription(), and edm::ConstBranchDescription::productInstanceName().
Referenced by mergeTheProduct(), and throwProductDeletedException().
{return branchDescription().productInstanceName();}
ProductProvenance* edm::ProductHolderBase::productProvenancePtr | ( | ) | const [inline] |
Definition at line 87 of file ProductHolder.h.
References productProvenancePtr_().
{ return productProvenancePtr_(); }
virtual ProductProvenance* edm::ProductHolderBase::productProvenancePtr_ | ( | ) | const [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by productProvenancePtr().
TypeID edm::ProductHolderBase::productType | ( | ) | const |
Definition at line 353 of file ProductHolder.cc.
References wrapper().
{ return TypeID(wrapper().interface()->wrappedTypeInfo()); }
bool edm::ProductHolderBase::productUnavailable | ( | ) | const [inline] |
Definition at line 69 of file ProductHolder.h.
References productUnavailable_().
Referenced by edm::AliasProductHolder::productUnavailable_(), edm::SubProcess::propagateProducts(), edm::ProducedProductHolder::putOrMergeProduct_(), edm::RunPrincipal::readImmediate(), edm::LuminosityBlockPrincipal::readImmediate(), edm::InputProductHolder::resolveProduct_(), and edm::EventPrincipal::resolveProduct_().
{return productUnavailable_();}
virtual bool edm::ProductHolderBase::productUnavailable_ | ( | ) | const [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by productUnavailable().
bool edm::ProductHolderBase::productWasDeleted | ( | ) | const [inline] |
Definition at line 78 of file ProductHolder.h.
References productWasDeleted_().
Referenced by edm::AliasProductHolder::productWasDeleted_(), edm::InputProductHolder::resolveProduct_(), edm::SourceProductHolder::resolveProduct_(), edm::ScheduledProductHolder::resolveProduct_(), and edm::UnscheduledProductHolder::resolveProduct_().
{return productWasDeleted_();}
virtual bool edm::ProductHolderBase::productWasDeleted_ | ( | ) | const [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by productWasDeleted().
Provenance * edm::ProductHolderBase::provenance | ( | ) | const |
Definition at line 371 of file ProductHolder.cc.
References productData(), and edm::ProductData::prov_.
Referenced by edm::ProducedProductHolder::mergeProduct_(), edm::InputProductHolder::productProvenancePtr_(), edm::ProducedProductHolder::productProvenancePtr_(), edm::AliasProductHolder::productProvenancePtr_(), edm::ProducedProductHolder::putProduct_(), and edm::InputProductHolder::putProduct_().
{ return &(productData().prov_); }
bool edm::ProductHolderBase::provenanceAvailable | ( | ) | const |
Definition at line 341 of file ProductHolder.cc.
References branchDescription(), edm::WrapperHolder::isPresent(), edm::es::produced, product(), and wrapper().
{ // If this product is from a the current process, // the provenance is available if and only if a product has been put. if(branchDescription().produced()) { return product() && wrapper().isPresent(); } // If this product is from a prior process, the provenance is available, // although the per event part may have been dropped. return true; }
bool edm::ProductHolderBase::putOrMergeProduct | ( | ) | const [inline] |
Definition at line 148 of file ProductHolder.h.
References putOrMergeProduct_().
Referenced by edm::Principal::putOrMerge(), and edm::AliasProductHolder::putOrMergeProduct_().
{ return putOrMergeProduct_(); }
virtual bool edm::ProductHolderBase::putOrMergeProduct_ | ( | ) | const [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by putOrMergeProduct().
void edm::ProductHolderBase::putProduct | ( | WrapperOwningHolder const & | edp | ) | const [inline] |
void edm::ProductHolderBase::putProduct | ( | WrapperOwningHolder const & | edp, |
ProductProvenance const & | productProvenance | ||
) | [inline] |
Definition at line 138 of file ProductHolder.h.
References putProduct_().
Referenced by edm::EventPrincipal::put(), edm::EventPrincipal::putOnRead(), edm::Principal::putOrMerge(), edm::AliasProductHolder::putProduct_(), and edm::EventPrincipal::resolveProduct_().
{ putProduct_(edp, productProvenance); }
virtual void edm::ProductHolderBase::putProduct_ | ( | WrapperOwningHolder const & | edp, |
ProductProvenance const & | productProvenance | ||
) | [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by putProduct().
virtual void edm::ProductHolderBase::putProduct_ | ( | WrapperOwningHolder const & | edp | ) | const [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
void edm::ProductHolderBase::reallyCheckType | ( | WrapperOwningHolder const & | prod | ) | const |
Definition at line 358 of file ProductHolder.cc.
References branchDescription(), edm::ConstBranchDescription::branchName(), edm::ConstBranchDescription::className(), edm::WrapperHolder::dynamicTypeInfo(), edm::errors::EventCorruption, Exception, and edm::ConstBranchDescription::unwrappedTypeID().
Referenced by edm::ProducedProductHolder::checkType_().
{ // Check if the types match. TypeID typeID(prod.dynamicTypeInfo()); if(typeID != branchDescription().unwrappedTypeID()) { // Types do not match. throw Exception(errors::EventCorruption) << "Product on branch " << branchDescription().branchName() << " is of wrong type.\n" << "It is supposed to be of type " << branchDescription().className() << ".\n" << "It is actually of type " << typeID.className() << ".\n"; } }
void edm::ProductHolderBase::resetBranchDescription | ( | boost::shared_ptr< ConstBranchDescription > | bd | ) | [inline] |
Definition at line 101 of file ProductHolder.h.
References resetBranchDescription_().
Referenced by edm::Principal::adjustToNewProductRegistry().
{resetBranchDescription_(bd);}
virtual void edm::ProductHolderBase::resetBranchDescription_ | ( | boost::shared_ptr< ConstBranchDescription > | bd | ) | [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by resetBranchDescription().
void edm::ProductHolderBase::resetProductData | ( | ) | [inline] |
Definition at line 61 of file ProductHolder.h.
References resetProductData_().
{ resetProductData_(); }
virtual void edm::ProductHolderBase::resetProductData_ | ( | ) | [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by resetProductData().
void edm::ProductHolderBase::resetStatus | ( | ) | [inline] |
Definition at line 53 of file ProductHolder.h.
References resetStatus_().
Referenced by edm::AliasProductHolder::resetProductData_(), edm::InputProductHolder::resetProductData_(), edm::ProducedProductHolder::resetProductData_(), and edm::AliasProductHolder::resetStatus_().
{ resetStatus_(); }
virtual void edm::ProductHolderBase::resetStatus_ | ( | ) | [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ScheduledProductHolder, edm::UnscheduledProductHolder, edm::SourceProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by resetStatus().
std::string const& edm::ProductHolderBase::resolvedModuleLabel | ( | ) | const [inline] |
Definition at line 109 of file ProductHolder.h.
References resolvedModuleLabel_().
Referenced by edm::EventPrincipal::resolveProduct_().
{return resolvedModuleLabel_();}
virtual std::string const& edm::ProductHolderBase::resolvedModuleLabel_ | ( | ) | const [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by resolvedModuleLabel().
ProductData const* edm::ProductHolderBase::resolveProduct | ( | ResolveStatus & | resolveStatus, |
bool | skipCurrentProcess | ||
) | const [inline] |
Definition at line 49 of file ProductHolder.h.
References resolveProduct_().
Referenced by edm::AliasProductHolder::resolveProduct_(), and edm::NoProcessProductHolder::resolveProduct_().
{ return resolveProduct_(resolveStatus, skipCurrentProcess); }
virtual ProductData const* edm::ProductHolderBase::resolveProduct_ | ( | ResolveStatus & | resolveStatus, |
bool | skipCurrentProcess | ||
) | const [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ScheduledProductHolder, edm::UnscheduledProductHolder, edm::SourceProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by resolveProduct().
void edm::ProductHolderBase::setPrincipal | ( | Principal * | principal | ) | [inline] |
Definition at line 98 of file ProductHolder.h.
References setPrincipal_().
{ setPrincipal_(principal); }
virtual void edm::ProductHolderBase::setPrincipal_ | ( | Principal * | principal | ) | [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by setPrincipal().
void edm::ProductHolderBase::setProcessHistoryID | ( | ProcessHistoryID const & | phid | ) | [inline] |
Definition at line 124 of file ProductHolder.h.
References setProcessHistoryID_().
{ setProcessHistoryID_(phid); }
virtual void edm::ProductHolderBase::setProcessHistoryID_ | ( | ProcessHistoryID const & | phid | ) | [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by setProcessHistoryID().
void edm::ProductHolderBase::setProductDeleted | ( | ) | [inline] |
Definition at line 57 of file ProductHolder.h.
References setProductDeleted_().
Referenced by edm::AliasProductHolder::setProductDeleted_().
{ setProductDeleted_(); }
virtual void edm::ProductHolderBase::setProductDeleted_ | ( | ) | [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by deleteProduct(), and setProductDeleted().
void edm::ProductHolderBase::setProductProvenance | ( | ProductProvenance const & | prov | ) | const |
Definition at line 265 of file ProductHolder.cc.
References productData(), edm::ProductData::prov_, and edm::Provenance::setProductProvenance().
Referenced by edm::ProducedProductHolder::mergeProduct_(), edm::ProducedProductHolder::putProduct_(), and edm::InputProductHolder::putProduct_().
{ productData().prov_.setProductProvenance(prov); }
void edm::ProductHolderBase::setProvenance | ( | boost::shared_ptr< BranchMapper > | mapper, |
ProcessHistoryID const & | phid, | ||
ProductID const & | pid | ||
) | [inline] |
Definition at line 121 of file ProductHolder.h.
References setProvenance_().
{ setProvenance_(mapper, phid, pid); }
virtual void edm::ProductHolderBase::setProvenance_ | ( | boost::shared_ptr< BranchMapper > | mapper, |
ProcessHistoryID const & | phid, | ||
ProductID const & | pid | ||
) | [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by setProvenance().
bool edm::ProductHolderBase::singleProduct | ( | ) | const [inline] |
Definition at line 96 of file ProductHolder.h.
References singleProduct_().
Referenced by edm::RunPrincipal::readImmediate(), and edm::LuminosityBlockPrincipal::readImmediate().
{return singleProduct_();}
virtual bool edm::ProductHolderBase::singleProduct_ | ( | ) | const [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ProducedProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by singleProduct().
void edm::ProductHolderBase::swap | ( | ProductHolderBase & | rhs | ) | [inline] |
Definition at line 170 of file ProductHolder.h.
References swap_().
Referenced by edm::swap(), edm::NoProcessProductHolder::swap_(), edm::InputProductHolder::swap_(), edm::ScheduledProductHolder::swap_(), edm::AliasProductHolder::swap_(), edm::UnscheduledProductHolder::swap_(), and edm::SourceProductHolder::swap_().
{swap_(rhs);}
virtual void edm::ProductHolderBase::swap_ | ( | ProductHolderBase & | rhs | ) | [private, pure virtual] |
Implemented in edm::InputProductHolder, edm::ScheduledProductHolder, edm::UnscheduledProductHolder, edm::SourceProductHolder, edm::AliasProductHolder, and edm::NoProcessProductHolder.
Referenced by swap().
void edm::ProductHolderBase::throwProductDeletedException | ( | ) | const |
Definition at line 14 of file ProductHolder.cc.
References branchDescription(), exception, moduleLabel(), processName(), productInstanceName(), and edm::ConstBranchDescription::unwrappedTypeID().
Referenced by edm::InputProductHolder::resolveProduct_(), edm::SourceProductHolder::resolveProduct_(), edm::UnscheduledProductHolder::resolveProduct_(), and edm::ScheduledProductHolder::resolveProduct_().
{ ProductDeletedException exception; exception << "ProductHolderBase::resolveProduct_: The product matching all criteria was already deleted\n" << "Looking for type: " << branchDescription().unwrappedTypeID() << "\n" << "Looking for module label: " << moduleLabel() << "\n" << "Looking for productInstanceName: " << productInstanceName() << "\n" << (processName().empty() ? "" : "Looking for process: ") << processName() << "\n" << "This means there is a configuration error.\n" << "The module which is asking for this data must be configured to state that it will read this data."; throw exception; }
WrapperHolder edm::ProductHolderBase::wrapper | ( | ) | const [inline] |
Definition at line 84 of file ProductHolder.h.
References edm::ProductData::getInterface(), and getProductData().
Referenced by mergeTheProduct(), productType(), edm::ProducedProductHolder::productUnavailable_(), edm::InputProductHolder::productUnavailable_(), provenanceAvailable(), edm::SourceProductHolder::resolveProduct_(), edm::UnscheduledProductHolder::resolveProduct_(), and edm::ScheduledProductHolder::resolveProduct_().
{ return WrapperHolder(getProductData().wrapper_.get(), getProductData().getInterface()); }
void edm::ProductHolderBase::write | ( | std::ostream & | os | ) | const |
Definition at line 376 of file ProductHolder.cc.
References productID(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by edm::operator<<().
{ // This is grossly inadequate. It is also not critical for the // first pass. os << std::string("ProductHolder for product with ID: ") << productID(); }