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 ()
 
 EDProductGetter (EDProductGetter const &)=delete
 
virtual WrapperBase const * getIt (ProductID const &) const =0
 
virtual WrapperBase const * getThinnedProduct (ProductID const &, unsigned int &key) const =0
 
virtual void getThinnedProducts (ProductID const &pid, std::vector< WrapperBase const * > &foundContainers, std::vector< unsigned int > &keys) const =0
 
EDProductGetter const & operator= (EDProductGetter const &)=delete
 
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 32 of file EDProductGetter.h.

Constructor & Destructor Documentation

EDProductGetter::EDProductGetter ( )

Definition at line 32 of file EDProductGetter.cc.

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

Definition at line 41 of file EDProductGetter.cc.

42  {
43  }
edm::EDProductGetter::EDProductGetter ( EDProductGetter const &  )
delete

Member Function Documentation

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

Definition at line 89 of file EDProductGetter.cc.

References edm::s_productGetter.

90  {
91  //std::cout <<"assign "<<s_productGetter<<std::endl;
92 
93  iGetter = s_productGetter;
94  }
thread_local EDProductGetter const * s_productGetter
virtual WrapperBase const* edm::EDProductGetter::getIt ( ProductID const &  ) const
pure virtual
virtual WrapperBase const* edm::EDProductGetter::getThinnedProduct ( ProductID const &  ,
unsigned int &  key 
) const
pure virtual
virtual void edm::EDProductGetter::getThinnedProducts ( ProductID const &  pid,
std::vector< WrapperBase const * > &  foundContainers,
std::vector< unsigned int > &  keys 
) const
pure virtual
EDProductGetter const& edm::EDProductGetter::operator= ( EDProductGetter const &  )
delete
EDProductGetter const * EDProductGetter::switchProductGetter ( EDProductGetter const *  iNew)
static

These can only be used internally by the framework.

Definition at line 81 of file EDProductGetter.cc.

References edm::s_productGetter.

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

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

Definition at line 70 of file EDProductGetter.h.

References transitionIndex_().

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

70  {
71  return transitionIndex_();
72  }
virtual unsigned int transitionIndex_() const =0
virtual unsigned int edm::EDProductGetter::transitionIndex_ ( ) const
privatepure virtual