CMS 3D CMS Logo

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

#include <UnscheduledHandler.h>

Inheritance diagram for edm::UnscheduledHandler:
edm::UnscheduledCallProducer

Public Member Functions

UnscheduledHandleroperator= (UnscheduledHandler const &)=delete
 
void setEventSetup (EventSetup const &iSetup)
 
bool tryToFill (std::string const &label, EventPrincipal &iEvent)
 returns true if found an EDProducer and ran it More...
 
 UnscheduledHandler ()
 
 UnscheduledHandler (UnscheduledHandler const &)=delete
 
virtual ~UnscheduledHandler ()
 

Private Member Functions

CurrentProcessingContext const * setCurrentProcessingContext (CurrentProcessingContext const *iContext)
 
virtual bool tryToFillImpl (std::string const &, EventPrincipal &, EventSetup const &, CurrentProcessingContext const *)=0
 

Private Attributes

CurrentProcessingContext const * m_context
 
EventSetup const * m_setup
 

Friends

class UnscheduledHandlerSentry
 

Detailed Description

Definition at line 33 of file UnscheduledHandler.h.

Constructor & Destructor Documentation

edm::UnscheduledHandler::UnscheduledHandler ( )
inline

Definition at line 37 of file UnscheduledHandler.h.

37 : m_setup(nullptr), m_context(nullptr) {}
CurrentProcessingContext const * m_context
EventSetup const * m_setup
UnscheduledHandler::~UnscheduledHandler ( )
virtual

Definition at line 41 of file UnscheduledHandler.cc.

41  {
42  }
edm::UnscheduledHandler::UnscheduledHandler ( UnscheduledHandler const &  )
delete

Member Function Documentation

UnscheduledHandler& edm::UnscheduledHandler::operator= ( UnscheduledHandler const &  )
delete
CurrentProcessingContext const * UnscheduledHandler::setCurrentProcessingContext ( CurrentProcessingContext const *  iContext)
private

Definition at line 59 of file UnscheduledHandler.cc.

References m_context.

Referenced by edm::UnscheduledHandlerSentry::UnscheduledHandlerSentry(), and edm::UnscheduledHandlerSentry::~UnscheduledHandlerSentry().

59  {
60  CurrentProcessingContext const* old = m_context;
61  m_context = iContext;
62  return old;
63  }
CurrentProcessingContext const * m_context
void edm::UnscheduledHandler::setEventSetup ( EventSetup const &  iSetup)
inline

Definition at line 52 of file UnscheduledHandler.h.

References m_setup.

52  {
53  m_setup = &iSetup;
54  }
EventSetup const * m_setup
bool UnscheduledHandler::tryToFill ( std::string const &  label,
EventPrincipal iEvent 
)

returns true if found an EDProducer and ran it

Definition at line 72 of file UnscheduledHandler.cc.

References m_context, m_setup, edm::CurrentProcessingContext::setUnscheduledDepth(), groupFilesInBlocks::temp, tryToFillImpl(), and edm::CurrentProcessingContext::unscheduledDepth().

73  {
74  assert(m_setup);
75  CurrentProcessingContext const* chosen = m_context;
76  CurrentProcessingContext temp;
77  if(0 != m_context) {
78  temp = *m_context;
80  chosen = &temp;
81  }
82  UnscheduledHandlerSentry sentry(this, chosen);
83  return tryToFillImpl(label, iEvent, *m_setup, chosen);
84  }
friend class UnscheduledHandlerSentry
CurrentProcessingContext const * m_context
int iEvent
Definition: GenABIO.cc:243
EventSetup const * m_setup
virtual bool tryToFillImpl(std::string const &, EventPrincipal &, EventSetup const &, CurrentProcessingContext const *)=0
void setUnscheduledDepth(unsigned int)
Set the depth in a series of unscheduled callbacks.
unsigned int unscheduledDepth() const
Returns 0 if module is on the path and &gt;0 when the module executing is unscheduled.
virtual bool edm::UnscheduledHandler::tryToFillImpl ( std::string const &  ,
EventPrincipal ,
EventSetup const &  ,
CurrentProcessingContext const *   
)
privatepure virtual

Implemented in edm::UnscheduledCallProducer.

Referenced by tryToFill().

Friends And Related Function Documentation

friend class UnscheduledHandlerSentry
friend

Definition at line 36 of file UnscheduledHandler.h.

Member Data Documentation

CurrentProcessingContext const* edm::UnscheduledHandler::m_context
private

Definition at line 65 of file UnscheduledHandler.h.

Referenced by setCurrentProcessingContext(), and tryToFill().

EventSetup const* edm::UnscheduledHandler::m_setup
private

Definition at line 64 of file UnscheduledHandler.h.

Referenced by setEventSetup(), and tryToFill().