CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

statemachine::HandleEvent Class Reference

#include <EPStates.h>

Inheritance diagram for statemachine::HandleEvent:
state

List of all members.

Public Types

typedef mpl::list
< sc::transition< Event,
HandleEvent >, sc::transition
< Lumi, AnotherLumi >
, sc::custom_reaction< File > > 
reactions

Public Member Functions

bool checkInvariant ()
 HandleEvent (my_context ctx)
void markNonEmpty ()
sc::result react (File const &file)
void readAndProcessEvent ()
 ~HandleEvent ()

Private Attributes

edm::IEventProcessorep_

Detailed Description

Definition at line 384 of file EPStates.h.


Member Typedef Documentation

typedef mpl::list< sc::transition<Event, HandleEvent>, sc::transition<Lumi, AnotherLumi>, sc::custom_reaction<File> > statemachine::HandleEvent::reactions

Definition at line 394 of file EPStates.h.


Constructor & Destructor Documentation

statemachine::HandleEvent::HandleEvent ( my_context  ctx)

Definition at line 641 of file EPStates.cc.

References checkInvariant(), and readAndProcessEvent().

                                         :
    my_base(ctx),
    ep_(context<Machine>().ep())
  { 
    readAndProcessEvent();
    checkInvariant();
  }
statemachine::HandleEvent::~HandleEvent ( )

Definition at line 649 of file EPStates.cc.

References checkInvariant().


Member Function Documentation

bool statemachine::HandleEvent::checkInvariant ( )

Definition at line 653 of file EPStates.cc.

References fjr2json::lumi, DTTTrigCorrFirst::run, and inputsource_file_cfi::runNumber.

Referenced by HandleEvent(), react(), and ~HandleEvent().

                                   {
    assert(context<HandleRuns>().currentRun() != INVALID_RUN);
    assert(context<HandleRuns>().beginRunCalled());
    assert(context<HandleLumis>().currentLumi().processHistoryID() == context<HandleRuns>().currentRun().processHistoryID());
    assert(context<HandleLumis>().currentLumi().run() == context<HandleRuns>().currentRun().runNumber());
    assert(context<HandleLumis>().currentLumi().lumi() != INVALID_LUMI);
    assert(context<HandleLumis>().currentLumiEmpty() == false);
    return true;
  }
void statemachine::HandleEvent::markNonEmpty ( )

Definition at line 678 of file EPStates.cc.

Referenced by readAndProcessEvent().

                                 {
    context<HandleRuns>().beginRunIfNotDoneAlready();
    context<HandleLumis>().markLumiNonEmpty();
  }
sc::result statemachine::HandleEvent::react ( File const &  file)

Definition at line 663 of file EPStates.cc.

References checkInvariant().

  {
    checkInvariant();
    if (!context<HandleFiles>().shouldWeCloseOutput()) {
      return transit<HandleNewInputFile3>();
    }
    return forward_event();
  }
void statemachine::HandleEvent::readAndProcessEvent ( )

Member Data Documentation

Definition at line 400 of file EPStates.h.

Referenced by readAndProcessEvent().