CMS 3D CMS Logo

Public Member Functions | Private Attributes

edm::StreamedProduct Class Reference

#include <StreamedProducts.h>

List of all members.

Public Member Functions

BranchID branchID () const
void clear ()
BranchDescription const * desc () const
std::vector< BranchID > const * parents () const
EDProduct const * prod () const
ProductStatus status () const
 StreamedProduct (BranchDescription const &desc)
 StreamedProduct ()
 StreamedProduct (EDProduct const *prod, BranchDescription const &desc, ProductStatus status, std::vector< BranchID > const *parents)

Private Attributes

BranchDescription const * desc_
std::vector< BranchID > const * parents_
EDProduct const * prod_
ProductStatus status_

Detailed Description

Definition at line 32 of file StreamedProducts.h.


Constructor & Destructor Documentation

edm::StreamedProduct::StreamedProduct ( ) [inline]

Definition at line 34 of file StreamedProducts.h.

edm::StreamedProduct::StreamedProduct ( BranchDescription const &  desc) [inline, explicit]

Definition at line 35 of file StreamedProducts.h.

edm::StreamedProduct::StreamedProduct ( EDProduct const *  prod,
BranchDescription const &  desc,
ProductStatus  status,
std::vector< BranchID > const *  parents 
)

Definition at line 6 of file StreamedProducts.cc.

References edm::BranchDescription::branchName(), Exception, edm::BranchDescription::init(), edm::EDProduct::isPresent(), edm::errors::LogicError, edm::productstatus::present(), and status_.

                                                        :
      prod_(prod), desc_(&desc), status_(status), parents_(parents) {
      if (productstatus::present(status_) && (prod == 0 || !prod->isPresent())) {
        desc.init();
        throw edm::Exception(edm::errors::LogicError, "StreamedProduct::StreamedProduct\n")
           << "A product with a status of 'present' is not actually present.\n"
           << "The branch name is " << desc.branchName() << "\n"
           << "Contact a framework developer.\n";
      }
    }

Member Function Documentation

BranchID edm::StreamedProduct::branchID ( ) const [inline]

Definition at line 45 of file StreamedProducts.h.

References edm::BranchDescription::branchID(), and desc_.

{return desc_->branchID();}
void edm::StreamedProduct::clear ( void  ) [inline]

Definition at line 49 of file StreamedProducts.h.

References desc_, edm::productstatus::neverCreated(), parents_, prod_, and status_.

                {
     prod_= 0;
     delete desc_;
     desc_= 0;
     status_ = productstatus::neverCreated();
     delete parents_;
     parents_ = 0;
  }
BranchDescription const* edm::StreamedProduct::desc ( ) const [inline]

Definition at line 44 of file StreamedProducts.h.

References desc_.

{return desc_;}
std::vector<BranchID> const* edm::StreamedProduct::parents ( ) const [inline]

Definition at line 47 of file StreamedProducts.h.

References parents_.

{return parents_;}
EDProduct const* edm::StreamedProduct::prod ( ) const [inline]

Definition at line 43 of file StreamedProducts.h.

References prod_.

{return prod_;}
ProductStatus edm::StreamedProduct::status ( ) const [inline]

Definition at line 46 of file StreamedProducts.h.

References status_.

{return status_;}

Member Data Documentation

Definition at line 60 of file StreamedProducts.h.

Referenced by branchID(), clear(), and desc().

std::vector<BranchID> const* edm::StreamedProduct::parents_ [private]

Definition at line 62 of file StreamedProducts.h.

Referenced by clear(), and parents().

Definition at line 59 of file StreamedProducts.h.

Referenced by clear(), and prod().

Definition at line 61 of file StreamedProducts.h.

Referenced by clear(), status(), and StreamedProduct().