Gaudi Framework, version v21r8

Home   Generated: 17 Mar 2010

EventCounter Class Reference

#include <EventCounter.h>

Inheritance diagram for EventCounter:

Inheritance graph
[legend]
Collaboration diagram for EventCounter:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 EventCounter (const std::string &name, ISvcLocator *pSvcLocator)
 Constructor(s).
 ~EventCounter ()
 Destructor.
StatusCode initialize ()
 the default (empty) implementation of IStateful::initialize() method
StatusCode execute ()
StatusCode finalize ()
 the default (empty) implementation of IStateful::finalize() method

Private Attributes

IntegerProperty m_frequency
 The frequency with which the number of events should be reported.
int m_skip
 The number of events skipped since the last time the count was reported.
int m_total
 The total events seen.


Detailed Description

Definition at line 4 of file EventCounter.h.


Constructor & Destructor Documentation

EventCounter::EventCounter ( const std::string name,
ISvcLocator pSvcLocator 
)

Constructor(s).

Definition at line 9 of file EventCounter.cpp.

00009                                                                           :
00010   Algorithm(name, pSvcLocator),
00011   m_skip ( 0 ),
00012   m_total( 0 )
00013 {
00014     declareProperty( "Frequency", m_frequency=1 );
00015     m_frequency.verifier().setBounds( 0, 1000 );
00016 }

EventCounter::~EventCounter (  ) 

Destructor.

Definition at line 21 of file EventCounter.cpp.

00022 {
00023 }


Member Function Documentation

StatusCode EventCounter::initialize (  )  [virtual]

the default (empty) implementation of IStateful::initialize() method

Reimplemented from Algorithm.

Definition at line 26 of file EventCounter.cpp.

00027 {
00028     MsgStream log(msgSvc(), name());
00029     log << MSG::INFO << name( ) << ":EventCounter::initialize - Frequency: " << m_frequency << endmsg;
00030     return StatusCode::SUCCESS;
00031 }

StatusCode EventCounter::execute (  ) 

Definition at line 34 of file EventCounter.cpp.

00035 {
00036      MsgStream log(msgSvc(), name());
00037      m_total++;
00038      int freq = m_frequency;
00039      if ( freq > 0 ) {
00040          m_skip++;
00041          if ( m_skip >= freq ) {
00042              log << MSG::INFO << name( ) << ":EventCounter::execute - seen events: " << m_total << endmsg;
00043              m_skip = 0;
00044          }
00045      }
00046     return StatusCode::SUCCESS;
00047 }

StatusCode EventCounter::finalize ( void   )  [virtual]

the default (empty) implementation of IStateful::finalize() method

Reimplemented from Algorithm.

Definition at line 50 of file EventCounter.cpp.

00051 {
00052     MsgStream log(msgSvc(), name());
00053     log << MSG::INFO << name( ) << ":EventCounter::finalize - total events: " << m_total << endmsg;
00054     return StatusCode::SUCCESS;
00055 }


Member Data Documentation

The frequency with which the number of events should be reported.

The default is 1, corresponding to every event.

Definition at line 36 of file EventCounter.h.

int EventCounter::m_skip [private]

The number of events skipped since the last time the count was reported.

Definition at line 42 of file EventCounter.h.

int EventCounter::m_total [private]

The total events seen.

Definition at line 47 of file EventCounter.h.


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

Generated at Wed Mar 17 18:17:01 2010 for Gaudi Framework, version v21r8 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004