TSoftwareTimerModule.hh

TSoftwareTimerModuleクラスの解説 TSoftwareTimerModule.cc
// ============================================================================
//  $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
$Id$
$Name$