#include <ProductHolder.h>
Public Types | |
enum | ResolveStatus { ProductFound, ProductNotFound, Ambiguous } |
Public Member Functions | |
BranchDescription const & | branchDescription () const |
void | checkType (WrapperBase const &prod) const |
void | deleteProduct () |
void | mergeProduct (std::unique_ptr< WrapperBase > edp, ProductProvenance &productProvenance) |
void | mergeProduct (std::unique_ptr< WrapperBase > edp) const |
void | mergeTheProduct (std::unique_ptr< WrapperBase > edp) const |
std::string const & | moduleLabel () const |
bool | onDemand () const |
ProductHolderBase & | operator= (ProductHolderBase const &)=delete |
std::string const & | processName () const |
WrapperBase * | product () const |
ProductData const & | productData () const |
ProductData & | productData () |
ProductHolderBase () | |
ProductHolderBase (ProductHolderBase const &)=delete | |
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 (std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) |
void | putProduct (std::unique_ptr< WrapperBase > edp) const |
void | reallyCheckType (WrapperBase const &prod) const |
void | resetBranchDescription (std::shared_ptr< BranchDescription const > bd) |
void | resetProductData () |
void | resetStatus () |
std::string const & | resolvedModuleLabel () const |
ProductData const * | resolveProduct (ResolveStatus &resolveStatus, bool skipCurrentProcess, ModuleCallingContext const *mcc) const |
void | setPrincipal (Principal *principal) |
void | setProcessHistory (ProcessHistory const &ph) |
void | setProductDeleted () |
void | setProductProvenance (ProductProvenance const &prov) const |
void | setProvenance (std::shared_ptr< ProductProvenanceRetriever > provRetriever, ProcessHistory const &ph, ProductID const &pid) |
bool | singleProduct () const |
void | swap (ProductHolderBase &rhs) |
void | throwProductDeletedException () const |
void | write (std::ostream &os) const |
virtual | ~ProductHolderBase () |
Private Member Functions | |
virtual BranchDescription const & | branchDescription_ () const =0 |
virtual void | checkType_ (WrapperBase const &prod) const =0 |
virtual ProductData const & | getProductData () const =0 |
virtual ProductData & | getProductData ()=0 |
virtual void | mergeProduct_ (std::unique_ptr< WrapperBase > edp, ProductProvenance &productProvenance)=0 |
virtual void | mergeProduct_ (std::unique_ptr< WrapperBase > 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_ (std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance)=0 |
virtual void | putProduct_ (std::unique_ptr< WrapperBase > edp) const =0 |
virtual void | resetBranchDescription_ (std::shared_ptr< BranchDescription const > 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, ModuleCallingContext const *mcc) const =0 |
virtual void | setPrincipal_ (Principal *principal)=0 |
virtual void | setProcessHistory_ (ProcessHistory const &ph)=0 |
virtual void | setProductDeleted_ ()=0 |
virtual void | setProvenance_ (std::shared_ptr< ProductProvenanceRetriever > provRetriever, ProcessHistory const &ph, ProductID const &pid)=0 |
virtual bool | singleProduct_ () const =0 |
virtual void | swap_ (ProductHolderBase &rhs)=0 |
Definition at line 29 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 90 of file ProductHolder.h.
References branchDescription_().
Referenced by edm::Principal::checkUniquenessAndType(), edm::PrincipalGetAdapter::getBranchDescription(), edm::Principal::getExistingProduct(), mergeTheProduct(), moduleLabel(), processName(), productInstanceName(), provenanceAvailable(), edm::ProducedProductHolder::putProduct_(), edm::EventPrincipal::readFromSource_(), edm::RunPrincipal::readImmediate(), edm::LuminosityBlockPrincipal::readImmediate(), reallyCheckType(), 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 163 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(), and productID().
|
privatepure virtual |
|
inline |
Definition at line 150 of file ProductHolder.h.
References mergeProduct_(), and eostools::move().
Referenced by edm::AliasProductHolder::mergeProduct_(), and edm::Principal::putOrMerge().
|
inline |
Definition at line 154 of file ProductHolder.h.
References mergeProduct_(), and eostools::move().
|
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 | ( | std::unique_ptr< WrapperBase > | edp | ) | const |
Definition at line 200 of file ProductHolder.cc.
References branchDescription(), edm::BranchDescription::className(), edm::WrapperBase::hasIsProductEqual(), edm::WrapperBase::isProductEqual(), edm::WrapperBase::mergeProduct(), moduleLabel(), processName(), product(), and productInstanceName().
Referenced by edm::InputProductHolder::mergeProduct_(), and edm::ProducedProductHolder::mergeProduct_().
|
inline |
Definition at line 101 of file ProductHolder.h.
References branchDescription(), and edm::BranchDescription::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_(), and edm::ProducedProductHolder::productUnavailable_().
|
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 112 of file ProductHolder.h.
References branchDescription(), and edm::BranchDescription::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(), mergeTheProduct(), productType(), edm::InputProductHolder::productUnavailable_(), edm::ProducedProductHolder::productUnavailable_(), provenanceAvailable(), edm::InputProductHolder::putOrMergeProduct_(), edm::InputProductHolder::putProduct_(), edm::ProducedProductHolder::putProduct_(), edm::EventPrincipal::readFromSource_(), edm::InputProductHolder::resolveProduct_(), edm::ScheduledProductHolder::resolveProduct_(), edm::UnscheduledProductHolder::resolveProduct_(), edm::SourceProductHolder::resolveProduct_(), and edm::InputProductHolder::setProduct().
|
inline |
Definition at line 40 of file ProductHolder.h.
References getProductData().
Referenced by edm::InputProductHolder::branchDescription_(), edm::ProducedProductHolder::branchDescription_(), edm::AliasProductHolder::getProductData(), edm::SubProcess::propagateProducts(), provenance(), edm::ProducedProductHolder::putProduct_(), edm::InputProductHolder::resetBranchDescription_(), edm::ProducedProductHolder::resetBranchDescription_(), edm::InputProductHolder::resetProductData_(), edm::ProducedProductHolder::resetProductData_(), edm::AliasProductHolder::resetProductData_(), edm::InputProductHolder::setProcessHistory_(), edm::ProducedProductHolder::setProcessHistory_(), edm::AliasProductHolder::setProcessHistory_(), edm::InputProductHolder::setProduct(), setProductProvenance(), edm::InputProductHolder::setProvenance_(), edm::ProducedProductHolder::setProvenance_(), and edm::AliasProductHolder::setProvenance_().
|
inline |
Definition at line 44 of file ProductHolder.h.
References getProductData().
|
inline |
Definition at line 132 of file ProductHolder.h.
References getProductData(), edm::Provenance::productID(), and edm::ProductData::prov_.
Referenced by write().
|
inline |
Definition at line 109 of file ProductHolder.h.
References branchDescription(), and edm::BranchDescription::productInstanceName().
Referenced by mergeTheProduct(), and throwProductDeletedException().
|
inline |
Definition at line 84 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::EventPrincipal::readFromSource_(), edm::RunPrincipal::readImmediate(), edm::LuminosityBlockPrincipal::readImmediate(), 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 369 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 339 of file ProductHolder.cc.
References branchDescription(), edm::WrapperBase::isPresent(), edm::es::produced, and product().
|
inline |
Definition at line 145 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 135 of file ProductHolder.h.
References eostools::move(), and putProduct_().
Referenced by edm::EventPrincipal::put(), edm::EventPrincipal::putOnRead(), edm::Principal::putOrMerge(), edm::AliasProductHolder::putProduct_(), and edm::EventPrincipal::readFromSource_().
|
inline |
Definition at line 140 of file ProductHolder.h.
References eostools::move(), and 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 | ( | WrapperBase const & | prod | ) | const |
Definition at line 356 of file ProductHolder.cc.
References branchDescription(), edm::BranchDescription::branchName(), edm::BranchDescription::className(), edm::WrapperBase::dynamicTypeInfo(), edm::errors::EventCorruption, edm::hlt::Exception, and edm::BranchDescription::unwrappedTypeID().
Referenced by edm::ProducedProductHolder::checkType_().
|
inline |
Definition at line 98 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 106 of file ProductHolder.h.
References resolvedModuleLabel_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by resolvedModuleLabel().
|
inline |
Definition at line 48 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 95 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 121 of file ProductHolder.h.
References setProcessHistory_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by setProcessHistory().
|
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 263 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 118 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 93 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 167 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::BranchDescription::unwrappedTypeID().
Referenced by edm::InputProductHolder::resolveProduct_(), edm::ScheduledProductHolder::resolveProduct_(), edm::UnscheduledProductHolder::resolveProduct_(), and edm::SourceProductHolder::resolveProduct_().
void edm::ProductHolderBase::write | ( | std::ostream & | os | ) | const |
Definition at line 374 of file ProductHolder.cc.
References productID(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by pkg.AbstractPkg::generate(), and edm::operator<<().