CMS 3D CMS Logo

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

#include <EDProductGetter.h>

Inheritance diagram for edm::EDProductGetter:
BareRootProductGetter edm::Principal edm::StreamerInputSource::EventPrincipalHolder fwlite::internal::MultiProductGetter fwlite::internal::ProductGetter edm::EventPrincipal edm::LuminosityBlockPrincipal edm::RunPrincipal

Public Member Functions

 EDProductGetter ()
 
virtual WrapperHolder getIt (ProductID const &) const =0
 
unsigned int transitionIndex () const
 
virtual ~EDProductGetter ()
 

Static Public Member Functions

static void assignEDProductGetter (EDProductGetter const *&)
 
static EDProductGetter const * switchProductGetter (EDProductGetter const *)
 These can only be used internally by the framework. More...
 

Private Member Functions

virtual unsigned int transitionIndex_ () const =0
 

Detailed Description

Definition at line 29 of file EDProductGetter.h.

Constructor & Destructor Documentation

EDProductGetter::EDProductGetter ( )

Definition at line 31 of file EDProductGetter.cc.

32  {
33  }
EDProductGetter::~EDProductGetter ( )
virtual

Definition at line 40 of file EDProductGetter.cc.

41  {
42  }

Member Function Documentation

void EDProductGetter::assignEDProductGetter ( EDProductGetter const *&  iGetter)
static

Definition at line 88 of file EDProductGetter.cc.

References edm::s_productGetter.

89  {
90  //std::cout <<"assign "<<s_productGetter<<std::endl;
91 
92  iGetter = s_productGetter;
93  }
thread_local EDProductGetter const * s_productGetter
virtual WrapperHolder edm::EDProductGetter::getIt ( ProductID const &  ) const
pure virtual
EDProductGetter const * EDProductGetter::switchProductGetter ( EDProductGetter const *  iNew)
static

These can only be used internally by the framework.

Definition at line 80 of file EDProductGetter.cc.

References edm::s_productGetter.

Referenced by edm::setRefCoreStreamer(), and fwlite::setRefStreamer().

81  {
82  //std::cout <<"switch from "<<s_productGetter<<" to "<<iNew<<std::endl;
83  EDProductGetter const* old = s_productGetter;
84  s_productGetter = iNew;
85  return old;
86  }
thread_local EDProductGetter const * s_productGetter
unsigned int edm::EDProductGetter::transitionIndex ( ) const
inline

Definition at line 39 of file EDProductGetter.h.

References transitionIndex_().

Referenced by edm::RootDelayedReader::getProduct_(), edm::RootFile::readCurrentEvent(), edm::RootFile::readLuminosityBlock_(), and edm::RootFile::readRun_().

39  {
40  return transitionIndex_();
41  }
virtual unsigned int transitionIndex_() const =0
virtual unsigned int edm::EDProductGetter::transitionIndex_ ( ) const
privatepure virtual