CMS 3D CMS Logo

Public Member Functions | Static Public Member Functions | Private Member Functions

edm::EDProductGetter Class Reference

#include <EDProductGetter.h>

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

List of all members.

Public Member Functions

 EDProductGetter ()
virtual EDProduct const * getIt (ProductID const &) const =0
ProductID oldToNewProductID (ProductID const &oldProductID) 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.

Private Member Functions

virtual ProductID oldToNewProductID_ (ProductID const &oldProductID) const

Detailed Description

Definition at line 32 of file EDProductGetter.h.


Constructor & Destructor Documentation

EDProductGetter::EDProductGetter ( )

Definition at line 31 of file EDProductGetter.cc.

  {
  }
EDProductGetter::~EDProductGetter ( ) [virtual]

Definition at line 40 of file EDProductGetter.cc.

  {
  }

Member Function Documentation

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

Definition at line 94 of file EDProductGetter.cc.

References edm::s_productGetter.

  {    
    //std::cout <<"assign "<<s_productGetter<<std::endl;
    
    iGetter = s_productGetter;
  }
virtual EDProduct const* edm::EDProductGetter::getIt ( ProductID const &  ) const [pure virtual]
ProductID edm::EDProductGetter::oldToNewProductID ( ProductID const &  oldProductID) const [inline]

Definition at line 44 of file EDProductGetter.h.

References edm::ProductID::oldID(), and oldToNewProductID_().

Referenced by edm::ProductIDStreamer::operator()().

                                                                       {
        if (oldProductID.oldID() == 0) return oldProductID;
        return oldToNewProductID_(oldProductID);
      }
ProductID EDProductGetter::oldToNewProductID_ ( ProductID const &  oldProductID) const [private, virtual]

Reimplemented in edm::EventPrincipal.

Definition at line 68 of file EDProductGetter.cc.

References Exception, and edm::errors::LogicError.

Referenced by oldToNewProductID().

                                                            {
    throw edm::Exception(errors::LogicError)
        << "Internal error:  Call of oldToNewProductID_ for non-EventPrincipal.\n"
        << "Please report this error to the Framework group\n";
  }
EDProductGetter const * EDProductGetter::switchProductGetter ( EDProductGetter const *  iNew) [static]

These can only be used internally by the framework.

Definition at line 86 of file EDProductGetter.cc.

References edm::s_productGetter.

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

  {
    //std::cout <<"switch from "<<s_productGetter<<" to "<<iNew<<std::endl;
    EDProductGetter const* old = s_productGetter;
    s_productGetter = iNew;
    return old;
  }