#include <ProductProvenance.h>
Definition at line 26 of file ProductProvenance.h.
edm::ProductProvenance::ProductProvenance | ( | ) |
Definition at line 16 of file ProductProvenance.cc.
: branchID_(), productStatus_(productstatus::uninitialized()), parentageID_(), transients_() {}
edm::ProductProvenance::ProductProvenance | ( | BranchID const & | bid | ) | [explicit] |
Definition at line 23 of file ProductProvenance.cc.
: branchID_(bid), productStatus_(productstatus::uninitialized()), parentageID_(), transients_() {}
edm::ProductProvenance::ProductProvenance | ( | BranchID const & | bid, |
ProductStatus | status | ||
) |
Definition at line 30 of file ProductProvenance.cc.
: branchID_(bid), productStatus_(status), parentageID_(), transients_() {}
edm::ProductProvenance::ProductProvenance | ( | BranchID const & | bid, |
ProductStatus | status, | ||
boost::shared_ptr< Parentage > | parentagePtr | ||
) |
Definition at line 47 of file ProductProvenance.cc.
References edm::detail::ThreadSafeRegistry< KEY, T, E >::instance(), and parentagePtr().
: branchID_(bid), productStatus_(status), parentageID_(pPtr->id()), transients_() { parentagePtr() = pPtr; ParentageRegistry::instance()->insertMapped(*pPtr); }
edm::ProductProvenance::ProductProvenance | ( | BranchID const & | bid, |
ProductStatus | status, | ||
ParentageID const & | id | ||
) |
Definition at line 38 of file ProductProvenance.cc.
: branchID_(bid), productStatus_(status), parentageID_(edid), transients_() {}
edm::ProductProvenance::ProductProvenance | ( | BranchID const & | bid, |
ProductStatus | status, | ||
std::vector< BranchID > const & | parents | ||
) |
Definition at line 58 of file ProductProvenance.cc.
References edm::detail::ThreadSafeRegistry< KEY, T, E >::instance(), parentageID_, parentagePtr(), and parents.
: branchID_(bid), productStatus_(status), parentageID_(), transients_() { parentagePtr() = boost::shared_ptr<Parentage>(new Parentage); parentagePtr()->parents() = parents; parentageID_ = parentagePtr()->id(); ParentageRegistry::instance()->insertMapped(*parentagePtr()); }
edm::ProductProvenance::~ProductProvenance | ( | ) | [inline] |
Definition at line 43 of file ProductProvenance.h.
{}
BranchID const& edm::ProductProvenance::branchID | ( | ) | const [inline] |
Definition at line 49 of file ProductProvenance.h.
References branchID_.
Referenced by edm::operator<(), edm::operator==(), and write().
{return branchID_;}
ProductProvenance edm::ProductProvenance::makeProductProvenance | ( | ) | const |
Definition at line 72 of file ProductProvenance.cc.
{ return *this; }
bool& edm::ProductProvenance::noParentage | ( | ) | const [inline] |
Definition at line 55 of file ProductProvenance.h.
References edm::Transient< T >::get(), and transients_.
Referenced by edm::operator==(), and write().
{return transients_.get().noParentage_;}
Parentage const & edm::ProductProvenance::parentage | ( | ) | const |
Definition at line 77 of file ProductProvenance.cc.
References edm::detail::ThreadSafeRegistry< KEY, T, E >::instance(), parentageID_, and parentagePtr().
Referenced by edm::RootOutputFile::insertAncestors().
{ if (!parentagePtr()) { parentagePtr().reset(new Parentage); ParentageRegistry::instance()->getMapped(parentageID_, *parentagePtr()); } return *parentagePtr(); }
ParentageID const& edm::ProductProvenance::parentageID | ( | ) | const [inline] |
Definition at line 51 of file ProductProvenance.h.
References parentageID_.
Referenced by edm::operator==(), and write().
{return parentageID_;}
boost::shared_ptr<Parentage>& edm::ProductProvenance::parentagePtr | ( | ) | const [inline, private] |
Definition at line 65 of file ProductProvenance.h.
References edm::Transient< T >::get(), and transients_.
Referenced by parentage(), and ProductProvenance().
{return transients_.get().parentagePtr_;}
ProductStatus const& edm::ProductProvenance::productStatus | ( | ) | const [inline] |
Definition at line 50 of file ProductProvenance.h.
References productStatus_.
Referenced by edm::operator==(), setStatus(), and write().
{return productStatus_;}
void edm::ProductProvenance::setStatus | ( | ProductStatus const & | status | ) |
Definition at line 86 of file ProductProvenance.cc.
References edm::productstatus::neverCreated(), edm::productstatus::notPresent(), edm::productstatus::presenceUnknown(), edm::productstatus::present(), productStatus(), productStatus_, and ntuplemaker::status.
{ if (productstatus::presenceUnknown(productStatus())) { productStatus_ = status; } else if (productstatus::present(productStatus())) { assert(productstatus::present(status)); } else { assert(productstatus::notPresent(productStatus())); assert(productstatus::notPresent(status)); if (!productstatus::neverCreated(status)) { productStatus_ = status; } } }
void edm::ProductProvenance::write | ( | std::ostream & | os | ) | const |
Definition at line 101 of file ProductProvenance.cc.
References branchID(), noParentage(), parentageID(), and productStatus().
Referenced by edm::operator<<().
{ os << "branch ID = " << branchID() << '\n'; os << "product status = " << static_cast<int>(productStatus()) << '\n'; if (!noParentage()) { os << "entry description ID = " << parentageID() << '\n'; } }
BranchID edm::ProductProvenance::branchID_ [private] |
Definition at line 67 of file ProductProvenance.h.
Referenced by branchID().
Definition at line 69 of file ProductProvenance.h.
Referenced by parentage(), parentageID(), and ProductProvenance().
Definition at line 68 of file ProductProvenance.h.
Referenced by productStatus(), and setStatus().
Transient<Transients> edm::ProductProvenance::transients_ [mutable, private] |
Definition at line 70 of file ProductProvenance.h.
Referenced by noParentage(), and parentagePtr().