#ifndef HMDCDATAWORD_H
#define HMDCDATAWORD_H
#include "hmdcdef.h"
class HMdcDataWord : public TObject {
private:
enum { m1=0x1, m2=0x3, m3=0x7, m4=0xf, m5=0x1f, m11=0x7ff, m16=0xffff, m31=0x7fffffff};
Int_t evNb;
Int_t rocNb;
Int_t trigType;
Int_t errorFlag;
Int_t subevtSize;
Int_t sam;
Int_t samP;
Int_t roc;
Int_t rocP;
Int_t mboNb;
Int_t tdcNb;
Int_t chan;
Int_t hit;
Int_t time;
Int_t sector;
Int_t module;
Int_t mbo;
Int_t tdc;
Int_t entry;
static Bool_t noComment;
public:
HMdcDataWord();
~HMdcDataWord(){;};
Bool_t checkConsistency(UInt_t version=0, UInt_t data=0);
Bool_t checkConsistencyRocHeader(UInt_t version=0);
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);
Bool_t decode(const UInt_t data, Bool_t consisCheck=kFALSE)
{
return decode(data, 0, consisCheck);
};
void dump(UInt_t version=1);
Int_t getEvNb(){ 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(){ 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);};
UInt_t getCodedDataWord( UInt_t version = 1);
Bool_t getQuietMode(){return noComment;};
void print(UInt_t version);
void print(void){print(1);};
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){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){ 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);
Bool_t subHeader(const UInt_t* data, Bool_t consisCheck=kFALSE)
{
return subHeader(data, 0, consisCheck);
};
ClassDef(HMdcDataWord, 2)
};
#endif /* ! HMDCDATAWORD */
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.