CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions
edm::PutOnReadInputProductResolver Class Reference

#include <ProductResolvers.h>

Inheritance diagram for edm::PutOnReadInputProductResolver:
edm::MergeableInputProductResolver edm::ProductPutterBase edm::ProductPutOrMergerBase edm::DataManagingProductResolver edm::DataManagingOrAliasProductResolver edm::ProductResolverBase

Public Member Functions

 PutOnReadInputProductResolver (std::shared_ptr< BranchDescription const > bd)
 
- Public Member Functions inherited from edm::MergeableInputProductResolver
 MergeableInputProductResolver (std::shared_ptr< BranchDescription const > bd, ProductStatus iDefaultStatus)
 
- Public Member Functions inherited from edm::DataManagingProductResolver
void connectTo (ProductResolverBase const &, Principal const *) final
 
 DataManagingProductResolver (std::shared_ptr< BranchDescription const > bd, ProductStatus iDefaultStatus)
 
void resetProductData_ (bool deleteEarly) override
 
void resetStatus ()
 
- 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 ()
 
- Public Member Functions inherited from edm::ProductPutterBase
 ProductPutterBase ()=default
 
virtual ~ProductPutterBase ()=default
 
- Public Member Functions inherited from edm::ProductPutOrMergerBase
 ProductPutOrMergerBase ()=default
 
virtual ~ProductPutOrMergerBase ()=default
 

Protected Member Functions

void prefetchAsync_ (WaitingTaskHolder waitTask, Principal const &principal, bool skipCurrentProcess, ServiceToken const &token, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const final
 
void putOrMergeProduct (std::unique_ptr< WrapperBase > prod) const override
 
void putProduct (std::unique_ptr< WrapperBase > edp) const override
 
Resolution resolveProduct_ (Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const final
 
bool unscheduledWasNotRun_ () const final
 
- Protected Member Functions inherited from edm::MergeableInputProductResolver
void mergeProduct (std::shared_ptr< WrapperBase > edp, MergeableRunProductMetadata const *) const
 
void setOrMergeProduct (std::shared_ptr< WrapperBase > prod, MergeableRunProductMetadata const *mergeableRunProductMetadata) const
 
- Protected Member Functions inherited from edm::DataManagingProductResolver
void checkType (WrapperBase const &prod) const
 
ProductStatus defaultStatus () const
 
ProductData const & getProductData () const final
 
template<bool callResolver, typename FUNC >
ProductResolverBase::Resolution resolveProductImpl (FUNC resolver) const
 
template<bool callResolver, typename FUNC >
Resolution resolveProductImpl (FUNC resolver) const
 
void setFailedStatus () const
 
void setMergeableRunProductMetadataInProductData (MergeableRunProductMetadata const *)
 
void setProduct (std::shared_ptr< WrapperBase > edp) const
 
void setProduct (std::unique_ptr< WrapperBase > edp) const
 
ProductStatus status () const
 

Private Member Functions

bool isFromCurrentProcess () const final
 

Additional Inherited Members

- Public Types inherited from edm::DataManagingProductResolver
enum  ProductStatus {
  ProductStatus::ProductSet, ProductStatus::NotPut, ProductStatus::ResolveFailed, ProductStatus::ResolveNotRun,
  ProductStatus::ProductDeleted
}
 

Detailed Description

Definition at line 157 of file ProductResolvers.h.

Constructor & Destructor Documentation

◆ PutOnReadInputProductResolver()

edm::PutOnReadInputProductResolver::PutOnReadInputProductResolver ( std::shared_ptr< BranchDescription const >  bd)
inline

Definition at line 161 of file ProductResolvers.h.

163  assert(not bd->produced());
164  assert(not bd->onDemand());
165  }

References cms::cuda::assert().

Member Function Documentation

◆ isFromCurrentProcess()

bool edm::PutOnReadInputProductResolver::isFromCurrentProcess ( ) const
finalprivatevirtual

Implements edm::DataManagingProductResolver.

Definition at line 335 of file ProductResolvers.cc.

335 { return false; }

◆ prefetchAsync_()

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

Implements edm::ProductResolverBase.

Definition at line 344 of file ProductResolvers.cc.

349  {}

◆ putOrMergeProduct()

void edm::PutOnReadInputProductResolver::putOrMergeProduct ( std::unique_ptr< WrapperBase prod) const
overrideprotectedvirtual

Implements edm::ProductPutOrMergerBase.

Definition at line 351 of file ProductResolvers.cc.

351  {
352  setOrMergeProduct(std::move(edp), nullptr);
353  }

References eostools::move(), and edm::MergeableInputProductResolver::setOrMergeProduct().

◆ putProduct()

void edm::PutOnReadInputProductResolver::putProduct ( std::unique_ptr< WrapperBase edp) const
overrideprotectedvirtual

Implements edm::ProductPutterBase.

Definition at line 326 of file ProductResolvers.cc.

326  {
327  if (status() != defaultStatus()) {
329  << "Attempt to insert more than one product on branch " << branchDescription().branchName() << "\n";
330  }
331 
332  setProduct(std::move(edp)); // ProductResolver takes ownership
333  }

References edm::ProductResolverBase::branchDescription(), edm::BranchDescription::branchName(), edm::DataManagingProductResolver::defaultStatus(), Exception, edm::errors::InsertFailure, eostools::move(), edm::DataManagingProductResolver::setProduct(), and edm::DataManagingProductResolver::status().

◆ resolveProduct_()

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

Implements edm::ProductResolverBase.

Definition at line 337 of file ProductResolvers.cc.

340  {
341  return resolveProductImpl<false>([]() { return; });
342  }

◆ unscheduledWasNotRun_()

bool edm::PutOnReadInputProductResolver::unscheduledWasNotRun_ ( ) const
inlinefinalprotectedvirtual

Implements edm::ProductResolverBase.

Definition at line 181 of file ProductResolvers.h.

181 { return false; }
edm::MergeableInputProductResolver::setOrMergeProduct
void setOrMergeProduct(std::shared_ptr< WrapperBase > prod, MergeableRunProductMetadata const *mergeableRunProductMetadata) const
Definition: ProductResolvers.cc:239
deep_tau::DeepTauBase::BasicDiscriminator
BasicDiscriminator
Definition: DeepTauBase.h:115
edm::MergeableInputProductResolver::MergeableInputProductResolver
MergeableInputProductResolver(std::shared_ptr< BranchDescription const > bd, ProductStatus iDefaultStatus)
Definition: ProductResolvers.h:108
cms::cuda::assert
assert(be >=bs)
edm::DataManagingProductResolver::defaultStatus
ProductStatus defaultStatus() const
Definition: ProductResolvers.h:70
edm::DataManagingProductResolver::setProduct
void setProduct(std::unique_ptr< WrapperBase > edp) const
Definition: ProductResolvers.cc:534
edm::errors::InsertFailure
Definition: EDMException.h:35
edm::DataManagingProductResolver::ProductStatus::ResolveNotRun
edm::BranchDescription::branchName
std::string const & branchName() const
Definition: BranchDescription.h:120
edm::DataManagingProductResolver::status
ProductStatus status() const
Definition: ProductResolvers.h:69
eostools.move
def move(src, dest)
Definition: eostools.py:511
edm::ProductResolverBase::branchDescription
BranchDescription const & branchDescription() const
Definition: ProductResolverBase.h:110
Exception
Definition: hltDiff.cc:245