// ============================================================================ // $Id$ // $Name$ // ============================================================================ #ifndef __TSOFTWARETIMERMODULE_HH #define __TSOFTWARETIMERMODULE_HH #include "TGlobals.hh" #include "TSoftwareModule.hh" class TDataSegment; class TDataElement; class TSoftwareTimerModule : public TSoftwareModule { public: enum { tIntervalTime, tCurrentTime, tPreviousTime, tUnit, tNumberOfChannels }; private: Tdouble theIntervalTime; Tdouble theCurrentTime; Tdouble thePreviousTime; Tstring theUnit; public: TSoftwareClockModule( const Tstring& unit = Tmsec, Tint nchannel = tNumberOfChannels, Tint id = tIDunknown ); ~TSoftwareClockModule(); public: Tint Clear(); Tint Update(); Tint Initialize(); Tvoid FillData( TDataSegment* seg ); Tvoid FillData( TDataElement* ele ); Tvoid Print( Tostream& tos = Tstd::Tcout ) const; public: inline Tdouble GetIntervalTime() const; inline Tdouble GetCurrentTime() const; inline Tdouble GetPreviousTime() const; inline const Tstring& GetUnit() const; inline Tvoid SetIntervalTime( Tdouble interval ); inline Tvoid SetCurrentTime( Tdouble current ); inline Tvoid SetPreviousTime( Tdouble previous ); inline Tvoid SetUnit( const Tstring& unit ); private: Tvoid setCurrentTime(); }; inline Tdouble TSoftwareTimerModule::GetIntervalTime() const { return( theIntervalTime ); } inline Tdouble TSoftwareTimerModule::GetCurrentTime() const { return( theCurrentTime ); } inline Tdouble TSoftwareTimerModule::GetPreviousTime() const { return( thePreviousTime ); } inline const Tstring& TSoftwareTimerModule::GetUnit() const { return( theUnit ); } inline Tvoid TSoftwareTimerModule::SetIntervalTime( Tdouble interval ) { theIntervaleTime = interval; return; } inline Tvoid TSoftwareTimerModule::SetCurrentTime( Tdouble current ) { theCurrentTime = current; return; } inline Tvoid TSoftwareTimerModule::SetPreviousTime( Tdouble previous ) { thePreviousTime = previous; return; } inline Tvoid TSoftwareTimerModule::SetUnit( const Tstring& unit ) { theUnit = unit; return; } #endif