#include <ProductHolder.h>
Public Types | |
enum | ResolveStatus { ProductFound, ProductNotFound, Ambiguous } |
Private Member Functions | |
virtual ConstBranchDescription const & | branchDescription_ () const =0 |
virtual void | checkType_ (WrapperOwningHolder const &prod) const =0 |
virtual ProductData const & | getProductData () const =0 |
virtual ProductData & | getProductData ()=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.
edm::ProductHolderBase::ProductHolderBase | ( | ) |
Definition at line 27 of file ProductHolder.cc.
|
virtual |
Definition at line 29 of file ProductHolder.cc.
|
delete |
|
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().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by branchDescription().
|
inline |
Definition at line 166 of file ProductHolder.h.
References checkType_().
Referenced by edm::AliasProductHolder::checkType_(), edm::Principal::checkUniquenessAndType(), and edm::Principal::putOrMerge().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by checkType().
|
inline |
Definition at line 63 of file ProductHolder.h.
References getProductData(), edm::ProductData::resetProductData(), and setProductDeleted_().
Referenced by edm::Principal::deleteProduct().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::SourceProductHolder, edm::UnscheduledProductHolder, edm::ScheduledProductHolder, and edm::InputProductHolder.
Referenced by deleteProduct(), product(), productData(), productID(), and wrapper().
|
privatepure virtual |
|
inline |
Definition at line 153 of file ProductHolder.h.
References mergeProduct_().
Referenced by edm::AliasProductHolder::mergeProduct_(), and edm::Principal::putOrMerge().
|
inline |
Definition at line 157 of file ProductHolder.h.
References mergeProduct_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by mergeProduct().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
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(), edm::WrapperHolder::wrapper(), and wrapper().
Referenced by edm::InputProductHolder::mergeProduct_(), and edm::ProducedProductHolder::mergeProduct_().
|
inline |
Definition at line 104 of file ProductHolder.h.
References branchDescription(), and edm::ConstBranchDescription::moduleLabel().
Referenced by mergeTheProduct(), edm::InputProductHolder::resolvedModuleLabel_(), edm::ProducedProductHolder::resolvedModuleLabel_(), edm::AliasProductHolder::resolvedModuleLabel_(), edm::NoProcessProductHolder::resolvedModuleLabel_(), edm::UnscheduledProductHolder::resolveProduct_(), and throwProductDeletedException().
|
inline |
Definition at line 75 of file ProductHolder.h.
References onDemand_().
Referenced by edm::AliasProductHolder::onDemand_(), edm::ProducedProductHolder::productUnavailable_(), and edm::EventPrincipal::resolveProduct_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::SourceProductHolder, edm::UnscheduledProductHolder, edm::ScheduledProductHolder, and edm::InputProductHolder.
Referenced by onDemand().
|
delete |
|
inline |
Definition at line 115 of file ProductHolder.h.
References branchDescription(), and edm::ConstBranchDescription::processName().
Referenced by mergeTheProduct(), and throwProductDeletedException().
|
inline |
Definition at line 81 of file ProductHolder.h.
References getProductData(), and edm::ProductData::wrapper_.
Referenced by edm::Principal::deleteProduct(), edm::InputProductHolder::productUnavailable_(), edm::ProducedProductHolder::productUnavailable_(), provenanceAvailable(), edm::InputProductHolder::putOrMergeProduct_(), edm::InputProductHolder::putProduct_(), edm::ProducedProductHolder::putProduct_(), edm::EventPrincipal::resolveProduct_(), edm::InputProductHolder::resolveProduct_(), edm::ScheduledProductHolder::resolveProduct_(), edm::UnscheduledProductHolder::resolveProduct_(), edm::SourceProductHolder::resolveProduct_(), and edm::InputProductHolder::setProduct().
|
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::InputProductHolder::resetProductData_(), edm::ProducedProductHolder::resetProductData_(), edm::AliasProductHolder::resetProductData_(), edm::EventPrincipal::resolveProduct_(), edm::RunPrincipal::resolveProductImmediate(), edm::LuminosityBlockPrincipal::resolveProductImmediate(), edm::InputProductHolder::setProcessHistoryID_(), edm::ProducedProductHolder::setProcessHistoryID_(), edm::AliasProductHolder::setProcessHistoryID_(), edm::InputProductHolder::setProduct(), setProductProvenance(), edm::InputProductHolder::setProvenance_(), edm::ProducedProductHolder::setProvenance_(), and edm::AliasProductHolder::setProvenance_().
|
inline |
Definition at line 45 of file ProductHolder.h.
References getProductData().
|
inline |
Definition at line 135 of file ProductHolder.h.
References getProductData(), edm::Provenance::productID(), and edm::ProductData::prov_.
Referenced by write().
|
inline |
Definition at line 112 of file ProductHolder.h.
References branchDescription(), and edm::ConstBranchDescription::productInstanceName().
Referenced by mergeTheProduct(), and throwProductDeletedException().
|
inline |
Definition at line 87 of file ProductHolder.h.
References productProvenancePtr_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by productProvenancePtr().
TypeID edm::ProductHolderBase::productType | ( | ) | 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::EventPrincipal::resolveProduct_(), and edm::InputProductHolder::resolveProduct_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by productUnavailable().
|
inline |
Definition at line 78 of file ProductHolder.h.
References productWasDeleted_().
Referenced by edm::AliasProductHolder::productWasDeleted_(), edm::InputProductHolder::resolveProduct_(), edm::ScheduledProductHolder::resolveProduct_(), edm::UnscheduledProductHolder::resolveProduct_(), and edm::SourceProductHolder::resolveProduct_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
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::InputProductHolder::putProduct_(), and edm::ProducedProductHolder::putProduct_().
bool edm::ProductHolderBase::provenanceAvailable | ( | ) | const |
Definition at line 341 of file ProductHolder.cc.
References branchDescription(), edm::WrapperHolder::isPresent(), edm::es::produced, product(), and wrapper().
|
inline |
Definition at line 148 of file ProductHolder.h.
References putOrMergeProduct_().
Referenced by edm::Principal::putOrMerge(), and edm::AliasProductHolder::putOrMergeProduct_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by putOrMergeProduct().
|
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_().
|
inline |
Definition at line 143 of file ProductHolder.h.
References putProduct_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by putProduct().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
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, edm::hlt::Exception, and edm::ConstBranchDescription::unwrappedTypeID().
Referenced by edm::ProducedProductHolder::checkType_().
|
inline |
Definition at line 101 of file ProductHolder.h.
References resetBranchDescription_().
Referenced by edm::Principal::adjustToNewProductRegistry().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by resetBranchDescription().
|
inline |
Definition at line 61 of file ProductHolder.h.
References resetProductData_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by resetProductData().
|
inline |
Definition at line 53 of file ProductHolder.h.
References resetStatus_().
Referenced by edm::InputProductHolder::resetProductData_(), edm::ProducedProductHolder::resetProductData_(), edm::AliasProductHolder::resetProductData_(), and edm::AliasProductHolder::resetStatus_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::SourceProductHolder, edm::UnscheduledProductHolder, edm::ScheduledProductHolder, and edm::InputProductHolder.
Referenced by resetStatus().
|
inline |
Definition at line 109 of file ProductHolder.h.
References resolvedModuleLabel_().
Referenced by edm::EventPrincipal::resolveProduct_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by resolvedModuleLabel().
|
inline |
Definition at line 49 of file ProductHolder.h.
References resolveProduct_().
Referenced by edm::AliasProductHolder::resolveProduct_(), and edm::NoProcessProductHolder::resolveProduct_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::SourceProductHolder, edm::UnscheduledProductHolder, edm::ScheduledProductHolder, and edm::InputProductHolder.
Referenced by resolveProduct().
|
inline |
Definition at line 98 of file ProductHolder.h.
References setPrincipal_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by setPrincipal().
|
inline |
Definition at line 124 of file ProductHolder.h.
References setProcessHistoryID_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by setProcessHistoryID().
|
inline |
Definition at line 57 of file ProductHolder.h.
References setProductDeleted_().
Referenced by edm::AliasProductHolder::setProductDeleted_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
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::InputProductHolder::putProduct_(), and edm::ProducedProductHolder::putProduct_().
|
inline |
Definition at line 121 of file ProductHolder.h.
References setProvenance_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by setProvenance().
|
inline |
Definition at line 96 of file ProductHolder.h.
References singleProduct_().
Referenced by edm::RunPrincipal::readImmediate(), and edm::LuminosityBlockPrincipal::readImmediate().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by singleProduct().
|
inline |
Definition at line 170 of file ProductHolder.h.
References swap_().
Referenced by edm::swap(), and edm::AliasProductHolder::swap_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::SourceProductHolder, edm::UnscheduledProductHolder, edm::ScheduledProductHolder, and edm::InputProductHolder.
Referenced by swap().
void edm::ProductHolderBase::throwProductDeletedException | ( | ) | const |
Definition at line 14 of file ProductHolder.cc.
References branchDescription(), cppFunctionSkipper::exception, moduleLabel(), processName(), productInstanceName(), and edm::ConstBranchDescription::unwrappedTypeID().
Referenced by edm::InputProductHolder::resolveProduct_(), edm::ScheduledProductHolder::resolveProduct_(), edm::UnscheduledProductHolder::resolveProduct_(), and edm::SourceProductHolder::resolveProduct_().
|
inline |
Definition at line 84 of file ProductHolder.h.
References edm::ProductData::getInterface(), and getProductData().
Referenced by mergeTheProduct(), productType(), edm::InputProductHolder::productUnavailable_(), edm::ProducedProductHolder::productUnavailable_(), provenanceAvailable(), edm::ScheduledProductHolder::resolveProduct_(), edm::UnscheduledProductHolder::resolveProduct_(), and edm::SourceProductHolder::resolveProduct_().
void edm::ProductHolderBase::write | ( | std::ostream & | os | ) | const |
Definition at line 376 of file ProductHolder.cc.
References productID(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by pkg.AbstractPkg::generate(), and edm::operator<<().