CMS 3D CMS Logo

Public Types | Public Member Functions

statemachine::HandleNewInputFile2 Class Reference

#include <EPStates.h>

Inheritance diagram for statemachine::HandleNewInputFile2:
state

List of all members.

Public Types

typedef mpl::list
< sc::custom_reaction< Run >
, sc::custom_reaction< File > > 
reactions

Public Member Functions

bool checkInvariant ()
 HandleNewInputFile2 (my_context ctx)
sc::result react (Run const &run)
sc::result react (File const &file)
 ~HandleNewInputFile2 ()

Detailed Description

Definition at line 278 of file EPStates.h.


Member Typedef Documentation

typedef mpl::list< sc::custom_reaction<Run>, sc::custom_reaction<File> > statemachine::HandleNewInputFile2::reactions

Definition at line 287 of file EPStates.h.


Constructor & Destructor Documentation

statemachine::HandleNewInputFile2::HandleNewInputFile2 ( my_context  ctx)

Definition at line 357 of file EPStates.cc.

References checkInvariant().

                                                         : 
    my_base(ctx)
  { 
    context<HandleFiles>().goToNewInputFile();
    checkInvariant();
  }
statemachine::HandleNewInputFile2::~HandleNewInputFile2 ( )

Definition at line 364 of file EPStates.cc.

References checkInvariant().


Member Function Documentation

bool statemachine::HandleNewInputFile2::checkInvariant ( )

Definition at line 368 of file EPStates.cc.

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

                                           {
    assert(context<HandleRuns>().currentRun() != INVALID_RUN);
    return true;
  }
sc::result statemachine::HandleNewInputFile2::react ( File const &  file)

Definition at line 385 of file EPStates.cc.

References checkInvariant().

  {
    checkInvariant();
    if (!context<HandleFiles>().shouldWeCloseOutput()) {
      return transit<HandleNewInputFile2>();
    }
    return forward_event();
  }
sc::result statemachine::HandleNewInputFile2::react ( Run const &  run)

Definition at line 373 of file EPStates.cc.

References checkInvariant(), statemachine::HandleRuns::finalizeRun(), and CrabTask::run.

  {
    checkInvariant();

    if (context<HandleRuns>().currentRun() != run) {
      return transit<NewRun, HandleRuns, Run>(&HandleRuns::finalizeRun, run);
    }
    else {
      return transit<ContinueRun1>();
    }
  }