CMS 3D CMS Logo

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

#include <ProductData.h>

Public Member Functions

std::shared_ptr< BranchDescription const > const & branchDescription () const
 
 ProductData ()
 
 ProductData (std::shared_ptr< BranchDescription const > bd)
 
 ProductData (WrapperBase *product, Provenance const &prov)
 
Provenance const & provenance () const
 
void resetBranchDescription (std::shared_ptr< BranchDescription const > bd)
 
void resetProductData ()
 
void setMergeableRunProductMetadata (MergeableRunProductMetadataBase const *mrpm)
 
void setProductID (ProductID const &pid)
 
void setProvenance (ProductProvenanceLookup const *provRetriever)
 
void setWrapper (std::unique_ptr< WrapperBase > iValue)
 
std::shared_ptr< WrapperBase const > sharedConstWrapper () const
 
void swap (ProductData &other)
 
void unsafe_resetProductData () const
 
void unsafe_setWrapper (std::unique_ptr< WrapperBase > iValue) const
 
void unsafe_setWrapper (std::shared_ptr< WrapperBase const > iValue) const
 
WrapperBaseunsafe_wrapper () const
 
WrapperBase const * wrapper () const
 

Private Attributes

Provenance prov_
 
std::shared_ptr< WrapperBase const > wrapper_
 

Detailed Description

Definition at line 20 of file ProductData.h.

Constructor & Destructor Documentation

◆ ProductData() [1/3]

edm::ProductData::ProductData ( )

Definition at line 12 of file ProductData.cc.

12 : wrapper_(), prov_() {}
std::shared_ptr< WrapperBase const > wrapper_
Definition: ProductData.h:71
Provenance prov_
Definition: ProductData.h:72

◆ ProductData() [2/3]

edm::ProductData::ProductData ( std::shared_ptr< BranchDescription const >  bd)
explicit

Definition at line 14 of file ProductData.cc.

14 : wrapper_(), prov_(bd, ProductID()) {}
std::shared_ptr< WrapperBase const > wrapper_
Definition: ProductData.h:71
Provenance prov_
Definition: ProductData.h:72

◆ ProductData() [3/3]

edm::ProductData::ProductData ( WrapperBase product,
Provenance const &  prov 
)

Definition at line 17 of file ProductData.cc.

18  : wrapper_(product, do_nothing_deleter()), prov_(prov) {}
std::shared_ptr< WrapperBase const > wrapper_
Definition: ProductData.h:71
Provenance prov_
Definition: ProductData.h:72

Member Function Documentation

◆ branchDescription()

std::shared_ptr<BranchDescription const> const& edm::ProductData::branchDescription ( ) const
inline

Definition at line 29 of file ProductData.h.

References edm::Provenance::constBranchDescriptionPtr(), and prov_.

Referenced by edm::DataManagingProductResolver::branchDescription_(), and edm::SwitchBaseProductResolver::branchDescription_().

29  {
31  }
Provenance prov_
Definition: ProductData.h:72
std::shared_ptr< BranchDescription const > const & constBranchDescriptionPtr() const
Definition: Provenance.h:46

◆ provenance()

Provenance const& edm::ProductData::provenance ( ) const
inline

◆ resetBranchDescription()

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

Definition at line 20 of file ProductData.cc.

References prov_, and edm::Provenance::setBranchDescription().

Referenced by edm::DataManagingProductResolver::resetBranchDescription_(), and edm::SwitchBaseProductResolver::resetBranchDescription_().

20  {
22  }
void setBranchDescription(std::shared_ptr< BranchDescription const > const &p)
Definition: Provenance.h:87
Provenance prov_
Definition: ProductData.h:72

◆ resetProductData()

void edm::ProductData::resetProductData ( )
inline

Definition at line 52 of file ProductData.h.

References wrapper_.

Referenced by edm::DataManagingProductResolver::resetProductData_(), and edm::SwitchBaseProductResolver::resetProductData_().

52 { wrapper_.reset(); }
std::shared_ptr< WrapperBase const > wrapper_
Definition: ProductData.h:71

◆ setMergeableRunProductMetadata()

void edm::ProductData::setMergeableRunProductMetadata ( MergeableRunProductMetadataBase const *  mrpm)
inline

Definition at line 60 of file ProductData.h.

References prov_, and edm::Provenance::setMergeableRunProductMetadata().

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

60  {
62  }
Provenance prov_
Definition: ProductData.h:72
void setMergeableRunProductMetadata(MergeableRunProductMetadataBase const *mrpm)
Definition: Provenance.h:83

◆ setProductID()

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

Definition at line 58 of file ProductData.h.

References prov_, and edm::Provenance::setProductID().

Referenced by edm::DataManagingProductResolver::setProductID_(), and edm::SwitchBaseProductResolver::setProductID_().

58 { prov_.setProductID(pid); }
Provenance prov_
Definition: ProductData.h:72
void setProductID(ProductID const &pid)
Definition: Provenance.h:81

◆ setProvenance()

void edm::ProductData::setProvenance ( ProductProvenanceLookup const *  provRetriever)
inline

Definition at line 56 of file ProductData.h.

References prov_, and edm::Provenance::setStore().

Referenced by edm::DataManagingProductResolver::setProductProvenanceRetriever_(), and edm::SwitchBaseProductResolver::setProductProvenanceRetriever_().

56 { prov_.setStore(provRetriever); }
Provenance prov_
Definition: ProductData.h:72
void setStore(ProductProvenanceLookup const *store)
Definition: Provenance.h:77

◆ setWrapper()

void edm::ProductData::setWrapper ( std::unique_ptr< WrapperBase iValue)

Definition at line 24 of file ProductData.cc.

References eostools::move(), and wrapper_.

24 { wrapper_ = std::move(iValue); }
std::shared_ptr< WrapperBase const > wrapper_
Definition: ProductData.h:71
def move(src, dest)
Definition: eostools.py:511

◆ sharedConstWrapper()

std::shared_ptr<WrapperBase const> edm::ProductData::sharedConstWrapper ( ) const
inline

Definition at line 37 of file ProductData.h.

References wrapper_.

37 { return wrapper_; }
std::shared_ptr< WrapperBase const > wrapper_
Definition: ProductData.h:71

◆ swap()

void edm::ProductData::swap ( ProductData other)
inline

Definition at line 39 of file ProductData.h.

References trackingPlots::other, prov_, edm::swap(), edm::Provenance::swap(), and wrapper_.

39  {
40  std::swap(wrapper_, other.wrapper_);
41  prov_.swap(other.prov_);
42  }
std::shared_ptr< WrapperBase const > wrapper_
Definition: ProductData.h:71
Provenance prov_
Definition: ProductData.h:72
void swap(ProductData &a, ProductData &b)
Definition: ProductData.h:76
void swap(Provenance &)
Definition: Provenance.cc:53

◆ unsafe_resetProductData()

void edm::ProductData::unsafe_resetProductData ( ) const
inline

Definition at line 54 of file ProductData.h.

References wrapper_.

54 { wrapper_.reset(); }
std::shared_ptr< WrapperBase const > wrapper_
Definition: ProductData.h:71

◆ unsafe_setWrapper() [1/2]

void edm::ProductData::unsafe_setWrapper ( std::unique_ptr< WrapperBase iValue) const

Definition at line 27 of file ProductData.cc.

References eostools::move(), and wrapper_.

Referenced by edm::DataManagingProductResolver::setProduct(), and edm::SwitchBaseProductResolver::unsafe_setWrapperAndProvenance().

27 { wrapper_ = std::move(iValue); }
std::shared_ptr< WrapperBase const > wrapper_
Definition: ProductData.h:71
def move(src, dest)
Definition: eostools.py:511

◆ unsafe_setWrapper() [2/2]

void edm::ProductData::unsafe_setWrapper ( std::shared_ptr< WrapperBase const >  iValue) const

Definition at line 29 of file ProductData.cc.

References eostools::move(), and wrapper_.

29 { wrapper_ = std::move(iValue); }
std::shared_ptr< WrapperBase const > wrapper_
Definition: ProductData.h:71
def move(src, dest)
Definition: eostools.py:511

◆ unsafe_wrapper()

WrapperBase* edm::ProductData::unsafe_wrapper ( ) const
inline

Definition at line 36 of file ProductData.h.

References wrapper_.

Referenced by edm::MergeableInputProductResolver::mergeProduct().

36 { return const_cast<WrapperBase*>(wrapper_.get()); }
std::shared_ptr< WrapperBase const > wrapper_
Definition: ProductData.h:71

◆ wrapper()

WrapperBase const* edm::ProductData::wrapper ( ) const
inline

Definition at line 35 of file ProductData.h.

References wrapper_.

Referenced by edm::EventPrincipal::getThinnedAssociation(), and edm::DataManagingProductResolver::productUnavailable_().

35 { return wrapper_.get(); }
std::shared_ptr< WrapperBase const > wrapper_
Definition: ProductData.h:71

Member Data Documentation

◆ prov_

Provenance edm::ProductData::prov_
private

◆ wrapper_

std::shared_ptr<WrapperBase const> edm::ProductData::wrapper_
mutableprivate