#include <StreamedProducts.h>
Public Member Functions | |
void | allocateForReading () |
BranchID | branchID () const |
TClassRef const & | classRef () const |
void | clear () |
void | clearClassType () |
BranchDescription const * | desc () const |
std::vector< BranchID > const * | parents () const |
bool | present () const |
void * | prod () |
void | setNewClassType () |
StreamedProduct (BranchDescription const &desc) | |
StreamedProduct (void const *prod, BranchDescription const &desc, bool present, std::vector< BranchID > const *parents) | |
StreamedProduct () | |
Private Attributes | |
TClassRef | classRef_ |
BranchDescription const * | desc_ |
std::vector< BranchID > const * | parents_ |
bool | present_ |
void * | prod_ |
Definition at line 32 of file StreamedProducts.h.
edm::StreamedProduct::StreamedProduct | ( | ) | [inline] |
edm::StreamedProduct::StreamedProduct | ( | BranchDescription const & | desc | ) | [inline, explicit] |
edm::StreamedProduct::StreamedProduct | ( | void const * | prod, |
BranchDescription const & | desc, | ||
bool | present, | ||
std::vector< BranchID > const * | parents | ||
) |
Definition at line 6 of file StreamedProducts.cc.
References edm::BranchDescription::branchName(), Exception, edm::BranchDescription::init(), edm::errors::LogicError, and present_.
: desc_(&desc), present_(present), parents_(parents), prod_(const_cast<void*>(prod)), classRef_() { if(present_ && prod == 0) { 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"; } }
void edm::StreamedProduct::allocateForReading | ( | ) |
Definition at line 21 of file StreamedProducts.cc.
References classRef_, prod_, and setNewClassType().
Referenced by edm::StreamedProductStreamer::operator()().
{ setNewClassType(); prod_ = classRef_->New(); }
BranchID edm::StreamedProduct::branchID | ( | ) | const [inline] |
Definition at line 44 of file StreamedProducts.h.
References edm::BranchDescription::branchID(), and desc_.
{return desc_->branchID();}
TClassRef const& edm::StreamedProduct::classRef | ( | ) | const [inline] |
Definition at line 48 of file StreamedProducts.h.
References classRef_.
Referenced by edm::StreamedProductStreamer::operator()().
{return classRef_;}
void edm::StreamedProduct::clear | ( | void | ) | [inline] |
void edm::StreamedProduct::clearClassType | ( | ) |
Definition at line 32 of file StreamedProducts.cc.
References classRef_, and prod_.
Referenced by edm::StreamedProductStreamer::operator()().
BranchDescription const* edm::StreamedProduct::desc | ( | ) | const [inline] |
std::vector<BranchID> const* edm::StreamedProduct::parents | ( | ) | const [inline] |
bool edm::StreamedProduct::present | ( | ) | const [inline] |
Definition at line 45 of file StreamedProducts.h.
References present_.
Referenced by edm::StreamedProductStreamer::operator()().
{return present_;}
void* edm::StreamedProduct::prod | ( | ) | [inline] |
Definition at line 47 of file StreamedProducts.h.
References prod_.
Referenced by edm::StreamedProductStreamer::operator()().
{return prod_;}
void edm::StreamedProduct::setNewClassType | ( | ) |
Definition at line 27 of file StreamedProducts.cc.
References classRef_, desc_, edm::BranchDescription::fullClassName(), and edm::wrappedClassName().
Referenced by allocateForReading(), and edm::StreamedProductStreamer::operator()().
{ classRef_.SetName(wrappedClassName(desc_->fullClassName()).c_str()); }
TClassRef edm::StreamedProduct::classRef_ [private] |
Definition at line 67 of file StreamedProducts.h.
Referenced by allocateForReading(), classRef(), clearClassType(), and setNewClassType().
BranchDescription const* edm::StreamedProduct::desc_ [private] |
Definition at line 63 of file StreamedProducts.h.
Referenced by branchID(), clear(), desc(), and setNewClassType().
std::vector<BranchID> const* edm::StreamedProduct::parents_ [private] |
Definition at line 65 of file StreamedProducts.h.
bool edm::StreamedProduct::present_ [private] |
Definition at line 64 of file StreamedProducts.h.
Referenced by clear(), present(), and StreamedProduct().
void* edm::StreamedProduct::prod_ [private] |
Definition at line 66 of file StreamedProducts.h.
Referenced by allocateForReading(), clear(), clearClassType(), and prod().