CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
edm::AliasProductResolver Class Reference

#include <ProductResolvers.h>

Inheritance diagram for edm::AliasProductResolver:
edm::DataManagingOrAliasProductResolver edm::ProductResolverBase

Public Types

typedef ProducedProductResolver::ProductStatus ProductStatus
 

Public Member Functions

 AliasProductResolver (std::shared_ptr< BranchDescription const > bd, DataManagingOrAliasProductResolver &realProduct)
 
void connectTo (ProductResolverBase const &iOther, Principal const *iParentPrincipal) final
 
- Public Member Functions inherited from edm::DataManagingOrAliasProductResolver
 DataManagingOrAliasProductResolver ()
 
- Public Member Functions inherited from edm::ProductResolverBase
BranchDescription const & branchDescription () const
 
std::string const & moduleLabel () const
 
ProductResolverBaseoperator= (ProductResolverBase const &)=delete
 
void prefetchAsync (WaitingTaskHolder 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 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

BranchDescription const & branchDescription_ () const override
 
ProductData const & getProductData () const final
 
void prefetchAsync_ (WaitingTaskHolder waitTask, Principal const &principal, bool skipCurrentProcess, ServiceToken const &token, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override
 
ProductProvenance const * productProvenancePtr_ () const override
 
bool productResolved_ () const final
 
bool productUnavailable_ () const override
 
bool productWasDeleted_ () const override
 
bool productWasFetchedAndIsValid_ (bool iSkipCurrentProcess) const final
 
Provenance const * provenance_ () const final
 
void resetBranchDescription_ (std::shared_ptr< BranchDescription const > bd) override
 
void resetProductData_ (bool deleteEarly) override
 
std::string const & resolvedModuleLabel_ () const override
 
Resolution resolveProduct_ (Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override
 
void setProductID_ (ProductID const &pid) override
 
void setProductProvenanceRetriever_ (ProductProvenanceRetriever const *provRetriever) override
 
bool singleProduct_ () const override
 
bool unscheduledWasNotRun_ () const override
 

Private Attributes

std::shared_ptr< BranchDescription const > bd_
 
DataManagingOrAliasProductResolverrealProduct_
 

Detailed Description

Definition at line 288 of file ProductResolvers.h.

Member Typedef Documentation

◆ ProductStatus

Definition at line 290 of file ProductResolvers.h.

Constructor & Destructor Documentation

◆ AliasProductResolver()

edm::AliasProductResolver::AliasProductResolver ( std::shared_ptr< BranchDescription const >  bd,
DataManagingOrAliasProductResolver realProduct 
)
inlineexplicit

Definition at line 291 of file ProductResolvers.h.

293  : DataManagingOrAliasProductResolver(), realProduct_(realProduct), bd_(bd) {}
DataManagingOrAliasProductResolver & realProduct_
std::shared_ptr< BranchDescription const > bd_

Member Function Documentation

◆ branchDescription_()

BranchDescription const& edm::AliasProductResolver::branchDescription_ ( ) const
inlineoverrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 322 of file ProductResolvers.h.

322 { return *bd_; }
std::shared_ptr< BranchDescription const > bd_

◆ connectTo()

void edm::AliasProductResolver::connectTo ( ProductResolverBase const &  iOther,
Principal const *  iParentPrincipal 
)
inlinefinalvirtual

Implements edm::ProductResolverBase.

Definition at line 295 of file ProductResolvers.h.

295  {
296  realProduct_.connectTo(iOther, iParentPrincipal);
297  };
virtual void connectTo(ProductResolverBase const &, Principal const *)=0
DataManagingOrAliasProductResolver & realProduct_

◆ getProductData()

ProductData const& edm::AliasProductResolver::getProductData ( ) const
inlinefinalprivatevirtual

Implements edm::DataManagingOrAliasProductResolver.

Definition at line 331 of file ProductResolvers.h.

331 { return realProduct_.getProductData(); }
virtual ProductData const & getProductData() const =0
DataManagingOrAliasProductResolver & realProduct_

◆ prefetchAsync_()

void edm::AliasProductResolver::prefetchAsync_ ( WaitingTaskHolder  waitTask,
Principal const &  principal,
bool  skipCurrentProcess,
ServiceToken const &  token,
SharedResourcesAcquirer sra,
ModuleCallingContext const *  mcc 
) const
inlineoverrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 306 of file ProductResolvers.h.

References unpackBuffers-CaloStage2::token.

311  {
312  realProduct_.prefetchAsync(waitTask, principal, skipCurrentProcess, token, sra, mcc);
313  }
void prefetchAsync(WaitingTaskHolder waitTask, Principal const &principal, bool skipCurrentProcess, ServiceToken const &token, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
DataManagingOrAliasProductResolver & realProduct_

◆ productProvenancePtr_()

ProductProvenance const * edm::AliasProductResolver::productProvenancePtr_ ( ) const
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 699 of file ProductResolvers.cc.

References edm::Provenance::productProvenance(), and edm::ProductResolverBase::provenance().

699  {
700  return provenance()->productProvenance();
701  }
ProductProvenance const * productProvenance() const
Definition: Provenance.cc:24
Provenance const * provenance() const

◆ productResolved_()

bool edm::AliasProductResolver::productResolved_ ( ) const
inlinefinalprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 316 of file ProductResolvers.h.

316 { return realProduct_.productResolved(); }
DataManagingOrAliasProductResolver & realProduct_

◆ productUnavailable_()

bool edm::AliasProductResolver::productUnavailable_ ( ) const
inlineoverrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 315 of file ProductResolvers.h.

315 { return realProduct_.productUnavailable(); }
DataManagingOrAliasProductResolver & realProduct_

◆ productWasDeleted_()

bool edm::AliasProductResolver::productWasDeleted_ ( ) const
inlineoverrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 317 of file ProductResolvers.h.

317 { return realProduct_.productWasDeleted(); }
DataManagingOrAliasProductResolver & realProduct_

◆ productWasFetchedAndIsValid_()

bool edm::AliasProductResolver::productWasFetchedAndIsValid_ ( bool  iSkipCurrentProcess) const
inlinefinalprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 318 of file ProductResolvers.h.

318  {
319  return realProduct_.productWasFetchedAndIsValid(iSkipCurrentProcess);
320  }
bool productWasFetchedAndIsValid(bool iSkipCurrentProcess) const
DataManagingOrAliasProductResolver & realProduct_

◆ provenance_()

Provenance const* edm::AliasProductResolver::provenance_ ( ) const
inlinefinalprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 324 of file ProductResolvers.h.

324 { return realProduct_.provenance(); }
Provenance const * provenance() const
DataManagingOrAliasProductResolver & realProduct_

◆ resetBranchDescription_()

void edm::AliasProductResolver::resetBranchDescription_ ( std::shared_ptr< BranchDescription const >  bd)
inlineoverrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 323 of file ProductResolvers.h.

323 { bd_ = bd; }
std::shared_ptr< BranchDescription const > bd_

◆ resetProductData_()

void edm::AliasProductResolver::resetProductData_ ( bool  deleteEarly)
overrideprivatevirtual

Implements edm::DataManagingOrAliasProductResolver.

Definition at line 703 of file ProductResolvers.cc.

References realProduct_, and edm::DataManagingOrAliasProductResolver::resetProductData_().

703 { realProduct_.resetProductData_(deleteEarly); }
DataManagingOrAliasProductResolver & realProduct_
void resetProductData_(bool deleteEarly) override=0

◆ resolvedModuleLabel_()

std::string const& edm::AliasProductResolver::resolvedModuleLabel_ ( ) const
inlineoverrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 326 of file ProductResolvers.h.

326 { return realProduct_.moduleLabel(); }
std::string const & moduleLabel() const
DataManagingOrAliasProductResolver & realProduct_

◆ resolveProduct_()

Resolution edm::AliasProductResolver::resolveProduct_ ( Principal const &  principal,
bool  skipCurrentProcess,
SharedResourcesAcquirer sra,
ModuleCallingContext const *  mcc 
) const
inlineoverrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 300 of file ProductResolvers.h.

303  {
304  return realProduct_.resolveProduct(principal, skipCurrentProcess, sra, mcc);
305  }
Resolution resolveProduct(Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
DataManagingOrAliasProductResolver & realProduct_

◆ setProductID_()

void edm::AliasProductResolver::setProductID_ ( ProductID const &  pid)
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 697 of file ProductResolvers.cc.

References realProduct_, and edm::ProductResolverBase::setProductID().

697 { realProduct_.setProductID(pid); }
void setProductID(ProductID const &pid)
DataManagingOrAliasProductResolver & realProduct_

◆ setProductProvenanceRetriever_()

void edm::AliasProductResolver::setProductProvenanceRetriever_ ( ProductProvenanceRetriever const *  provRetriever)
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 693 of file ProductResolvers.cc.

References realProduct_, and edm::ProductResolverBase::setProductProvenanceRetriever().

693  {
695  }
DataManagingOrAliasProductResolver & realProduct_
void setProductProvenanceRetriever(ProductProvenanceRetriever const *provRetriever)

◆ singleProduct_()

bool edm::AliasProductResolver::singleProduct_ ( ) const
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 705 of file ProductResolvers.cc.

705 { return true; }

◆ unscheduledWasNotRun_()

bool edm::AliasProductResolver::unscheduledWasNotRun_ ( ) const
inlineoverrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 314 of file ProductResolvers.h.

DataManagingOrAliasProductResolver & realProduct_

Member Data Documentation

◆ bd_

std::shared_ptr<BranchDescription const> edm::AliasProductResolver::bd_
private

Definition at line 335 of file ProductResolvers.h.

◆ realProduct_

DataManagingOrAliasProductResolver& edm::AliasProductResolver::realProduct_
private