CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Member Functions
edm::ProductResolverBase Class Referenceabstract

#include <ProductResolverBase.h>

Inheritance diagram for edm::ProductResolverBase:
edm::DataManagingOrAliasProductResolver edm::NoProcessProductResolver edm::ParentProcessProductResolver edm::SingleChoiceNoProcessProductResolver edm::AliasProductResolver edm::DataManagingProductResolver edm::SwitchBaseProductResolver edm::InputProductResolver edm::ProducedProductResolver edm::SwitchAliasProductResolver edm::SwitchProducerProductResolver edm::PuttableProductResolver edm::UnscheduledProductResolver

Classes

class  Resolution
 

Public Member Functions

BranchDescription const & branchDescription () const
 
virtual void connectTo (ProductResolverBase const &, Principal const *)=0
 
std::string const & moduleLabel () const
 
ProductResolverBaseoperator= (ProductResolverBase const &)=delete
 
void prefetchAsync (WaitingTask *waitTask, Principal const &principal, bool skipCurrentProcess, ServiceToken const &token, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
 
std::string const & processName () const
 
ProductID const & productID () const
 
std::string const & productInstanceName () const
 
ProductProvenance const * productProvenancePtr () const
 
bool productResolved () const
 
 ProductResolverBase ()
 
 ProductResolverBase (ProductResolverBase const &)=delete
 
TypeID productType () const
 
bool productUnavailable () const
 
bool productWasDeleted () const
 
bool productWasFetchedAndIsValid (bool iSkipCurrentProcess) const
 
Provenance const * provenance () const
 
bool provenanceAvailable () const
 
void putOrMergeProduct (std::unique_ptr< WrapperBase > edp, MergeableRunProductMetadata const *mergeableRunProductMetadata=nullptr) const
 
void putProduct (std::unique_ptr< WrapperBase > edp) const
 
void resetBranchDescription (std::shared_ptr< BranchDescription const > bd)
 
void resetProductData ()
 
std::string const & resolvedModuleLabel () const
 
Resolution resolveProduct (Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
 
void retrieveAndMerge (Principal const &principal, MergeableRunProductMetadata const *mergeableRunProductMetadata) const
 
void setMergeableRunProductMetadata (MergeableRunProductMetadata const *mrpm)
 
void setProcessHistory (ProcessHistory const &ph)
 
void setProvenance (ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid)
 
virtual void setupUnscheduled (UnscheduledConfigurator const &)
 
bool singleProduct () const
 
StableProvenance const * stableProvenance () const
 
void unsafe_deleteProduct () const
 
bool unscheduledWasNotRun () const
 
void write (std::ostream &os) const
 
virtual ~ProductResolverBase ()
 

Private Member Functions

virtual BranchDescription const & branchDescription_ () const =0
 
virtual void prefetchAsync_ (WaitingTask *waitTask, Principal const &principal, bool skipCurrentProcess, ServiceToken const &token, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const =0
 
virtual ProductProvenance const * productProvenancePtr_ () const =0
 
virtual bool productResolved_ () const =0
 
virtual bool productUnavailable_ () const =0
 
virtual bool productWasDeleted_ () const =0
 
virtual bool productWasFetchedAndIsValid_ (bool iSkipCurrentProcess) const =0
 
virtual Provenance const * provenance_ () const =0
 
virtual void putOrMergeProduct_ (std::unique_ptr< WrapperBase > edp, MergeableRunProductMetadata const *mergeableRunProductMetadata) const =0
 
virtual void putProduct_ (std::unique_ptr< WrapperBase > edp) const =0
 
virtual void resetBranchDescription_ (std::shared_ptr< BranchDescription const > bd)=0
 
virtual void resetProductData_ (bool deleteEarly)=0
 
virtual std::string const & resolvedModuleLabel_ () const =0
 
virtual Resolution resolveProduct_ (Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const =0
 
virtual void retrieveAndMerge_ (Principal const &principal, MergeableRunProductMetadata const *mergeableRunProductMetadata) const
 
virtual void setMergeableRunProductMetadata_ (MergeableRunProductMetadata const *)
 
virtual void setProcessHistory_ (ProcessHistory const &ph)=0
 
virtual void setProvenance_ (ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid)=0
 
virtual bool singleProduct_ () const =0
 
virtual bool unscheduledWasNotRun_ () const =0
 

Detailed Description

Definition at line 34 of file ProductResolverBase.h.

Constructor & Destructor Documentation

edm::ProductResolverBase::ProductResolverBase ( )

Definition at line 14 of file ProductResolverBase.cc.

14 {}
edm::ProductResolverBase::~ProductResolverBase ( )
virtual

Definition at line 16 of file ProductResolverBase.cc.

16 {}
edm::ProductResolverBase::ProductResolverBase ( ProductResolverBase const &  )
delete

Member Function Documentation

BranchDescription const& edm::ProductResolverBase::branchDescription ( ) const
inline
virtual BranchDescription const& edm::ProductResolverBase::branchDescription_ ( ) const
privatepure virtual
virtual void edm::ProductResolverBase::connectTo ( ProductResolverBase const &  ,
Principal const *   
)
pure virtual
std::string const& edm::ProductResolverBase::moduleLabel ( ) const
inline
ProductResolverBase& edm::ProductResolverBase::operator= ( ProductResolverBase const &  )
delete
void edm::ProductResolverBase::prefetchAsync ( WaitingTask waitTask,
Principal const &  principal,
bool  skipCurrentProcess,
ServiceToken const &  token,
SharedResourcesAcquirer sra,
ModuleCallingContext const *  mcc 
) const
inline

oDataFetchedIsValid is allowed to be nullptr in which case no value will be assigned

Definition at line 69 of file ProductResolverBase.h.

References prefetchAsync_().

Referenced by edm::SwitchAliasProductResolver::prefetchAsync_(), and edm::NoProcessProductResolver::tryPrefetchResolverAsync().

74  {
75  return prefetchAsync_(waitTask, principal, skipCurrentProcess, token, sra, mcc);
76  }
virtual void prefetchAsync_(WaitingTask *waitTask, Principal const &principal, bool skipCurrentProcess, ServiceToken const &token, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const =0
def principal(options)
virtual void edm::ProductResolverBase::prefetchAsync_ ( WaitingTask waitTask,
Principal const &  principal,
bool  skipCurrentProcess,
ServiceToken const &  token,
SharedResourcesAcquirer sra,
ModuleCallingContext const *  mcc 
) const
privatepure virtual
std::string const& edm::ProductResolverBase::processName ( ) const
inline

Definition at line 130 of file ProductResolverBase.h.

References branchDescription(), edm::BranchDescription::processName(), and provenance().

Referenced by edm::DataManagingProductResolver::throwProductDeletedException().

130 { return branchDescription().processName(); }
std::string const & processName() const
BranchDescription const & branchDescription() const
ProductID const& edm::ProductResolverBase::productID ( ) const
inline

Definition at line 162 of file ProductResolverBase.h.

References edm::Provenance::productID(), and provenance().

Referenced by write().

162 { return provenance()->productID(); }
Provenance const * provenance() const
ProductID const & productID() const
Definition: Provenance.h:83
std::string const& edm::ProductResolverBase::productInstanceName ( ) const
inline

Definition at line 127 of file ProductResolverBase.h.

References branchDescription(), and edm::BranchDescription::productInstanceName().

Referenced by edm::DataManagingProductResolver::throwProductDeletedException().

std::string const & productInstanceName() const
BranchDescription const & branchDescription() const
ProductProvenance const* edm::ProductResolverBase::productProvenancePtr ( ) const
inline

Definition at line 107 of file ProductResolverBase.h.

References productProvenancePtr_().

107 { return productProvenancePtr_(); }
virtual ProductProvenance const * productProvenancePtr_() const =0
virtual ProductProvenance const* edm::ProductResolverBase::productProvenancePtr_ ( ) const
privatepure virtual
bool edm::ProductResolverBase::productResolved ( ) const
inline
virtual bool edm::ProductResolverBase::productResolved_ ( ) const
privatepure virtual
TypeID edm::ProductResolverBase::productType ( ) const

Definition at line 29 of file ProductResolverBase.cc.

References branchDescription().

Referenced by setProcessHistory().

29 { return TypeID(branchDescription().wrappedTypeID()); }
BranchDescription const & branchDescription() const
bool edm::ProductResolverBase::productUnavailable ( ) const
inline

Definition at line 87 of file ProductResolverBase.h.

References productUnavailable_().

Referenced by edm::SwitchProducerProductResolver::productUnavailable_().

87 { return productUnavailable_(); }
virtual bool productUnavailable_() const =0
virtual bool edm::ProductResolverBase::productUnavailable_ ( ) const
privatepure virtual
bool edm::ProductResolverBase::productWasDeleted ( ) const
inline

Definition at line 100 of file ProductResolverBase.h.

References productWasDeleted_().

Referenced by edm::DataManagingProductResolver::resolveProductImpl().

100 { return productWasDeleted_(); }
virtual bool productWasDeleted_() const =0
virtual bool edm::ProductResolverBase::productWasDeleted_ ( ) const
privatepure virtual
bool edm::ProductResolverBase::productWasFetchedAndIsValid ( bool  iSkipCurrentProcess) const
inline

Definition at line 102 of file ProductResolverBase.h.

References productWasFetchedAndIsValid_().

Referenced by edm::NoProcessProductResolver::dataValidFromResolver().

102  {
103  return productWasFetchedAndIsValid_(iSkipCurrentProcess);
104  }
virtual bool productWasFetchedAndIsValid_(bool iSkipCurrentProcess) const =0
virtual bool edm::ProductResolverBase::productWasFetchedAndIsValid_ ( bool  iSkipCurrentProcess) const
privatepure virtual
Provenance const * edm::ProductResolverBase::provenance ( ) const
virtual Provenance const* edm::ProductResolverBase::provenance_ ( ) const
privatepure virtual
bool edm::ProductResolverBase::provenanceAvailable ( ) const

Definition at line 18 of file ProductResolverBase.cc.

References branchDescription(), and productResolved().

Referenced by productResolved().

18  {
19  // If this product is from a the current process,
20  // the provenance is available if and only if a product has been put.
21  if (branchDescription().produced()) {
22  return productResolved();
23  }
24  // If this product is from a prior process, the provenance is available,
25  // although the per event part may have been dropped.
26  return true;
27  }
BranchDescription const & branchDescription() const
void edm::ProductResolverBase::putOrMergeProduct ( std::unique_ptr< WrapperBase edp,
MergeableRunProductMetadata const *  mergeableRunProductMetadata = nullptr 
) const
inline
virtual void edm::ProductResolverBase::putOrMergeProduct_ ( std::unique_ptr< WrapperBase edp,
MergeableRunProductMetadata const *  mergeableRunProductMetadata 
) const
privatepure virtual
void edm::ProductResolverBase::putProduct ( std::unique_ptr< WrapperBase edp) const
inline

Definition at line 165 of file ProductResolverBase.h.

References eostools::move(), and putProduct_().

Referenced by edm::InputProductResolver::prefetchAsync_(), edm::DataManagingProductResolver::putOrMergeProduct_(), and edm::InputProductResolver::resolveProduct_().

165 { putProduct_(std::move(edp)); }
virtual void putProduct_(std::unique_ptr< WrapperBase > edp) const =0
def move(src, dest)
Definition: eostools.py:511
virtual void edm::ProductResolverBase::putProduct_ ( std::unique_ptr< WrapperBase edp) const
privatepure virtual
void edm::ProductResolverBase::resetBranchDescription ( std::shared_ptr< BranchDescription const >  bd)
inline

Definition at line 116 of file ProductResolverBase.h.

References resetBranchDescription_().

Referenced by edm::Principal::adjustToNewProductRegistry().

virtual void resetBranchDescription_(std::shared_ptr< BranchDescription const > bd)=0
virtual void edm::ProductResolverBase::resetBranchDescription_ ( std::shared_ptr< BranchDescription const >  bd)
privatepure virtual
void edm::ProductResolverBase::resetProductData ( )
inline

Definition at line 82 of file ProductResolverBase.h.

References resetProductData_().

82 { resetProductData_(false); }
virtual void resetProductData_(bool deleteEarly)=0
virtual void edm::ProductResolverBase::resetProductData_ ( bool  deleteEarly)
privatepure virtual
std::string const& edm::ProductResolverBase::resolvedModuleLabel ( ) const
inline

Definition at line 124 of file ProductResolverBase.h.

References resolvedModuleLabel_().

124 { return resolvedModuleLabel_(); }
virtual std::string const & resolvedModuleLabel_() const =0
virtual std::string const& edm::ProductResolverBase::resolvedModuleLabel_ ( ) const
privatepure virtual
Resolution edm::ProductResolverBase::resolveProduct ( Principal const &  principal,
bool  skipCurrentProcess,
SharedResourcesAcquirer sra,
ModuleCallingContext const *  mcc 
) const
inline

Definition at line 60 of file ProductResolverBase.h.

References resolveProduct_().

Referenced by edm::SwitchProducerProductResolver::resolveProduct_(), edm::SwitchAliasProductResolver::resolveProduct_(), and edm::NoProcessProductResolver::tryResolver().

63  {
64  return resolveProduct_(principal, skipCurrentProcess, sra, mcc);
65  }
def principal(options)
virtual Resolution resolveProduct_(Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const =0
virtual Resolution edm::ProductResolverBase::resolveProduct_ ( Principal const &  principal,
bool  skipCurrentProcess,
SharedResourcesAcquirer sra,
ModuleCallingContext const *  mcc 
) const
privatepure virtual
void edm::ProductResolverBase::retrieveAndMerge ( Principal const &  principal,
MergeableRunProductMetadata const *  mergeableRunProductMetadata 
) const
inline

Definition at line 78 of file ProductResolverBase.h.

References retrieveAndMerge_().

79  {
80  retrieveAndMerge_(principal, mergeableRunProductMetadata);
81  }
def principal(options)
virtual void retrieveAndMerge_(Principal const &principal, MergeableRunProductMetadata const *mergeableRunProductMetadata) const
void edm::ProductResolverBase::retrieveAndMerge_ ( Principal const &  principal,
MergeableRunProductMetadata const *  mergeableRunProductMetadata 
) const
privatevirtual
void edm::ProductResolverBase::setMergeableRunProductMetadata ( MergeableRunProductMetadata const *  mrpm)
inline

Definition at line 146 of file ProductResolverBase.h.

References setMergeableRunProductMetadata_().

146  {
148  }
virtual void setMergeableRunProductMetadata_(MergeableRunProductMetadata const *)
void edm::ProductResolverBase::setMergeableRunProductMetadata_ ( MergeableRunProductMetadata const *  )
privatevirtual
void edm::ProductResolverBase::setProcessHistory ( ProcessHistory const &  ph)
inline

Definition at line 151 of file ProductResolverBase.h.

References productType(), setProcessHistory_(), and write().

151 { setProcessHistory_(ph); }
virtual void setProcessHistory_(ProcessHistory const &ph)=0
virtual void edm::ProductResolverBase::setProcessHistory_ ( ProcessHistory const &  ph)
privatepure virtual
void edm::ProductResolverBase::setProvenance ( ProductProvenanceRetriever const *  provRetriever,
ProcessHistory const &  ph,
ProductID const &  pid 
)
inline

Definition at line 139 of file ProductResolverBase.h.

References setProvenance_().

141  {
142  setProvenance_(provRetriever, ph, pid);
143  }
virtual void setProvenance_(ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid)=0
virtual void edm::ProductResolverBase::setProvenance_ ( ProductProvenanceRetriever const *  provRetriever,
ProcessHistory const &  ph,
ProductID const &  pid 
)
privatepure virtual
void edm::ProductResolverBase::setupUnscheduled ( UnscheduledConfigurator const &  )
virtual
bool edm::ProductResolverBase::singleProduct ( ) const
inline

Definition at line 113 of file ProductResolverBase.h.

References singleProduct_().

113 { return singleProduct_(); }
virtual bool singleProduct_() const =0
virtual bool edm::ProductResolverBase::singleProduct_ ( ) const
privatepure virtual
StableProvenance const* edm::ProductResolverBase::stableProvenance ( ) const
inline

Definition at line 136 of file ProductResolverBase.h.

References provenance(), and edm::Provenance::stable().

Referenced by edm::PrincipalGetAdapter::getProductID().

136 { return &provenance()->stable(); }
Provenance const * provenance() const
StableProvenance const & stable() const
Definition: Provenance.h:42
void edm::ProductResolverBase::unsafe_deleteProduct ( ) const
inline

Definition at line 84 of file ProductResolverBase.h.

References resetProductData_().

84 { const_cast<ProductResolverBase*>(this)->resetProductData_(true); }
virtual void resetProductData_(bool deleteEarly)=0
bool edm::ProductResolverBase::unscheduledWasNotRun ( ) const
inline

Definition at line 97 of file ProductResolverBase.h.

References unscheduledWasNotRun_().

97 { return unscheduledWasNotRun_(); }
virtual bool unscheduledWasNotRun_() const =0
virtual bool edm::ProductResolverBase::unscheduledWasNotRun_ ( ) const
privatepure virtual
void edm::ProductResolverBase::write ( std::ostream &  os) const

Definition at line 37 of file ProductResolverBase.cc.

References productID(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by pkg.AbstractPkg::generate(), edm::operator<<(), and setProcessHistory().

37  {
38  // This is grossly inadequate. It is also not critical for the
39  // first pass.
40  os << std::string("ProductResolver for product with ID: ") << productID();
41  }
ProductID const & productID() const