// @(#)root/table:$Name: $:$Id: TDsKey.h,v 1.3 2004/02/13 14:27:00 rdm Exp $
// Author: Victor Perevoztchikov (perev@bnl.gov) 01/03/2001
/*************************************************************************
* Copyright (C) 1995-2001, Rene Brun and Fons Rademakers. *
* Copyright (C) 2001 [BNL] Brookhaven National Laboratory. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TDsKey
#define ROOT_TDsKey
#include "TString.h"
#include "TArrayI.h"
const UInt_t kUMAX = (UInt_t)(-1);
class TDsKey
{
private:
TString fName;
TArrayI fUrr;
public:
TDsKey(const char *name=0,UInt_t *uk=0,int nk=1);
TDsKey(const char *name,UInt_t uk);
TDsKey(UInt_t uRun,UInt_t uEvent=0);
virtual ~TDsKey(){}
virtual TDsKey &operator=( const TDsKey &from);
virtual TDsKey &operator=( UInt_t from);
virtual TDsKey &operator=( Int_t from){ *this=(UInt_t)from; return *this;}
virtual TDsKey &operator=( const char *from);
virtual Bool_t operator==(const TDsKey &from) const;
virtual UInt_t operator[](Int_t i) const { return (*(TArrayI *)(&fUrr))[i]; }
virtual void Update(const TDsKey &from,const char *name=0);
virtual void SetName(const char *name){fName=name;}
virtual const char *GetName() const {return fName;}
virtual TString GetKey() const;
virtual UInt_t EventNumber() const { return (*this)[1];}
virtual UInt_t RunNumber() const { return (*this)[0];}
virtual void SetKey(const char *key);
virtual void SetUrr(const UInt_t *key,int nk);
virtual UInt_t GetSum() const;
virtual Int_t EOK() const { return (UInt_t)(*(TArrayI *)(&fUrr))[0]==kUMAX;}
virtual Int_t IsNull() const { return !(*(TArrayI *)(&fUrr))[0];}
};
#endif
syntax highlighted by Code2HTML, v. 0.9.1