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::ProductResolverBase

Public Types

typedef ProducedProductResolver::ProductStatus ProductStatus
 

Public Member Functions

 AliasProductResolver (std::shared_ptr< BranchDescription const > bd, ProducedProductResolver &realProduct)
 
void connectTo (ProductResolverBase const &iOther, Principal const *iParentPrincipal) final
 
- Public Member Functions inherited from edm::ProductResolverBase
BranchDescription const & branchDescription () const
 
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) 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) const
 
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

BranchDescription const & branchDescription_ () const override
 
void prefetchAsync_ (WaitingTask *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 putOrMergeProduct_ (std::unique_ptr< WrapperBase > prod) const final
 
void putProduct_ (std::unique_ptr< WrapperBase > edp) const override
 
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 setProcessHistory_ (ProcessHistory const &ph) override
 
void setProvenance_ (ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid) override
 
bool singleProduct_ () const override
 
bool unscheduledWasNotRun_ () const override
 

Private Attributes

std::shared_ptr< BranchDescription const > bd_
 
ProducedProductResolverrealProduct_
 

Detailed Description

Definition at line 203 of file ProductResolvers.h.

Member Typedef Documentation

Definition at line 205 of file ProductResolvers.h.

Constructor & Destructor Documentation

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

Definition at line 206 of file ProductResolvers.h.

206 : ProductResolverBase(), realProduct_(realProduct), bd_(bd) {}
ProducedProductResolver & realProduct_
std::shared_ptr< BranchDescription const > bd_

Member Function Documentation

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

Implements edm::ProductResolverBase.

Definition at line 237 of file ProductResolvers.h.

237 {return *bd_;}
std::shared_ptr< BranchDescription const > bd_
void edm::AliasProductResolver::connectTo ( ProductResolverBase const &  iOther,
Principal const *  iParentPrincipal 
)
inlinefinalvirtual

Implements edm::ProductResolverBase.

Definition at line 208 of file ProductResolvers.h.

208  {
209  realProduct_.connectTo(iOther, iParentPrincipal );
210  };
ProducedProductResolver & realProduct_
void connectTo(ProductResolverBase const &, Principal const *) final
void edm::AliasProductResolver::prefetchAsync_ ( WaitingTask waitTask,
Principal const &  principal,
bool  skipCurrentProcess,
ServiceToken const &  token,
SharedResourcesAcquirer sra,
ModuleCallingContext const *  mcc 
) const
inlineoverrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 218 of file ProductResolvers.h.

223  {
224  realProduct_.prefetchAsync(waitTask, principal, skipCurrentProcess, token, sra, mcc);
225  }
ProducedProductResolver & realProduct_
void prefetchAsync(WaitingTask *waitTask, Principal const &principal, bool skipCurrentProcess, ServiceToken const &token, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
def principal(options)
ProductProvenance const * edm::AliasProductResolver::productProvenancePtr_ ( ) const
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 556 of file ProductResolvers.cc.

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

556  {
557  return provenance()->productProvenance();
558  }
Provenance const * provenance() const
ProductProvenance const * productProvenance() const
Definition: Provenance.cc:31
bool edm::AliasProductResolver::productResolved_ ( ) const
inlinefinalprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 228 of file ProductResolvers.h.

228  {
229  return realProduct_.productResolved(); }
ProducedProductResolver & realProduct_
bool edm::AliasProductResolver::productUnavailable_ ( ) const
inlineoverrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 227 of file ProductResolvers.h.

ProducedProductResolver & realProduct_
bool edm::AliasProductResolver::productWasDeleted_ ( ) const
inlineoverrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 230 of file ProductResolvers.h.

ProducedProductResolver & realProduct_
bool edm::AliasProductResolver::productWasFetchedAndIsValid_ ( bool  iSkipCurrentProcess) const
inlinefinalprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 231 of file ProductResolvers.h.

References parseEventContent::prod, edm::DataManagingProductResolver::putOrMergeProduct_(), and edm::ProductResolverBase::putProduct_().

231  {
232  return realProduct_.productWasFetchedAndIsValid(iSkipCurrentProcess);
233  }
ProducedProductResolver & realProduct_
bool productWasFetchedAndIsValid(bool iSkipCurrentProcess) const
Provenance const* edm::AliasProductResolver::provenance_ ( ) const
inlinefinalprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 239 of file ProductResolvers.h.

239 { return realProduct_.provenance(); }
ProducedProductResolver & realProduct_
Provenance const * provenance() const
void edm::AliasProductResolver::putOrMergeProduct_ ( std::unique_ptr< WrapperBase prod) const
finalprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 574 of file ProductResolvers.cc.

References Exception, and edm::errors::LogicError.

574  {
576  << "AliasProductResolver::putOrMergeProduct_(std::unique_ptr<WrapperBase> edp) not implemented and should never be called.\n"
577  << "Contact a Framework developer\n";
578  }
void edm::AliasProductResolver::putProduct_ ( std::unique_ptr< WrapperBase edp) const
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 568 of file ProductResolvers.cc.

References Exception, and edm::errors::LogicError.

568  {
570  << "AliasProductResolver::putProduct_() not implemented and should never be called.\n"
571  << "Contact a Framework developer\n";
572  }
void edm::AliasProductResolver::resetBranchDescription_ ( std::shared_ptr< BranchDescription const >  bd)
inlineoverrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 238 of file ProductResolvers.h.

238 {bd_ = bd;}
std::shared_ptr< BranchDescription const > bd_
void edm::AliasProductResolver::resetProductData_ ( bool  deleteEarly)
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 560 of file ProductResolvers.cc.

560  {
561  realProduct_.resetProductData_(deleteEarly);
562  }
ProducedProductResolver & realProduct_
void resetProductData_(bool deleteEarly) override
std::string const& edm::AliasProductResolver::resolvedModuleLabel_ ( ) const
inlineoverrideprivatevirtual
Resolution edm::AliasProductResolver::resolveProduct_ ( Principal const &  principal,
bool  skipCurrentProcess,
SharedResourcesAcquirer sra,
ModuleCallingContext const *  mcc 
) const
inlineoverrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 213 of file ProductResolvers.h.

216  {
217  return realProduct_.resolveProduct(principal, skipCurrentProcess, sra, mcc);}
ProducedProductResolver & realProduct_
Resolution resolveProduct(Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
def principal(options)
void edm::AliasProductResolver::setProcessHistory_ ( ProcessHistory const &  ph)
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 552 of file ProductResolvers.cc.

552  {
554  }
ProducedProductResolver & realProduct_
void setProcessHistory(ProcessHistory const &ph)
void edm::AliasProductResolver::setProvenance_ ( ProductProvenanceRetriever const *  provRetriever,
ProcessHistory const &  ph,
ProductID const &  pid 
)
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 548 of file ProductResolvers.cc.

548  {
549  realProduct_.setProvenance(provRetriever,ph,pid);
550  }
ProducedProductResolver & realProduct_
void setProvenance(ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid)
bool edm::AliasProductResolver::singleProduct_ ( ) const
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 564 of file ProductResolvers.cc.

564  {
565  return true;
566  }
bool edm::AliasProductResolver::unscheduledWasNotRun_ ( ) const
inlineoverrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 226 of file ProductResolvers.h.

ProducedProductResolver & realProduct_

Member Data Documentation

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

Definition at line 249 of file ProductResolvers.h.

ProducedProductResolver& edm::AliasProductResolver::realProduct_
private

Definition at line 248 of file ProductResolvers.h.