ROOT logo
AliRoot » MUON » AliMUONBusStruct

class AliMUONBusStruct: public TObject

 \class AliMUONBusStruct
 Bus patch structure for tracker raw data
 each Dsp contains at most 5 bus patch structure
 Beside the total length and length of the below data
 the header of the block contains the bus patch id, trigger words
 and data structure itself (11bits for manu id, 6 bits for channel id and
 12 bits for charge)

 \author Christian Finck

Function Members (Methods)

public:
AliMUONBusStruct()
AliMUONBusStruct(const AliMUONBusStruct& rhs)
virtual~AliMUONBusStruct()
voidTObject::AbstractMethod(const char* method) const
voidAddData(UInt_t d)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(Option_t* opt)
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tCompare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
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
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_tGetBlockId() const
Int_tGetBufSize() const
Int_tGetBusPatchId() const
UChar_tGetChannelId(Int_t n) const
UShort_tGetCharge(Int_t n) const
UInt_t*GetData() const
UInt_tGetData(Int_t n) const
Int_tGetDataKey() const
static UInt_tGetDefaultDataKey()
virtual Option_t*TObject::GetDrawOption() const
Int_tGetDspId() const
static Long_tTObject::GetDtorOnly()
Int_t*GetHeader()
static Int_tGetHeaderLength()
virtual const char*TObject::GetIconName() const
Int_tGetLength() const
UShort_tGetManuId(Int_t n) const
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
Char_tGetParity(Int_t n) const
virtual const char*TObject::GetTitle() const
Int_tGetTotalLength() const
virtual UInt_tTObject::GetUniqueID() const
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_tIsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
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)
AliMUONBusStruct&operator=(const AliMUONBusStruct& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
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 = "")
voidSetAlloc(Int_t size)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetBlockId(Int_t b)
voidSetBusPatchId(Int_t b)
voidSetData(UInt_t d, Int_t n)
voidSetDataKey(Int_t d)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
voidSetDspId(Int_t d)
static voidTObject::SetDtorOnly(void* obj)
voidSetLength(Int_t l)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetTotalLength(Int_t l)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
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()
private:
virtual voidPrint(Option_t* opt) const
voidResizeData(Int_t size = 0)

Data Members

private:
Int_tfBlkId/< block numer for monitoring
Int_tfBufSize/< initial size for data array
Int_tfBusPatchId/< bus patch id
UInt_t*fData/< data
Int_tfDataKey/< Data key word for bus patch header
Int_tfDspId/< Dsp number for monitoring
Int_tfLength/< length of raw data
Int_tfTotalLength/< total length of buspatch structure
static const UInt_tfgkDefaultDataKey/< default data key word for Bus Patch Header
static const Int_tfgkHeaderLength/< header length in word
static const Int_tfgkManuNofChannels/< max number of channels per manu;

Class Charts

Inheritance Chart:
TObject
AliMUONBusStruct

Function documentation

AliMUONBusStruct()
 assuming 43 manus max per bustpatch.
Anyway fData is resized where needed (though it makes it slower) 

 ctor

~AliMUONBusStruct()
 dtor

void SetAlloc(Int_t size)
 Allocate size
 return if size < fBufSize

void AddData(UInt_t d)
 could have used class from ROOT
 but the structure must be as simple as possible
 to be written on disc blockwise, not so sure ?
void ResizeData(Int_t size = 0)
 In case of resizing the vector
 the most simplest way to do it

operator=(const AliMUONBusStruct& rhs)
 assignment operator

Int_t Compare(const TObject* obj) const
 sort bus patch by bus patch number
 important for AliMUONRawWriter

void Clear(Option_t* opt)
 clear
 delete the allocated memory

UInt_t GetData(Int_t n) const
 get data

Char_t GetParity(Int_t n) const
 get parity

UShort_t GetManuId(Int_t n) const
 get manu Id

UChar_t GetChannelId(Int_t n) const
 get channel Id

UShort_t GetCharge(Int_t n) const
 get charge (in ADC)

void Print(Option_t* opt) const
 print out
AliMUONBusStruct()
Int_t GetHeaderLength()
 Return header length in word
{return fgkHeaderLength;}
UInt_t GetDefaultDataKey()
 Return default data key word for Bus Patch Header
Int_t GetDataKey() const
 header
 Return Data key word for bus patch header
{return fDataKey;}
Int_t GetTotalLength() const
 Return total length of buspatch structure
{return fTotalLength;}
Int_t GetLength() const
 Return length of raw data
{return fLength;}
Int_t GetBusPatchId() const
 Return bus patch id
{return fBusPatchId;}
Int_t* GetHeader()
 Return header
{return &fDataKey;}
Int_t GetBufSize() const
 data
 Return initial size for data array
{return fBufSize;}
UInt_t* GetData() const
 Return data
{return fData;}
Int_t GetBlockId() const
 Return block numer for monitoring
{return fBlkId;}
Int_t GetDspId() const
 Return Dsp number for monitoring
{return fDspId;}
void SetDataKey(Int_t d)
 header setter
 Set Data key word for bus patch header
{fDataKey = d;}
void SetTotalLength(Int_t l)
 Set total length of buspatch structure
void SetLength(Int_t l)
 Set length of raw data
{fLength = l;}
void SetBusPatchId(Int_t b)
 Set bus patch id
void SetData(UInt_t d, Int_t n)
 data
 Set data
{fData[n] = d;}
void SetBlockId(Int_t b)
 Set block numer for monitoring
{fBlkId = b;}
void SetDspId(Int_t d)
 Set Dsp number for monitoring
{fDspId = d;}
Bool_t IsSortable() const
 TClonesArray
 Return true as  Compare() is implemented
{return kTRUE;}