#include <ProductHolder.h>
Public Types | |
enum | ResolveStatus { ProductFound, ProductNotFound, Ambiguous } |
Private Member Functions | |
virtual BranchDescription 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< 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_ (boost::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 31 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 95 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::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 168 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 65 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 155 of file ProductHolder.h.
References mergeProduct_().
Referenced by edm::AliasProductHolder::mergeProduct_(), and edm::Principal::putOrMerge().
|
inline |
Definition at line 159 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 206 of file ProductHolder.cc.
References branchDescription(), edm::BranchDescription::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 106 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 77 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 117 of file ProductHolder.h.
References branchDescription(), and edm::BranchDescription::processName().
Referenced by mergeTheProduct(), and throwProductDeletedException().
|
inline |
Definition at line 83 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::readFromSource_(), edm::InputProductHolder::resolveProduct_(), edm::ScheduledProductHolder::resolveProduct_(), edm::UnscheduledProductHolder::resolveProduct_(), edm::SourceProductHolder::resolveProduct_(), and edm::InputProductHolder::setProduct().
|
inline |
Definition at line 42 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::EventPrincipal::readFromSource_(), edm::InputProductHolder::resetBranchDescription_(), edm::ProducedProductHolder::resetBranchDescription_(), edm::InputProductHolder::resetProductData_(), edm::ProducedProductHolder::resetProductData_(), edm::AliasProductHolder::resetProductData_(), edm::RunPrincipal::resolveProductImmediate(), edm::LuminosityBlockPrincipal::resolveProductImmediate(), 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 46 of file ProductHolder.h.
References getProductData().
|
inline |
Definition at line 137 of file ProductHolder.h.
References getProductData(), edm::Provenance::productID(), and edm::ProductData::prov_.
Referenced by write().
|
inline |
Definition at line 114 of file ProductHolder.h.
References branchDescription(), and edm::BranchDescription::productInstanceName().
Referenced by mergeTheProduct(), and throwProductDeletedException().
|
inline |
Definition at line 89 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 71 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 80 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 376 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 346 of file ProductHolder.cc.
References branchDescription(), edm::WrapperHolder::isPresent(), edm::es::produced, product(), and wrapper().
|
inline |
Definition at line 150 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 140 of file ProductHolder.h.
References putProduct_().
Referenced by edm::EventPrincipal::put(), edm::EventPrincipal::putOnRead(), edm::Principal::putOrMerge(), edm::AliasProductHolder::putProduct_(), and edm::EventPrincipal::readFromSource_().
|
inline |
Definition at line 145 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 363 of file ProductHolder.cc.
References branchDescription(), edm::BranchDescription::branchName(), edm::BranchDescription::className(), edm::WrapperHolder::dynamicTypeInfo(), edm::errors::EventCorruption, edm::hlt::Exception, and edm::BranchDescription::unwrappedTypeID().
Referenced by edm::ProducedProductHolder::checkType_().
|
inline |
Definition at line 103 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 63 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 55 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 111 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 50 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 100 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 126 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 59 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 270 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 123 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 98 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 172 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_().
|
inline |
Definition at line 86 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 381 of file ProductHolder.cc.
References productID(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by pkg.AbstractPkg::generate(), and edm::operator<<().