CMS 3D CMS Logo

R2DTimerObserver Class Reference

utility to get the real/cpu time betwen last TimingReport::Item start-stop. More...

#include <EventFilter/SiPixelRawToDigi/interface/R2DTimerObserver.h>

Inheritance diagram for R2DTimerObserver:

BaseEvent< double, double > >

List of all members.

Public Member Functions

void init (const std::string &name)
TimingReport::Itemitem ()
const LastMeasurementlastMeasurement ()
 R2DTimerObserver (const std::string name)
 R2DTimerObserver ()
void start ()
void stop ()

Private Types

typedef
TimingReport::ItemObserver::event 
TimerState

Private Member Functions

virtual void operator() (const TimerState &timerState)
 from base class

Private Attributes

TimerState lastState
LastMeasurement theMeasurement
TimingReport::Itemtimer_item

Classes

class  LastMeasurement


Detailed Description

utility to get the real/cpu time betwen last TimingReport::Item start-stop.

actual timer initialisation by initTiming(..) from PixelRecoUtilities. example usage: R2DTimerObserver tm("timer name"); .... { TimeMe t(tm.item(),false); ... } last_real = tm.lastMeasurement().real();

Definition at line 7 of file R2DTimerObserver.h.


Member Typedef Documentation

typedef TimingReport::ItemObserver::event R2DTimerObserver::TimerState [private]

Definition at line 19 of file R2DTimerObserver.h.


Constructor & Destructor Documentation

R2DTimerObserver::R2DTimerObserver (  )  [inline]

Definition at line 49 of file R2DTimerObserver.h.

00049 : timer_item(0), lastState(0,0) { }

R2DTimerObserver::R2DTimerObserver ( const std::string  name  )  [inline]

Definition at line 50 of file R2DTimerObserver.h.

References init().

00050 : lastState(0,0) { init( name) ; }


Member Function Documentation

void R2DTimerObserver::init ( const std::string &  name  )  [inline]

Definition at line 43 of file R2DTimerObserver.h.

References TimingReport::current(), TimingReport::Item::setObs(), TimingReport::Item::switchCPU(), and timer_item.

Referenced by R2DTimerObserver().

00043                                     {
00044     timer_item = &(*TimingReport::current())[name];
00045     timer_item->switchCPU(false);
00046     timer_item->setObs(this);
00047   }

TimingReport::Item& R2DTimerObserver::item (  )  [inline]

Definition at line 53 of file R2DTimerObserver.h.

References timer_item.

00053 { return *timer_item; }

const LastMeasurement& R2DTimerObserver::lastMeasurement (  )  [inline]

Definition at line 52 of file R2DTimerObserver.h.

References theMeasurement.

Referenced by SiPixelRawToDigi::produce().

00052 { return theMeasurement; }

virtual void R2DTimerObserver::operator() ( const TimerState timerState  )  [inline, private, virtual]

from base class

Definition at line 35 of file R2DTimerObserver.h.

References lastState, and theMeasurement.

00035                                                          {
00036     theMeasurement = LastMeasurement(timerState.first-lastState.first,
00037                                      timerState.second-lastState.second);
00038     lastState = timerState;
00039   }

void R2DTimerObserver::start ( void   )  [inline]

Definition at line 55 of file R2DTimerObserver.h.

References TimingReport::Item::start(), and timer_item.

Referenced by SiPixelRawToDigi::produce().

00055 { timer_item->start(); }

void R2DTimerObserver::stop (  )  [inline]

Definition at line 56 of file R2DTimerObserver.h.

References TimingReport::Item::stop(), and timer_item.

Referenced by SiPixelRawToDigi::produce().

00056 { timer_item->stop(); }


Member Data Documentation

TimerState R2DTimerObserver::lastState [private]

Definition at line 31 of file R2DTimerObserver.h.

Referenced by operator()().

LastMeasurement R2DTimerObserver::theMeasurement [private]

Definition at line 32 of file R2DTimerObserver.h.

Referenced by lastMeasurement(), and operator()().

TimingReport::Item* R2DTimerObserver::timer_item [private]

Definition at line 30 of file R2DTimerObserver.h.

Referenced by init(), item(), start(), and stop().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:30:37 2009 for CMSSW by  doxygen 1.5.4