// =====================================================================
//  $Id: TRun.cc,v 1.4 2004/03/07 10:30:34 goiwai Exp $
//  $Name: CLDAQ-1-14-03 $
//  $Log: TRun.cc,v $
//  Revision 1.4  2004/03/07 10:30:34  goiwai
//  ROOTに組みこむためのおまじないマクロを埋めこみました。
//  全てにおいて完全に動作するわけではありません。
//
//  Revision 1.3  2003/10/06 17:02:45  goiwai
//  *** empty log message ***
//
//  Revision 1.2  2003/07/30 16:20:30  goiwai
//  ファイルにコミットログをつけることにしました.
//
// =====================================================================
#include "TRun.hh"
#include "TEventManager.hh"

TRun::TRun( Tint runid )
  : theRunID( runid ), theEventStack()
{
  theEventStack.clear();
}

TRun::TRun( const TEventStack& eventstack )
  : theRunID( 0 ), theEventStack( eventstack )
{;}

TRun::TRun( Tint runid, const TEventStack& eventstack )
  : theRunID( runid ), theEventStack( eventstack )
{;}

TRun::TRun( const TRun& right )
  : theRunID( right.theRunID ), theEventStack( right.theEventStack )
{;}

TRun::~TRun()
{;}

const TRun& TRun::operator=( const TRun& right )
{
  theRunID = right.theRunID;
  theEventStack = right.theEventStack;
  return *this;
}

Tbool TRun::operator==( const TRun& right ) const
{
  if ( theRunID == right.theRunID && theEventStack == right.theEventStack )
    return Ttrue;
  else
    return Tfalse;
}

Tbool TRun::operator!=( const TRun& right ) const
{
  if ( theRunID != right.theRunID || theEventStack != right.theEventStack )
    return Ttrue;
  else
    return Tfalse;
}

Tvoid TRun::Clear()
{
  theEventStack.clear();
  TEventManager::GetEventManager() -> SetNumberOfEvents( 0 );
  return;
}

Tstring TRun::GetStringRunID( Tint digits ) const
{
  return itostr( theRunID, digits );
}

#ifdef __CLDAQ_ROOT_DLL
    ClassImp(TRun)
#endif
