CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends
edm::OccurrenceForOutput Class Reference

#include <OccurrenceForOutput.h>

Inheritance diagram for edm::OccurrenceForOutput:
edm::EventForOutput edm::LuminosityBlockForOutput edm::ProcessBlockForOutput edm::RunForOutput

Public Member Functions

void getAllProvenance (std::vector< Provenance const *> &provenances) const
 
void getAllStableProvenance (std::vector< StableProvenance const *> &provenances) const
 
BasicHandle getByToken (EDGetToken token, TypeID const &typeID) const
 
template<typename PROD >
bool getByToken (EDGetToken token, Handle< PROD > &result) const
 
template<typename PROD >
bool getByToken (EDGetTokenT< PROD > token, Handle< PROD > &result) const
 
template<typename PROD >
Handle< PRODgetHandle (EDGetTokenT< PROD > token) const
 
Provenance getProvenance (BranchID const &theID) const
 
 OccurrenceForOutput (Principal const &ep, ModuleDescription const &md, ModuleCallingContext const *, bool isAtEnd)
 
virtual ProcessHistory const & processHistory () const
 
ProcessHistoryID const & processHistoryID () const
 
void setConsumer (EDConsumerBase const *iConsumer)
 
size_t size () const
 
virtual ~OccurrenceForOutput ()
 

Protected Member Functions

Principal const & principal () const
 

Private Member Functions

ModuleCallingContext const * moduleCallingContext () const
 

Private Attributes

ModuleCallingContext const * moduleCallingContext_
 
PrincipalGetAdapter provRecorder_
 

Friends

class edmtest::TestOutputModule
 

Detailed Description

Definition at line 45 of file OccurrenceForOutput.h.

Constructor & Destructor Documentation

◆ OccurrenceForOutput()

edm::OccurrenceForOutput::OccurrenceForOutput ( Principal const &  ep,
ModuleDescription const &  md,
ModuleCallingContext const *  moduleCallingContext,
bool  isAtEnd 
)

Definition at line 14 of file OccurrenceForOutput.cc.

ModuleCallingContext const * moduleCallingContext() const
ModuleCallingContext const * moduleCallingContext_
PrincipalGetAdapter provRecorder_

◆ ~OccurrenceForOutput()

edm::OccurrenceForOutput::~OccurrenceForOutput ( )
virtual

Definition at line 20 of file OccurrenceForOutput.cc.

20 {}

Member Function Documentation

◆ getAllProvenance()

void edm::OccurrenceForOutput::getAllProvenance ( std::vector< Provenance const *> &  provenances) const

Definition at line 32 of file OccurrenceForOutput.cc.

References edm::Principal::getAllProvenance(), edm::PrincipalGetAdapter::principal(), and provRecorder_.

32  {
34  }
void getAllProvenance(std::vector< Provenance const *> &provenances) const
Definition: Principal.cc:898
Principal const & principal() const
PrincipalGetAdapter provRecorder_

◆ getAllStableProvenance()

void edm::OccurrenceForOutput::getAllStableProvenance ( std::vector< StableProvenance const *> &  provenances) const

Definition at line 36 of file OccurrenceForOutput.cc.

References edm::Principal::getAllStableProvenance(), edm::PrincipalGetAdapter::principal(), and provRecorder_.

36  {
38  }
Principal const & principal() const
void getAllStableProvenance(std::vector< StableProvenance const *> &provenances) const
Definition: Principal.cc:915
PrincipalGetAdapter provRecorder_

◆ getByToken() [1/3]

BasicHandle edm::OccurrenceForOutput::getByToken ( EDGetToken  token,
TypeID const &  typeID 
) const

Definition at line 44 of file OccurrenceForOutput.cc.

References edm::PrincipalGetAdapter::getByToken_(), edm::PrincipalGetAdapter::isComplete(), moduleCallingContext_, edm::PRODUCT_TYPE, provRecorder_, mps_fire::result, edm::principal_get_adapter_detail::throwOnPrematureRead(), and unpackBuffers-CaloStage2::token.

Referenced by SummaryTableOutputBranches::fill(), TableOutputBranches::fill(), LumiOutputBranches::fill(), edm::RootOutputFile::fillBranches(), and NanoAODOutputModule::writeRun().

44  {
46  if (result.failedToGet()) {
47  return result;
48  }
49  if (!provRecorder_.isComplete() && result.wrapper()->isMergeable()) {
51  }
52  return result;
53  }
BasicHandle getByToken_(TypeID const &id, KindOfType kindOfType, EDGetToken token, ModuleCallingContext const *mcc) const
ModuleCallingContext const * moduleCallingContext_
void throwOnPrematureRead(char const *principalType, TypeID const &productType, std::string const &moduleLabel, std::string const &productInstanceName)
PrincipalGetAdapter provRecorder_

◆ getByToken() [2/3]

template<typename PROD >
bool edm::OccurrenceForOutput::getByToken ( EDGetToken  token,
Handle< PROD > &  result 
) const

Definition at line 89 of file OccurrenceForOutput.h.

References edm::PrincipalGetAdapter::checkIfComplete(), edm::PrincipalGetAdapter::getByToken_(), moduleCallingContext_, eostools::move(), PROD, edm::PRODUCT_TYPE, provRecorder_, mps_fire::result, edm::principal_get_adapter_detail::throwOnPrematureRead(), and unpackBuffers-CaloStage2::token.

89  {
91  principal_get_adapter_detail::throwOnPrematureRead("RunOrLumi", TypeID(typeid(PROD)), token);
92  }
93  BasicHandle bh = provRecorder_.getByToken_(TypeID(typeid(PROD)), PRODUCT_TYPE, token, moduleCallingContext_);
94  result = convert_handle<PROD>(std::move(bh)); // throws on conversion error
95  if (result.failedToGet()) {
96  return false;
97  }
98  return true;
99  }
BasicHandle getByToken_(TypeID const &id, KindOfType kindOfType, EDGetToken token, ModuleCallingContext const *mcc) const
ModuleCallingContext const * moduleCallingContext_
#define PROD(A, B)
void throwOnPrematureRead(char const *principalType, TypeID const &productType, std::string const &moduleLabel, std::string const &productInstanceName)
def move(src, dest)
Definition: eostools.py:511
PrincipalGetAdapter provRecorder_

◆ getByToken() [3/3]

template<typename PROD >
bool edm::OccurrenceForOutput::getByToken ( EDGetTokenT< PROD token,
Handle< PROD > &  result 
) const

Definition at line 102 of file OccurrenceForOutput.h.

References edm::PrincipalGetAdapter::checkIfComplete(), edm::PrincipalGetAdapter::getByToken_(), moduleCallingContext_, eostools::move(), PROD, edm::PRODUCT_TYPE, provRecorder_, mps_fire::result, edm::principal_get_adapter_detail::throwOnPrematureRead(), and unpackBuffers-CaloStage2::token.

102  {
104  principal_get_adapter_detail::throwOnPrematureRead("RunOrLumi", TypeID(typeid(PROD)), token);
105  }
106  BasicHandle bh = provRecorder_.getByToken_(TypeID(typeid(PROD)), PRODUCT_TYPE, token, moduleCallingContext_);
107  result = convert_handle<PROD>(std::move(bh)); // throws on conversion error
108  if (result.failedToGet()) {
109  return false;
110  }
111  return true;
112  }
BasicHandle getByToken_(TypeID const &id, KindOfType kindOfType, EDGetToken token, ModuleCallingContext const *mcc) const
ModuleCallingContext const * moduleCallingContext_
#define PROD(A, B)
void throwOnPrematureRead(char const *principalType, TypeID const &productType, std::string const &moduleLabel, std::string const &productInstanceName)
def move(src, dest)
Definition: eostools.py:511
PrincipalGetAdapter provRecorder_

◆ getHandle()

template<typename PROD >
Handle< PROD > edm::OccurrenceForOutput::getHandle ( EDGetTokenT< PROD token) const

Definition at line 115 of file OccurrenceForOutput.h.

References edm::PrincipalGetAdapter::checkIfComplete(), edm::PrincipalGetAdapter::getByToken_(), moduleCallingContext_, eostools::move(), PROD, edm::PRODUCT_TYPE, provRecorder_, edm::principal_get_adapter_detail::throwOnPrematureRead(), and unpackBuffers-CaloStage2::token.

Referenced by edm::StreamerOutputModuleBase::beginRun().

115  {
117  principal_get_adapter_detail::throwOnPrematureRead("RunOrLumi", TypeID(typeid(PROD)), token);
118  }
119  BasicHandle bh = provRecorder_.getByToken_(TypeID(typeid(PROD)), PRODUCT_TYPE, token, moduleCallingContext_);
120  return convert_handle<PROD>(std::move(bh)); // throws on conversion error
121  }
BasicHandle getByToken_(TypeID const &id, KindOfType kindOfType, EDGetToken token, ModuleCallingContext const *mcc) const
ModuleCallingContext const * moduleCallingContext_
#define PROD(A, B)
void throwOnPrematureRead(char const *principalType, TypeID const &productType, std::string const &moduleLabel, std::string const &productInstanceName)
def move(src, dest)
Definition: eostools.py:511
PrincipalGetAdapter provRecorder_

◆ getProvenance()

Provenance edm::OccurrenceForOutput::getProvenance ( BranchID const &  theID) const

Definition at line 28 of file OccurrenceForOutput.cc.

References edm::Principal::getProvenance(), edm::PrincipalGetAdapter::principal(), and provRecorder_.

28  {
30  }
Principal const & principal() const
Provenance const & getProvenance(BranchID const &bid) const
Definition: Principal.cc:873
PrincipalGetAdapter provRecorder_

◆ moduleCallingContext()

ModuleCallingContext const* edm::OccurrenceForOutput::moduleCallingContext ( ) const
inlineprivate

Definition at line 81 of file OccurrenceForOutput.h.

References moduleCallingContext_.

81 { return moduleCallingContext_; }
ModuleCallingContext const * moduleCallingContext_

◆ principal()

Principal const & edm::OccurrenceForOutput::principal ( ) const
protected

◆ processHistory()

ProcessHistory const & edm::OccurrenceForOutput::processHistory ( ) const
virtual

◆ processHistoryID()

ProcessHistoryID const & edm::OccurrenceForOutput::processHistoryID ( ) const

◆ setConsumer()

void edm::OccurrenceForOutput::setConsumer ( EDConsumerBase const *  iConsumer)

◆ size()

size_t edm::OccurrenceForOutput::size ( void  ) const

Friends And Related Function Documentation

◆ edmtest::TestOutputModule

friend class edmtest::TestOutputModule
friend

Definition at line 80 of file OccurrenceForOutput.h.

Member Data Documentation

◆ moduleCallingContext_

ModuleCallingContext const* edm::OccurrenceForOutput::moduleCallingContext_
private

Definition at line 85 of file OccurrenceForOutput.h.

Referenced by getByToken(), getHandle(), and moduleCallingContext().

◆ provRecorder_

PrincipalGetAdapter edm::OccurrenceForOutput::provRecorder_
private