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 setProductID (ProductID const &pid)
 
void setProductProvenanceRetriever (ProductProvenanceRetriever const *provRetriever)
 
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 setProductID_ (ProductID const &pid)=0
 
virtual void setProductProvenanceRetriever_ (ProductProvenanceRetriever const *provRetriever)=0
 
virtual bool singleProduct_ () const =0
 
virtual bool unscheduledWasNotRun_ () const =0
 

Detailed Description

Definition at line 34 of file ProductResolverBase.h.

Constructor & Destructor Documentation

◆ ProductResolverBase() [1/2]

edm::ProductResolverBase::ProductResolverBase ( )

Definition at line 14 of file ProductResolverBase.cc.

14 {}

◆ ~ProductResolverBase()

edm::ProductResolverBase::~ProductResolverBase ( )
virtual

Definition at line 16 of file ProductResolverBase.cc.

16 {}

◆ ProductResolverBase() [2/2]

edm::ProductResolverBase::ProductResolverBase ( ProductResolverBase const &  )
delete

Member Function Documentation

◆ branchDescription()

BranchDescription const& edm::ProductResolverBase::branchDescription ( ) const
inline

◆ branchDescription_()

virtual BranchDescription const& edm::ProductResolverBase::branchDescription_ ( ) const
privatepure virtual

◆ connectTo()

virtual void edm::ProductResolverBase::connectTo ( ProductResolverBase const &  ,
Principal const *   
)
pure virtual

◆ moduleLabel()

std::string const& edm::ProductResolverBase::moduleLabel ( ) const
inline

◆ operator=()

ProductResolverBase& edm::ProductResolverBase::operator= ( ProductResolverBase const &  )
delete

◆ prefetchAsync()

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.

74  {
75  return prefetchAsync_(waitTask, principal, skipCurrentProcess, token, sra, mcc);
76  }

References prefetchAsync_(), and unpackBuffers-CaloStage2::token.

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

◆ prefetchAsync_()

virtual void edm::ProductResolverBase::prefetchAsync_ ( WaitingTask waitTask,
Principal const &  principal,
bool  skipCurrentProcess,
ServiceToken const &  token,
SharedResourcesAcquirer sra,
ModuleCallingContext const *  mcc 
) const
privatepure virtual

◆ processName()

std::string const& edm::ProductResolverBase::processName ( ) const
inline

◆ productID()

ProductID const& edm::ProductResolverBase::productID ( ) const
inline

Definition at line 160 of file ProductResolverBase.h.

160 { return provenance()->productID(); }

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

Referenced by write().

◆ productInstanceName()

std::string const& edm::ProductResolverBase::productInstanceName ( ) const
inline

◆ productProvenancePtr()

ProductProvenance const* edm::ProductResolverBase::productProvenancePtr ( ) const
inline

Definition at line 107 of file ProductResolverBase.h.

107 { return productProvenancePtr_(); }

References productProvenancePtr_().

◆ productProvenancePtr_()

virtual ProductProvenance const* edm::ProductResolverBase::productProvenancePtr_ ( ) const
privatepure virtual

◆ productResolved()

bool edm::ProductResolverBase::productResolved ( ) const
inline

◆ productResolved_()

virtual bool edm::ProductResolverBase::productResolved_ ( ) const
privatepure virtual

◆ productType()

TypeID edm::ProductResolverBase::productType ( ) const

Definition at line 29 of file ProductResolverBase.cc.

29 { return TypeID(branchDescription().wrappedTypeID()); }

References branchDescription().

◆ productUnavailable()

bool edm::ProductResolverBase::productUnavailable ( ) const
inline

◆ productUnavailable_()

virtual bool edm::ProductResolverBase::productUnavailable_ ( ) const
privatepure virtual

◆ productWasDeleted()

bool edm::ProductResolverBase::productWasDeleted ( ) const
inline

Definition at line 100 of file ProductResolverBase.h.

100 { return productWasDeleted_(); }

References productWasDeleted_().

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

◆ productWasDeleted_()

virtual bool edm::ProductResolverBase::productWasDeleted_ ( ) const
privatepure virtual

◆ productWasFetchedAndIsValid()

bool edm::ProductResolverBase::productWasFetchedAndIsValid ( bool  iSkipCurrentProcess) const
inline

Definition at line 102 of file ProductResolverBase.h.

102  {
103  return productWasFetchedAndIsValid_(iSkipCurrentProcess);
104  }

References productWasFetchedAndIsValid_().

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

◆ productWasFetchedAndIsValid_()

virtual bool edm::ProductResolverBase::productWasFetchedAndIsValid_ ( bool  iSkipCurrentProcess) const
privatepure virtual

◆ provenance()

Provenance const * edm::ProductResolverBase::provenance ( ) const

◆ provenance_()

virtual Provenance const* edm::ProductResolverBase::provenance_ ( ) const
privatepure virtual

◆ provenanceAvailable()

bool edm::ProductResolverBase::provenanceAvailable ( ) const

Definition at line 18 of file ProductResolverBase.cc.

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  }

References branchDescription(), and productResolved().

◆ putOrMergeProduct()

void edm::ProductResolverBase::putOrMergeProduct ( std::unique_ptr< WrapperBase edp,
MergeableRunProductMetadata const *  mergeableRunProductMetadata = nullptr 
) const
inline

Definition at line 166 of file ProductResolverBase.h.

167  {
168  putOrMergeProduct_(std::move(edp), mergeableRunProductMetadata);
169  }

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

Referenced by edm::Principal::putOrMerge(), and edm::InputProductResolver::retrieveAndMerge_().

◆ putOrMergeProduct_()

virtual void edm::ProductResolverBase::putOrMergeProduct_ ( std::unique_ptr< WrapperBase edp,
MergeableRunProductMetadata const *  mergeableRunProductMetadata 
) const
privatepure virtual

◆ putProduct()

void edm::ProductResolverBase::putProduct ( std::unique_ptr< WrapperBase edp) const
inline

◆ putProduct_()

virtual void edm::ProductResolverBase::putProduct_ ( std::unique_ptr< WrapperBase edp) const
privatepure virtual

◆ resetBranchDescription()

void edm::ProductResolverBase::resetBranchDescription ( std::shared_ptr< BranchDescription const >  bd)
inline

◆ resetBranchDescription_()

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

◆ resetProductData()

void edm::ProductResolverBase::resetProductData ( )
inline

Definition at line 82 of file ProductResolverBase.h.

82 { resetProductData_(false); }

References resetProductData_().

◆ resetProductData_()

virtual void edm::ProductResolverBase::resetProductData_ ( bool  deleteEarly)
privatepure virtual

◆ resolvedModuleLabel()

std::string const& edm::ProductResolverBase::resolvedModuleLabel ( ) const
inline

Definition at line 124 of file ProductResolverBase.h.

124 { return resolvedModuleLabel_(); }

References resolvedModuleLabel_().

◆ resolvedModuleLabel_()

virtual std::string const& edm::ProductResolverBase::resolvedModuleLabel_ ( ) const
privatepure virtual

◆ resolveProduct()

Resolution edm::ProductResolverBase::resolveProduct ( Principal const &  principal,
bool  skipCurrentProcess,
SharedResourcesAcquirer sra,
ModuleCallingContext const *  mcc 
) const
inline

Definition at line 60 of file ProductResolverBase.h.

63  {
64  return resolveProduct_(principal, skipCurrentProcess, sra, mcc);
65  }

References resolveProduct_().

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

◆ resolveProduct_()

virtual Resolution edm::ProductResolverBase::resolveProduct_ ( Principal const &  principal,
bool  skipCurrentProcess,
SharedResourcesAcquirer sra,
ModuleCallingContext const *  mcc 
) const
privatepure virtual

◆ retrieveAndMerge()

void edm::ProductResolverBase::retrieveAndMerge ( Principal const &  principal,
MergeableRunProductMetadata const *  mergeableRunProductMetadata 
) const
inline

Definition at line 78 of file ProductResolverBase.h.

79  {
80  retrieveAndMerge_(principal, mergeableRunProductMetadata);
81  }

References retrieveAndMerge_().

◆ retrieveAndMerge_()

void edm::ProductResolverBase::retrieveAndMerge_ ( Principal const &  principal,
MergeableRunProductMetadata const *  mergeableRunProductMetadata 
) const
privatevirtual

Reimplemented in edm::InputProductResolver.

Definition at line 33 of file ProductResolverBase.cc.

33 {}

Referenced by retrieveAndMerge().

◆ setMergeableRunProductMetadata()

void edm::ProductResolverBase::setMergeableRunProductMetadata ( MergeableRunProductMetadata const *  mrpm)
inline

Definition at line 147 of file ProductResolverBase.h.

147  {
149  }

References setMergeableRunProductMetadata_().

◆ setMergeableRunProductMetadata_()

void edm::ProductResolverBase::setMergeableRunProductMetadata_ ( MergeableRunProductMetadata const *  )
privatevirtual

Reimplemented in edm::InputProductResolver.

Definition at line 35 of file ProductResolverBase.cc.

35 {}

Referenced by setMergeableRunProductMetadata().

◆ setProductID()

void edm::ProductResolverBase::setProductID ( ProductID const &  pid)
inline

Definition at line 144 of file ProductResolverBase.h.

144 { setProductID_(pid); }

References setProductID_().

Referenced by edm::AliasProductResolver::setProductID_().

◆ setProductID_()

virtual void edm::ProductResolverBase::setProductID_ ( ProductID const &  pid)
privatepure virtual

◆ setProductProvenanceRetriever()

void edm::ProductResolverBase::setProductProvenanceRetriever ( ProductProvenanceRetriever const *  provRetriever)
inline

Definition at line 139 of file ProductResolverBase.h.

139  {
140  setProductProvenanceRetriever_(provRetriever);
141  }

References setProductProvenanceRetriever_().

Referenced by edm::AliasProductResolver::setProductProvenanceRetriever_().

◆ setProductProvenanceRetriever_()

virtual void edm::ProductResolverBase::setProductProvenanceRetriever_ ( ProductProvenanceRetriever const *  provRetriever)
privatepure virtual

◆ setupUnscheduled()

void edm::ProductResolverBase::setupUnscheduled ( UnscheduledConfigurator const &  )
virtual

◆ singleProduct()

bool edm::ProductResolverBase::singleProduct ( ) const
inline

Definition at line 113 of file ProductResolverBase.h.

113 { return singleProduct_(); }

References singleProduct_().

◆ singleProduct_()

virtual bool edm::ProductResolverBase::singleProduct_ ( ) const
privatepure virtual

◆ stableProvenance()

StableProvenance const* edm::ProductResolverBase::stableProvenance ( ) const
inline

Definition at line 136 of file ProductResolverBase.h.

136 { return &provenance()->stable(); }

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

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

◆ unsafe_deleteProduct()

void edm::ProductResolverBase::unsafe_deleteProduct ( ) const
inline

Definition at line 84 of file ProductResolverBase.h.

84 { const_cast<ProductResolverBase*>(this)->resetProductData_(true); }

◆ unscheduledWasNotRun()

bool edm::ProductResolverBase::unscheduledWasNotRun ( ) const
inline

◆ unscheduledWasNotRun_()

virtual bool edm::ProductResolverBase::unscheduledWasNotRun_ ( ) const
privatepure virtual

◆ write()

void edm::ProductResolverBase::write ( std::ostream &  os) const

Definition at line 37 of file ProductResolverBase.cc.

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  }

References productID(), and AlCaHLTBitMon_QueryRunRegistry::string.

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

edm::ProductResolverBase::provenance
Provenance const * provenance() const
Definition: ProductResolverBase.cc:31
edm::BranchDescription::productInstanceName
std::string const & productInstanceName() const
Definition: BranchDescription.h:81
edm::ProductResolverBase::resetProductData_
virtual void resetProductData_(bool deleteEarly)=0
edm::ProductResolverBase::setProductProvenanceRetriever_
virtual void setProductProvenanceRetriever_(ProductProvenanceRetriever const *provRetriever)=0
edm::ProductResolverBase::singleProduct_
virtual bool singleProduct_() const =0
edm::ProductResolverBase::putOrMergeProduct_
virtual void putOrMergeProduct_(std::unique_ptr< WrapperBase > edp, MergeableRunProductMetadata const *mergeableRunProductMetadata) const =0
edm::ProductResolverBase::productUnavailable_
virtual bool productUnavailable_() const =0
edm::ProductResolverBase::provenance_
virtual Provenance const * provenance_() const =0
edm::Provenance::productID
ProductID const & productID() const
Definition: Provenance.h:79
edm::ProductResolverBase::putProduct_
virtual void putProduct_(std::unique_ptr< WrapperBase > edp) const =0
edm::ProductResolverBase::productResolved
bool productResolved() const
Definition: ProductResolverBase.h:90
edm::ProductResolverBase::resetBranchDescription_
virtual void resetBranchDescription_(std::shared_ptr< BranchDescription const > bd)=0
edm::ProductResolverBase::branchDescription_
virtual BranchDescription const & branchDescription_() const =0
edm::BranchDescription::processName
std::string const & processName() const
Definition: BranchDescription.h:73
edm::ProductResolverBase::unscheduledWasNotRun_
virtual bool unscheduledWasNotRun_() const =0
edm::ProductResolverBase::setProductID_
virtual void setProductID_(ProductID const &pid)=0
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ProductResolverBase::setMergeableRunProductMetadata_
virtual void setMergeableRunProductMetadata_(MergeableRunProductMetadata const *)
Definition: ProductResolverBase.cc:35
edm::ProductResolverBase::productWasDeleted_
virtual bool productWasDeleted_() const =0
edm::ProductResolverBase::resolvedModuleLabel_
virtual std::string const & resolvedModuleLabel_() const =0
edm::ProductResolverBase::productID
ProductID const & productID() const
Definition: ProductResolverBase.h:160
edm::ProductResolverBase::productWasFetchedAndIsValid_
virtual bool productWasFetchedAndIsValid_(bool iSkipCurrentProcess) const =0
edm::ProductResolverBase::retrieveAndMerge_
virtual void retrieveAndMerge_(Principal const &principal, MergeableRunProductMetadata const *mergeableRunProductMetadata) const
Definition: ProductResolverBase.cc:33
edm::ProductResolverBase::prefetchAsync_
virtual void prefetchAsync_(WaitingTask *waitTask, Principal const &principal, bool skipCurrentProcess, ServiceToken const &token, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const =0
edm::ProductResolverBase::resolveProduct_
virtual Resolution resolveProduct_(Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const =0
eostools.move
def move(src, dest)
Definition: eostools.py:511
edm::ProductResolverBase::branchDescription
BranchDescription const & branchDescription() const
Definition: ProductResolverBase.h:110
edm::BranchDescription::moduleLabel
std::string const & moduleLabel() const
Definition: BranchDescription.h:72
edm::Provenance::stable
StableProvenance const & stable() const
Definition: Provenance.h:42
edm::ProductResolverBase::productResolved_
virtual bool productResolved_() const =0
edm::ProductResolverBase::productProvenancePtr_
virtual ProductProvenance const * productProvenancePtr_() const =0
unpackBuffers-CaloStage2.token
token
Definition: unpackBuffers-CaloStage2.py:316