CMS 3D CMS Logo

Classes | Public Member Functions | Private Member Functions | Private Attributes

edm::ProductProvenance Class Reference

#include <ProductProvenance.h>

List of all members.

Classes

struct  Transients

Public Member Functions

BranchID const & branchID () const
ProductProvenance makeProductProvenance () const
bool & noParentage () const
Parentage const & parentage () const
ParentageID const & parentageID () const
 ProductProvenance (BranchID const &bid)
 ProductProvenance (BranchID const &bid, ProductStatus status, ParentageID const &id)
 ProductProvenance (BranchID const &bid, ProductStatus status, boost::shared_ptr< Parentage > parentagePtr)
 ProductProvenance ()
 ProductProvenance (BranchID const &bid, ProductStatus status, std::vector< BranchID > const &parents)
 ProductProvenance (BranchID const &bid, ProductStatus status)
ProductStatus const & productStatus () const
void setStatus (ProductStatus const &status)
void write (std::ostream &os) const
 ~ProductProvenance ()

Private Member Functions

boost::shared_ptr< Parentage > & parentagePtr () const

Private Attributes

BranchID branchID_
ParentageID parentageID_
ProductStatus productStatus_
Transient< Transientstransients_

Detailed Description

Definition at line 26 of file ProductProvenance.h.


Constructor & Destructor Documentation

edm::ProductProvenance::ProductProvenance ( )
edm::ProductProvenance::ProductProvenance ( BranchID const &  bid) [explicit]
edm::ProductProvenance::ProductProvenance ( BranchID const &  bid,
ProductStatus  status 
)

Definition at line 30 of file ProductProvenance.cc.

edm::ProductProvenance::ProductProvenance ( BranchID const &  bid,
ProductStatus  status,
boost::shared_ptr< Parentage parentagePtr 
)
edm::ProductProvenance::ProductProvenance ( BranchID const &  bid,
ProductStatus  status,
ParentageID const &  id 
)

Definition at line 38 of file ProductProvenance.cc.

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.

{}

Member Function Documentation

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
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)
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';
    }
  }

Member Data Documentation

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().

Definition at line 70 of file ProductProvenance.h.

Referenced by noParentage(), and parentagePtr().