CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
edm::AliasProductHolder Class Reference

#include <ProductHolder.h>

Inheritance diagram for edm::AliasProductHolder:
edm::ProductHolderBase

Public Types

typedef
ProducedProductHolder::ProductStatus 
ProductStatus
 
- Public Types inherited from edm::ProductHolderBase
enum  ResolveStatus { ProductFound, ProductNotFound, Ambiguous }
 

Public Member Functions

 AliasProductHolder (boost::shared_ptr< BranchDescription const > bd, ProducedProductHolder &realProduct)
 
virtual ~AliasProductHolder ()
 
- Public Member Functions inherited from edm::ProductHolderBase
BranchDescription const & branchDescription () const
 
void checkType (WrapperOwningHolder const &prod) const
 
void deleteProduct ()
 
void mergeProduct (WrapperOwningHolder const &edp, ProductProvenance &productProvenance)
 
void mergeProduct (WrapperOwningHolder const &edp) const
 
void mergeTheProduct (WrapperOwningHolder const &edp) const
 
std::string const & moduleLabel () const
 
bool onDemand () const
 
ProductHolderBaseoperator= (ProductHolderBase const &)=delete
 
std::string const & processName () const
 
boost::shared_ptr< void const > product () const
 
ProductData const & productData () const
 
ProductDataproductData ()
 
 ProductHolderBase ()
 
 ProductHolderBase (ProductHolderBase const &)=delete
 
ProductID const & productID () const
 
std::string const & productInstanceName () const
 
ProductProvenanceproductProvenancePtr () const
 
TypeID productType () const
 
bool productUnavailable () const
 
bool productWasDeleted () const
 
Provenanceprovenance () const
 
bool provenanceAvailable () const
 
bool putOrMergeProduct () const
 
void putProduct (WrapperOwningHolder const &edp, ProductProvenance const &productProvenance)
 
void putProduct (WrapperOwningHolder const &edp) const
 
void reallyCheckType (WrapperOwningHolder const &prod) const
 
void resetBranchDescription (boost::shared_ptr< BranchDescription const > bd)
 
void resetProductData ()
 
void resetStatus ()
 
std::string const & resolvedModuleLabel () const
 
ProductData const * resolveProduct (ResolveStatus &resolveStatus, bool skipCurrentProcess, ModuleCallingContext const *mcc) const
 
void setPrincipal (Principal *principal)
 
void setProcessHistory (ProcessHistory const &ph)
 
void setProductDeleted ()
 
void setProductProvenance (ProductProvenance const &prov) const
 
void setProvenance (boost::shared_ptr< ProductProvenanceRetriever > provRetriever, ProcessHistory const &ph, ProductID const &pid)
 
bool singleProduct () const
 
void swap (ProductHolderBase &rhs)
 
void throwProductDeletedException () const
 
WrapperHolder wrapper () const
 
void write (std::ostream &os) const
 
virtual ~ProductHolderBase ()
 

Private Member Functions

virtual BranchDescription const & branchDescription_ () const
 
virtual void checkType_ (WrapperOwningHolder const &prod) const
 
virtual ProductData const & getProductData () const
 
virtual ProductDatagetProductData ()
 
virtual void mergeProduct_ (WrapperOwningHolder const &edp, ProductProvenance &productProvenance)
 
virtual void mergeProduct_ (WrapperOwningHolder const &edp) const
 
virtual bool onDemand_ () const
 
virtual ProductProvenanceproductProvenancePtr_ () const
 
virtual bool productUnavailable_ () const
 
virtual bool productWasDeleted_ () const
 
virtual bool putOrMergeProduct_ () const
 
virtual void putProduct_ (WrapperOwningHolder const &edp, ProductProvenance const &productProvenance)
 
virtual void putProduct_ (WrapperOwningHolder const &edp) const
 
virtual void resetBranchDescription_ (boost::shared_ptr< BranchDescription const > bd)
 
virtual void resetProductData_ ()
 
virtual void resetStatus_ ()
 
virtual std::string const & resolvedModuleLabel_ () const
 
virtual ProductData const * resolveProduct_ (ResolveStatus &resolveStatus, bool skipCurrentProcess, ModuleCallingContext const *mcc) const
 
virtual void setPrincipal_ (Principal *principal)
 
virtual void setProcessHistory_ (ProcessHistory const &ph)
 
virtual void setProductDeleted_ ()
 
virtual void setProvenance_ (boost::shared_ptr< ProductProvenanceRetriever > provRetriever, ProcessHistory const &ph, ProductID const &pid)
 
virtual bool singleProduct_ () const
 
virtual ProductStatusstatus_ () const
 
virtual void swap_ (ProductHolderBase &rhs)
 

Private Attributes

boost::shared_ptr
< BranchDescription const > 
bd_
 
ProducedProductHolderrealProduct_
 

Detailed Description

Definition at line 386 of file ProductHolder.h.

Member Typedef Documentation

Definition at line 388 of file ProductHolder.h.

Constructor & Destructor Documentation

edm::AliasProductHolder::AliasProductHolder ( boost::shared_ptr< BranchDescription const >  bd,
ProducedProductHolder realProduct 
)
inlineexplicit

Definition at line 389 of file ProductHolder.h.

389 : ProductHolderBase(), realProduct_(realProduct), bd_(bd) {}
boost::shared_ptr< BranchDescription const > bd_
ProducedProductHolder & realProduct_
edm::AliasProductHolder::~AliasProductHolder ( )
virtual

Definition at line 35 of file ProductHolder.cc.

35 {}

Member Function Documentation

virtual BranchDescription const& edm::AliasProductHolder::branchDescription_ ( ) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 423 of file ProductHolder.h.

References bd_.

423 {return *bd_;}
boost::shared_ptr< BranchDescription const > bd_
virtual void edm::AliasProductHolder::checkType_ ( WrapperOwningHolder const &  prod) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 404 of file ProductHolder.h.

References edm::ProductHolderBase::checkType(), and realProduct_.

void checkType(WrapperOwningHolder const &prod) const
ProducedProductHolder & realProduct_
virtual ProductData const& edm::AliasProductHolder::getProductData ( ) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 405 of file ProductHolder.h.

References edm::ProductHolderBase::productData(), and realProduct_.

405 {return realProduct_.productData();}
ProductData const & productData() const
Definition: ProductHolder.h:42
ProducedProductHolder & realProduct_
virtual ProductData& edm::AliasProductHolder::getProductData ( )
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 406 of file ProductHolder.h.

References edm::ProductHolderBase::productData(), and realProduct_.

406 {return realProduct_.productData();}
ProductData const & productData() const
Definition: ProductHolder.h:42
ProducedProductHolder & realProduct_
virtual void edm::AliasProductHolder::mergeProduct_ ( WrapperOwningHolder const &  edp,
ProductProvenance productProvenance 
)
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 414 of file ProductHolder.h.

References edm::ProductHolderBase::mergeProduct(), and realProduct_.

414  {
415  realProduct_.mergeProduct(edp, productProvenance);
416  }
void mergeProduct(WrapperOwningHolder const &edp, ProductProvenance &productProvenance)
ProducedProductHolder & realProduct_
virtual void edm::AliasProductHolder::mergeProduct_ ( WrapperOwningHolder const &  edp) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 417 of file ProductHolder.h.

References edm::ProductHolderBase::mergeProduct(), and realProduct_.

417  {
419  }
void mergeProduct(WrapperOwningHolder const &edp, ProductProvenance &productProvenance)
ProducedProductHolder & realProduct_
virtual bool edm::AliasProductHolder::onDemand_ ( ) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 399 of file ProductHolder.h.

References edm::ProductHolderBase::onDemand(), and realProduct_.

399 {return realProduct_.onDemand();}
bool onDemand() const
Definition: ProductHolder.h:77
ProducedProductHolder & realProduct_
ProductProvenance * edm::AliasProductHolder::productProvenancePtr_ ( ) const
privatevirtual

Implements edm::ProductHolderBase.

Definition at line 441 of file ProductHolder.cc.

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

441  {
442  return provenance()->productProvenance();
443  }
ProductProvenance * productProvenance() const
Definition: Provenance.h:49
Provenance * provenance() const
virtual bool edm::AliasProductHolder::productUnavailable_ ( ) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 402 of file ProductHolder.h.

References edm::ProductHolderBase::productUnavailable(), and realProduct_.

ProducedProductHolder & realProduct_
bool productUnavailable() const
Definition: ProductHolder.h:71
virtual bool edm::AliasProductHolder::productWasDeleted_ ( ) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 403 of file ProductHolder.h.

References edm::ProductHolderBase::productWasDeleted(), and realProduct_.

bool productWasDeleted() const
Definition: ProductHolder.h:80
ProducedProductHolder & realProduct_
virtual bool edm::AliasProductHolder::putOrMergeProduct_ ( ) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 420 of file ProductHolder.h.

References edm::ProductHolderBase::putOrMergeProduct(), and realProduct_.

420  {
422  }
bool putOrMergeProduct() const
ProducedProductHolder & realProduct_
virtual void edm::AliasProductHolder::putProduct_ ( WrapperOwningHolder const &  edp,
ProductProvenance const &  productProvenance 
)
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 408 of file ProductHolder.h.

References edm::ProductHolderBase::putProduct(), and realProduct_.

408  {
409  realProduct_.putProduct(edp, productProvenance);
410  }
void putProduct(WrapperOwningHolder const &edp, ProductProvenance const &productProvenance)
ProducedProductHolder & realProduct_
virtual void edm::AliasProductHolder::putProduct_ ( WrapperOwningHolder const &  edp) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 411 of file ProductHolder.h.

References edm::ProductHolderBase::putProduct(), and realProduct_.

411  {
413  }
void putProduct(WrapperOwningHolder const &edp, ProductProvenance const &productProvenance)
ProducedProductHolder & realProduct_
virtual void edm::AliasProductHolder::resetBranchDescription_ ( boost::shared_ptr< BranchDescription const >  bd)
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 424 of file ProductHolder.h.

References bd_.

424 {bd_ = bd;}
boost::shared_ptr< BranchDescription const > bd_
void edm::AliasProductHolder::resetProductData_ ( )
privatevirtual
virtual void edm::AliasProductHolder::resetStatus_ ( )
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 401 of file ProductHolder.h.

References realProduct_, and edm::ProductHolderBase::resetStatus().

ProducedProductHolder & realProduct_
virtual std::string const& edm::AliasProductHolder::resolvedModuleLabel_ ( ) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 425 of file ProductHolder.h.

References edm::ProductHolderBase::moduleLabel(), and realProduct_.

425 {return realProduct_.moduleLabel();}
std::string const & moduleLabel() const
ProducedProductHolder & realProduct_
virtual ProductData const* edm::AliasProductHolder::resolveProduct_ ( ResolveStatus resolveStatus,
bool  skipCurrentProcess,
ModuleCallingContext const *  mcc 
) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 397 of file ProductHolder.h.

References realProduct_, and edm::ProductHolderBase::resolveProduct().

398  {return realProduct_.resolveProduct(resolveStatus, skipCurrentProcess, mcc);}
ProductData const * resolveProduct(ResolveStatus &resolveStatus, bool skipCurrentProcess, ModuleCallingContext const *mcc) const
Definition: ProductHolder.h:50
ProducedProductHolder & realProduct_
void edm::AliasProductHolder::setPrincipal_ ( Principal principal)
privatevirtual

Implements edm::ProductHolderBase.

Definition at line 454 of file ProductHolder.cc.

454  {
455  }
void edm::AliasProductHolder::setProcessHistory_ ( ProcessHistory const &  ph)
privatevirtual

Implements edm::ProductHolderBase.

Definition at line 437 of file ProductHolder.cc.

References edm::ProductHolderBase::productData(), edm::ProductData::prov_, and edm::Provenance::setProcessHistory().

437  {
439  }
Provenance prov_
Definition: ProductData.h:51
ProductData const & productData() const
Definition: ProductHolder.h:42
void setProcessHistory(ProcessHistory const &ph)
Definition: Provenance.h:76
virtual void edm::AliasProductHolder::setProductDeleted_ ( )
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 407 of file ProductHolder.h.

References realProduct_, and edm::ProductHolderBase::setProductDeleted().

ProducedProductHolder & realProduct_
void edm::AliasProductHolder::setProvenance_ ( boost::shared_ptr< ProductProvenanceRetriever provRetriever,
ProcessHistory const &  ph,
ProductID const &  pid 
)
privatevirtual

Implements edm::ProductHolderBase.

Definition at line 431 of file ProductHolder.cc.

References edm::ProductHolderBase::productData(), edm::ProductData::prov_, edm::Provenance::setProcessHistory(), edm::Provenance::setProductID(), and edm::Provenance::setStore().

431  {
433  productData().prov_.setStore(provRetriever);
435  }
void setStore(boost::shared_ptr< ProductProvenanceRetriever > store) const
Definition: Provenance.h:74
Provenance prov_
Definition: ProductData.h:51
ProductData const & productData() const
Definition: ProductHolder.h:42
tuple pid
Definition: sysUtil.py:22
void setProductID(ProductID const &pid)
Definition: Provenance.h:82
void setProcessHistory(ProcessHistory const &ph)
Definition: Provenance.h:76
bool edm::AliasProductHolder::singleProduct_ ( ) const
privatevirtual

Implements edm::ProductHolderBase.

Definition at line 450 of file ProductHolder.cc.

450  {
451  return true;
452  }
virtual ProductStatus& edm::AliasProductHolder::status_ ( ) const
inlineprivatevirtual

Definition at line 400 of file ProductHolder.h.

References realProduct_, and edm::ProducedProductHolder::status().

400 {return realProduct_.status();}
ProductStatus & status() const
ProducedProductHolder & realProduct_
virtual void edm::AliasProductHolder::swap_ ( ProductHolderBase rhs)
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 392 of file ProductHolder.h.

References bd_, realProduct_, edm::ProductHolderBase::swap(), and std::swap().

392  {
393  AliasProductHolder& other = dynamic_cast<AliasProductHolder&>(rhs);
394  realProduct_.swap(other.realProduct_);
395  std::swap(bd_, other.bd_);
396  }
AliasProductHolder(boost::shared_ptr< BranchDescription const > bd, ProducedProductHolder &realProduct)
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
void swap(ProductHolderBase &rhs)
boost::shared_ptr< BranchDescription const > bd_
ProducedProductHolder & realProduct_

Member Data Documentation

boost::shared_ptr<BranchDescription const> edm::AliasProductHolder::bd_
private

Definition at line 434 of file ProductHolder.h.

Referenced by branchDescription_(), resetBranchDescription_(), and swap_().

ProducedProductHolder& edm::AliasProductHolder::realProduct_
private