CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
edm::StreamedProductStreamer Class Reference

#include <StreamedProductStreamer.h>

Inheritance diagram for edm::StreamedProductStreamer:

Public Member Functions

void operator() (TBuffer &R__b, void *objp)
 
 StreamedProductStreamer ()
 

Private Attributes

TClassRef cl_
 

Detailed Description

Definition at line 7 of file StreamedProductStreamer.h.

Constructor & Destructor Documentation

edm::StreamedProductStreamer::StreamedProductStreamer ( )
inline

Definition at line 9 of file StreamedProductStreamer.h.

9 : cl_("edm::StreamedProduct") {}

Member Function Documentation

void edm::StreamedProductStreamer::operator() ( TBuffer &  R__b,
void *  objp 
)

Definition at line 8 of file StreamedProductStreamer.cc.

References edm::StreamedProduct::allocateForReading(), cl_, edm::StreamedProduct::classRef(), edm::StreamedProduct::clearClassType(), getGTfromDQMFile::obj, edm::StreamedProduct::present(), edm::StreamedProduct::prod(), and edm::StreamedProduct::setNewClassType().

8  {
9  if (R__b.IsReading()) {
10  cl_->ReadBuffer(R__b, objp);
11  StreamedProduct* obj = static_cast<StreamedProduct*>(objp);
12  obj->clearClassType();
13  obj->setNewClassType();
14  if(obj->present()) {
15  obj->allocateForReading();
16  obj->classRef()->Streamer(obj->prod(), R__b);
17  }
18  } else {
19  cl_->WriteBuffer(R__b, objp);
20  StreamedProduct* obj = static_cast<StreamedProduct*>(objp);
21  obj->setNewClassType();
22  if(obj->present()) {
23  assert(obj->prod() != 0);
24  obj->classRef()->Streamer(obj->prod(), R__b);
25  }
26  }
27  }

Member Data Documentation

TClassRef edm::StreamedProductStreamer::cl_
private

Definition at line 14 of file StreamedProductStreamer.h.

Referenced by operator()().