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

TMatrixElement::TMatrixElement( const Tstring& idstr, Tobject_t objecttype, Tint ndata, Tint ntuple )
  : TDataMultiplicity( ndata, ntuple ), theMatrixID( idstr ), 
    theObjectType( objecttype )
{;}

TMatrixElement::TMatrixElement( const TMatrixElement& right )
  : TDataMultiplicity( right ), theMatrixID( right.theMatrixID ),
    theObjectType( right.theObjectType )
{;}

TMatrixElement::~TMatrixElement()
{;}

const TMatrixElement& TMatrixElement::operator=( const TMatrixElement& right )
{
  *( (TDataMultiplicity*)this ) = *( (TDataMultiplicity*)(&right) );
  theMatrixID = right.theMatrixID;
  theObjectType = right.theObjectType;
  return *this;
}

Tbool TMatrixElement::operator==( const TMatrixElement& right ) const
{
  Tbool retval = Ttrue;
  retval &= ( *( (TDataMultiplicity*)this ) == *( (TDataMultiplicity*)(&right) ) );
  retval &= ( theMatrixID == right.theMatrixID );
  retval &= ( theObjectType == right.theObjectType );
  return retval;
}

Tbool TMatrixElement::operator!=( const TMatrixElement& right ) const
{
  Tbool retval = Tfalse;
  retval |= !( ( *( (TDataMultiplicity*)this ) == *( (TDataMultiplicity*)(&right) ) ) );
  retval |= ( theMatrixID != right.theMatrixID );
  retval |= ( theObjectType != right.theObjectType );
  return retval;
}

#ifdef __CLDAQ_ROOT_DLL
    ClassImp(TMatrixElement)
#endif
