List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes
RdDoubleEventRejector::RdDoubleEventRejector Class Reference

#include <RdDoubleEventRejector.h>

Inheritance diagram for RdDoubleEventRejector::RdDoubleEventRejector:
Inheritance graph
[legend]

Public Types

enum  ResultFlag { eSuccess, eFailure, eBreakLoop, eContinueLoop }
 Flag returned by module methods to the RunController. More...
 
enum  VersionInfoType {
  eFilename = 1, eRevisionNumber = 2, eDate = 3, eTime = 4,
  eLastEditor = 5
}
 Different types of version info that can be retrieved from GetVersionInfo. More...
 

Public Member Functions

fwk::VModule::ResultFlag Finish ()
 Finish: invoked at end of the run (NOT end of the event) More...
 
utl::StopwatchGetStopwatch ()
 
const utl::StopwatchGetStopwatch () const
 
std::string GetVersionInfo (const VersionInfoType v) const
 Retrieve different sorts of module version info. More...
 
fwk::VModule::ResultFlag Init ()
 Initialize: invoked at beginning of run (NOT beginning of event) More...
 
void InitTiming ()
 
 RdDoubleEventRejector ()
 
fwk::VModule::ResultFlag Run (evt::Event &event)
 Run: invoked once per event. More...
 
ResultFlag RunWithTiming (evt::Event &event)
 

Static Public Member Functions

static std::string GetResultFlagByName (const ResultFlag flag)
 

Private Types

enum  InfoLevel {
  eNone = 0, eFinal = 1, eIntermediate = 2, eObscure = 3,
  eDebug = 4
}
 

Private Member Functions

 REGISTER_MODULE ("RdDoubleEventRejector", RdDoubleEventRejector)
 

Private Attributes

std::set< std::pair< int, int > > fEventList
 List of allowed allowed combination of run and event IDs. More...
 
int fInfoLevel
 xml settings: info level (verbosity) More...
 
int fNRejected
 

Detailed Description

Definition at line 36 of file RdDoubleEventRejector.h.

Member Enumeration Documentation

enum RdDoubleEventRejector::RdDoubleEventRejector::InfoLevel
private
Enumerator
eNone 
eFinal 
eIntermediate 
eObscure 
eDebug 

Definition at line 51 of file RdDoubleEventRejector.h.

enum fwk::VModule::ResultFlag
inherited

Flag returned by module methods to the RunController.

Enumerator
eSuccess 

Report success to RunController.

eFailure 

Report failure to RunController, causing RunController to terminate execution.

eBreakLoop 

Break current loop. It works for nested loops too!

eContinueLoop 

Skip remaining modules in the current loop and continue with next iteration of the loop.

Definition at line 60 of file VModule.h.

Different types of version info that can be retrieved from GetVersionInfo.

Enumerator
eFilename 
eRevisionNumber 
eDate 
eTime 
eLastEditor 

Definition at line 110 of file VModule.h.

Constructor & Destructor Documentation

RdDoubleEventRejector::RdDoubleEventRejector::RdDoubleEventRejector ( )

Definition at line 29 of file RdDoubleEventRejector.cc.

Member Function Documentation

VModule::ResultFlag RdDoubleEventRejector::RdDoubleEventRejector::Finish ( )
virtual

Finish: invoked at end of the run (NOT end of the event)

This method is for things that should be done at the end of the run (for example, closing files or writing out histograms) {You must override this method in your concrete module}

Implements fwk::VModule.

Definition at line 85 of file RdDoubleEventRejector.cc.

References fwk::VModule::eSuccess, fNRejected, and INFO.

std::string fwk::VModule::GetResultFlagByName ( const ResultFlag  flag)
staticinherited
utl::Stopwatch& fwk::VModule::GetStopwatch ( )
inlineinherited

Definition at line 106 of file VModule.h.

References fwk::VModule::fStopwatch.

const utl::Stopwatch& fwk::VModule::GetStopwatch ( ) const
inlineinherited

Definition at line 107 of file VModule.h.

References fwk::VModule::fStopwatch.

std::string fwk::VModule::GetVersionInfo ( const VersionInfoType  v) const
inherited
VModule::ResultFlag RdDoubleEventRejector::RdDoubleEventRejector::Init ( )
virtual

Initialize: invoked at beginning of run (NOT beginning of event)

This method is for things that should be done once at the beginning of a run (for example, booking histograms, performing calculations that need to be done only once, initializing parameters) {You must override this method in your concrete module}

Implements fwk::VModule.

Definition at line 35 of file RdDoubleEventRejector.cc.

References fwk::VModule::eSuccess, fInfoLevel, utl::Branch::GetChild(), utl::Branch::GetData(), utl::Branch::GetTopBranch(), and INFO.

void fwk::VModule::InitTiming ( )
inlineinherited

Definition at line 95 of file VModule.h.

References fwk::VModule::fStopwatch, and utl::Stopwatch::Reset().

RdDoubleEventRejector::RdDoubleEventRejector::REGISTER_MODULE ( "RdDoubleEventRejector"  ,
RdDoubleEventRejector   
)
private
VModule::ResultFlag RdDoubleEventRejector::RdDoubleEventRejector::Run ( evt::Event event)
virtual

Run: invoked once per event.

This method is for things that should be done once per event {You must override this method in your concrete module}

Implements fwk::VModule.

Definition at line 53 of file RdDoubleEventRejector.cc.

References fwk::VModule::eContinueLoop, eFinal, eObscure, fwk::VModule::eSuccess, fEventList, fInfoLevel, fNRejected, revt::REvent::GetHeader(), revt::Header::GetId(), revt::Header::GetRunNumber(), evt::Event::HasREvent(), INFO, and WARNING.

ResultFlag fwk::VModule::RunWithTiming ( evt::Event event)
inlineinherited

Member Data Documentation

std::set<std::pair<int, int> > RdDoubleEventRejector::RdDoubleEventRejector::fEventList
private

List of allowed allowed combination of run and event IDs.

Definition at line 65 of file RdDoubleEventRejector.h.

Referenced by Run().

int RdDoubleEventRejector::RdDoubleEventRejector::fInfoLevel
private

xml settings: info level (verbosity)

Definition at line 60 of file RdDoubleEventRejector.h.

Referenced by Init(), and Run().

int RdDoubleEventRejector::RdDoubleEventRejector::fNRejected
private

Definition at line 62 of file RdDoubleEventRejector.h.

Referenced by Finish(), and Run().


The documentation for this class was generated from the following files:

, generated on Tue Sep 26 2023.