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::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::OccurrenceForOutput ( Principal const &  ep,
ModuleDescription const &  md,
ModuleCallingContext const *  moduleCallingContext,
bool  isAtEnd 
)

Definition at line 15 of file OccurrenceForOutput.cc.

ModuleCallingContext const * moduleCallingContext() const
ModuleCallingContext const * moduleCallingContext_
PrincipalGetAdapter provRecorder_
OccurrenceForOutput::~OccurrenceForOutput ( )
virtual

Definition at line 21 of file OccurrenceForOutput.cc.

21 {}

Member Function Documentation

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

Definition at line 33 of file OccurrenceForOutput.cc.

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

33  {
35  }
Principal const & principal() const
void getAllProvenance(std::vector< Provenance const * > &provenances) const
Definition: Principal.cc:815
PrincipalGetAdapter provRecorder_
void OccurrenceForOutput::getAllStableProvenance ( std::vector< StableProvenance const * > &  provenances) const

Definition at line 37 of file OccurrenceForOutput.cc.

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

37  {
39  }
Principal const & principal() const
void getAllStableProvenance(std::vector< StableProvenance const * > &provenances) const
Definition: Principal.cc:832
PrincipalGetAdapter provRecorder_
BasicHandle OccurrenceForOutput::getByToken ( EDGetToken  token,
TypeID const &  typeID 
) const

Definition at line 45 of file OccurrenceForOutput.cc.

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

Referenced by SummaryTableOutputBranches::fill(), EventStringOutputBranches::fill(), TriggerOutputBranches::fill(), TableOutputBranches::fill(), edm::RootOutputFile::fillBranches(), edm::StreamerOutputModuleBase::getTriggerResults(), evf::EvFOutputModule::getTriggerResults(), edm::OutputModule::getTriggerResults(), edm::detail::TriggerResultsBasedEventSelector::wantEvent(), RawEventOutputModuleForBU< Consumer >::write(), edm::ProvenanceCheckerOutputModule::write(), and NanoAODOutputModule::writeRun().

45  {
47  if (result.failedToGet()) {
48  return result;
49  }
50  if (!provRecorder_.isComplete() && result.wrapper()->isMergeable()) {
51  principal_get_adapter_detail::throwOnPrematureRead("RunOrLumi", typeID, token);
52  }
53  return result;
54  }
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_
template<typename PROD >
bool OccurrenceForOutput::getByToken ( EDGetToken  token,
Handle< PROD > &  result 
) const

Definition at line 89 of file OccurrenceForOutput.h.

References edm::HandleBase::failedToGet(), eostools::move(), PROD, edm::PRODUCT_TYPE, and edm::principal_get_adapter_detail::throwOnPrematureRead().

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_
template<typename PROD >
bool OccurrenceForOutput::getByToken ( EDGetTokenT< PROD token,
Handle< PROD > &  result 
) const

Definition at line 102 of file OccurrenceForOutput.h.

References edm::HandleBase::failedToGet(), eostools::move(), PROD, edm::PRODUCT_TYPE, and edm::principal_get_adapter_detail::throwOnPrematureRead().

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_
template<typename PROD >
Handle< PROD > OccurrenceForOutput::getHandle ( EDGetTokenT< PROD token) const

Definition at line 115 of file OccurrenceForOutput.h.

References eostools::move(), PROD, edm::PRODUCT_TYPE, and edm::principal_get_adapter_detail::throwOnPrematureRead().

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_
Provenance OccurrenceForOutput::getProvenance ( BranchID const &  theID) const
ModuleCallingContext const* edm::OccurrenceForOutput::moduleCallingContext ( ) const
inlineprivate

Definition at line 81 of file OccurrenceForOutput.h.

81 { return moduleCallingContext_; }
ModuleCallingContext const * moduleCallingContext_
Principal const & OccurrenceForOutput::principal ( ) const
protected
ProcessHistory const & OccurrenceForOutput::processHistory ( ) const
virtual
ProcessHistoryID const & OccurrenceForOutput::processHistoryID ( ) const
void OccurrenceForOutput::setConsumer ( EDConsumerBase const *  iConsumer)

Definition at line 23 of file OccurrenceForOutput.cc.

References provRecorder_, and edm::PrincipalGetAdapter::setConsumer().

Referenced by edm::OutputModule::doBeginLuminosityBlock(), edm::one::OutputModuleBase::doBeginLuminosityBlock(), edm::global::OutputModuleBase::doBeginLuminosityBlock(), edm::limited::OutputModuleBase::doBeginLuminosityBlock(), edm::OutputModule::doBeginRun(), edm::one::OutputModuleBase::doBeginRun(), edm::global::OutputModuleBase::doBeginRun(), edm::limited::OutputModuleBase::doBeginRun(), edm::OutputModule::doEndLuminosityBlock(), edm::one::OutputModuleBase::doEndLuminosityBlock(), edm::global::OutputModuleBase::doEndLuminosityBlock(), edm::limited::OutputModuleBase::doEndLuminosityBlock(), edm::OutputModule::doEndRun(), edm::one::OutputModuleBase::doEndRun(), edm::global::OutputModuleBase::doEndRun(), edm::limited::OutputModuleBase::doEndRun(), edm::OutputModule::doEvent(), edm::one::OutputModuleBase::doEvent(), edm::global::OutputModuleBase::doEvent(), edm::limited::OutputModuleBase::doEvent(), edm::SubProcess::doEventAsync(), edm::OutputModule::doWriteLuminosityBlock(), edm::one::OutputModuleBase::doWriteLuminosityBlock(), edm::global::OutputModuleBase::doWriteLuminosityBlock(), edm::limited::OutputModuleBase::doWriteLuminosityBlock(), edm::OutputModule::doWriteRun(), edm::one::OutputModuleBase::doWriteRun(), edm::global::OutputModuleBase::doWriteRun(), edm::limited::OutputModuleBase::doWriteRun(), edm::OutputModule::prePrefetchSelection(), edm::one::OutputModuleBase::prePrefetchSelection(), edm::global::OutputModuleBase::prePrefetchSelection(), and edm::limited::OutputModuleBase::prePrefetchSelection().

23 { provRecorder_.setConsumer(iConsumer); }
void setConsumer(EDConsumerBase const *iConsumer)
PrincipalGetAdapter provRecorder_
size_t OccurrenceForOutput::size ( void  ) const

Friends And Related Function Documentation

friend class edmtest::TestOutputModule
friend

Definition at line 80 of file OccurrenceForOutput.h.

Member Data Documentation

ModuleCallingContext const* edm::OccurrenceForOutput::moduleCallingContext_
private

Definition at line 85 of file OccurrenceForOutput.h.

Referenced by getByToken(), and getProvenance().

PrincipalGetAdapter edm::OccurrenceForOutput::provRecorder_
private