class HMdcDataWord: public TObject

_HADES_CLASS_DESCRIPTION


 HMdcDataWord

 Raw Data object of MDC. Decoding of the data word is done here
 by masking out the single informations from the 32bit data word.
 This class is used by HMdcUnpacker to decode the streamed
 input data from hld to HMdcRaw object data level. A consistency check
 of the range of the single variables is performed here.

 File: $RCSfile: hmdcdataword.cc,v $

 Former Author: Walter Karig <W.Karig@gsi.de>
 Meanwhile Peter Zumbruch <P.Zumbruch@gsi.de>

 Version: $Revision: 1.22 $
 Modified by $Author: wuestenf $ on $Date: 2008-02-14 14:50:47 $

Function Members (Methods)

public:
HMdcDataWord()
HMdcDataWord(const HMdcDataWord&)
virtual~HMdcDataWord()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
Bool_tcheckConsistency(UInt_t version = 0, UInt_t data = 0)
Bool_tcheckConsistencyRocHeader(UInt_t version = 0)
static TClass*Class()
virtual const char*TObject::ClassName() const
voidclear()
virtual voidTObject::Clear(Option_t* = "")
voidclearAddress()
voidclearAll()
voidclearHeader()
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
Bool_tdecode(const UInt_t data, Bool_t consisCheck = kFALSE)
Bool_tdecode(const UInt_t data, UInt_t version, Bool_t consisCheck = kFALSE)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
voiddump(UInt_t version = 1)
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Int_tgetBus()
Int_tgetChan()
UInt_tgetCodedDataWord(UInt_t version = 1)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Int_tgetErrorFlag()
Int_tgetEvNb()
Int_tgetHit()
virtual const char*TObject::GetIconName() const
Int_tgetMbo()
Int_tgetMboNb()
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Bool_tgetQuietMode()
Int_tgetRoc()
Int_tgetRocNb()
Int_tgetRocP()
Int_tgetSam()
Int_tgetSamP()
Int_tgetSizeStatus()
Int_tgetSubEvtSize()
Int_tgetTdc()
Int_tgetTdcNb()
Int_tgetTime()
virtual const char*TObject::GetTitle() const
Int_tgetTrigType()
virtual UInt_tTObject::GetUniqueID() const
Int_tgetVirtualSamNr()
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
HMdcDataWord&operator=(const HMdcDataWord&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
voidprint()
voidprint(UInt_t version)
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidsetAddress(Int_t s, Int_t m, Int_t mb, Int_t t, Int_t e)
voidsetAdress(Int_t s, Int_t m, Int_t mb, Int_t t, Int_t e)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidsetBus(Int_t i)
voidsetChan(Int_t i)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidsetErrorFlag(Int_t i)
voidsetEvNb(Int_t i)
voidsetHit(Int_t i)
voidsetMbo(Int_t i)
voidsetMboNb(Int_t i)
static voidTObject::SetObjectStat(Bool_t stat)
voidsetQuietMode(Bool_t b = kTRUE)
voidsetRoc(Int_t i)
voidsetRocNb(Int_t i)
voidsetRocP(Int_t i)
voidsetSam(Int_t i)
voidsetSamP(Int_t i)
voidsetSizeStatus(Int_t i)
voidsetSubEvtSize(Int_t i)
voidsetTdc(Int_t i)
voidsetTdcNb(Int_t i)
voidsetTime(Int_t i)
voidsetTrigType(Int_t i)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
Bool_tsubHeader(const UInt_t* data, Bool_t consisCheck = kFALSE)
Bool_tsubHeader(const UInt_t* data, UInt_t version, Bool_t consisCheck = kFALSE)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
enum { m1
m2
m3
m4
m5
m11
m16
m31
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
Int_tchanchannel number
Int_tentryNumber of entry
Int_terrorFlagerror flag
Int_tevNbevent number
Int_thithit number (modulo 2)
Int_tmboMdcRaw container coordinate: mbo
Int_tmboNbmbo position
Int_tmoduleMdcRaw container coordinate: module
static Bool_tnoComment! switch all prints of;
Int_trocroc number
Int_trocNbroc number
Int_trocProc position (LVL1 port 0/1)
Int_tsamsam number
Int_tsamPsam position (x/y)
Int_tsectorMdcRaw container coordinate: sector
Int_tsubevtSizesubevent size
Int_ttdcMdcRaw container coordinate: tdc (tdc*8 + channel)
Int_ttdcNbtdc number
Int_ttimetime
Int_ttrigTypetrigger type

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HMdcDataWord()
Bool_t decode(const UInt_t data, UInt_t version, Bool_t consisCheck = kFALSE)
 decoding of the 32 bit data word. version sets the
 different decode version. A consistency check of the data
 word is performed optionally (consistencyCheck=kTRUE).
UInt_t getCodedDataWord(UInt_t version = 1)
 recoding of the 32 bit data word. version sets the
 different decode version.
void dump(UInt_t version = 1)
 dumps the event sequence number to the screen.
Bool_t subHeader(const UInt_t* data, UInt_t version, Bool_t consisCheck = kFALSE)
 decodes the subheader information of the mdc data word
version sets the different decode version. A consistency check of the data
 word is performed optionally (consistencyCheck=kTRUE).
Bool_t checkConsistency(UInt_t version = 0, UInt_t data = 0)
 checks for the different decoding version whether the decoded value are consistent.
 I.e. that
             sam in [ 0,   31]
    sam position in [ 0,    1]
             roc in [ 1,    5]
    roc position in [ 0,    1]
           mboNb in [ 1,    3]
           tdcNb in [ 0,   11]
        channels in [ 0,    7]
 hits (module 2) in [ 0,    1]
            time in [ 0,0x7ff] (only here hex value!)

 NOTE: boundaries are the same for version 0 and 1, all other are not supported

 return values:
  kTRUE all checks passed
  kFALSE else
Bool_t checkConsistencyRocHeader(UInt_t version = 0)
 boundary checks for the consistency of the roc header
 I.e. that
  event number in [ 0x0,0xffff]
 subevent size in [ 0x0,0xffff]
  trigger type in [ 0x1,0xf]
    roc number in [ 0x1,0x5]
     errorFlag in [ 0x0,0xf]

 NOTE: boundaries are the same for version 0 and 1, all other are not supported

 return values:
  kTRUE all checks passed
  kFALSE else
void print(UInt_t version)
HMdcDataWord()
~HMdcDataWord()
{;}
void clear()
{sam=samP=roc=rocP=mboNb=tdcNb=chan=hit=time=-1;}
void clearAll()
{clear();clearHeader();clearAddress();}
void clearAddress()
{sector=module=mbo=tdc=-1;}
void clearHeader()
{evNb=subevtSize=trigType=rocNb=errorFlag=-1;}
Bool_t decode(const UInt_t data, UInt_t version, Bool_t consisCheck = kFALSE)
Int_t getEvNb()
 selectors sub-header
{ return evNb;}
Int_t getTrigType()
{ return trigType;}
Int_t getErrorFlag()
{ return errorFlag;}
Int_t getSizeStatus()
{ return errorFlag;}
Int_t getSubEvtSize()
{ return subevtSize;}
Int_t getRocNb()
{ return rocNb;}
Int_t getSam()
 selectors data-word
{ return sam;}
Int_t getSamP()
{ return samP;}
Int_t getRoc()
{ return roc;}
Int_t getRocP()
{ return rocP;}
Int_t getBus()
{ return mboNb;}
Int_t getMbo()
{ return mboNb;}
Int_t getMboNb()
{ return mboNb;}
Int_t getTdc()
{ return tdcNb;}
Int_t getTdcNb()
{ return tdcNb;}
Int_t getChan()
{ return chan;}
Int_t getHit()
{ return hit;}
Int_t getTime()
{ return time;}
Int_t getVirtualSamNr()
{return ((sam*2 + samP) -1);}
Bool_t getQuietMode()
{return noComment;}
void print(UInt_t version)
void setAdress(Int_t s, Int_t m, Int_t mb, Int_t t, Int_t e)
{setAddress(s,m,mb,t,e);}
void setAddress(Int_t s, Int_t m, Int_t mb, Int_t t, Int_t e)
 set selectors sub-header
{sector=s;module=m;mbo=mb;tdc=t;entry=e;}
void setEvNb(Int_t i)
{ evNb = i;}
void setTrigType(Int_t i)
{ trigType = i;}
void setErrorFlag(Int_t i)
{ errorFlag = i;}
void setSizeStatus(Int_t i)
{ errorFlag = i;}
void setSubEvtSize(Int_t i)
{ subevtSize = i;}
void setRocNb(Int_t i)
{ rocNb = i;}
void setSam(Int_t i)
 set selectors data-word
{ sam = i;}
void setSamP(Int_t i)
{ samP = i;}
void setRoc(Int_t i)
{ roc = i;}
void setRocP(Int_t i)
{ rocP = i;}
void setBus(Int_t i)
{ mboNb = i;}
void setMbo(Int_t i)
{ mboNb = i;}
void setMboNb(Int_t i)
{ mboNb = i;}
void setTdc(Int_t i)
{ tdcNb = i;}
void setTdcNb(Int_t i)
{ tdcNb = i;}
void setChan(Int_t i)
{ chan = i;}
void setHit(Int_t i)
{ hit = i;}
void setTime(Int_t i)
{ time = i;}
void setQuietMode(Bool_t b = kTRUE)
{noComment=b;}
Bool_t subHeader(const UInt_t* data, UInt_t version, Bool_t consisCheck = kFALSE)

Last change: Sat May 22 13:01:21 2010
Last generated: 2010-05-22 13:01

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.