ROOT logo
AliRoot » TRD » AliTRDrawData

class AliTRDrawData: public TObject


TRD raw data conversion class


Function Members (Methods)

public:
AliTRDrawData()
AliTRDrawData(const AliTRDrawData& r)
virtual~AliTRDrawData()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Bool_tDigits2Raw(TTree* digits, const TTree* tracks = NULL)
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
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() 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
virtual const char*TObject::GetTitle() const
UInt_tGetTriggerFlags(const Int_t sector) 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_tTObject::IsSortable() 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)
AliTRDrawData&operator=(const AliTRDrawData&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual AliTRDdigitsManager*Raw2Digits(AliRawReader* rawReader)
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 = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetTracklets(TClonesArray*)
voidSetTracks(TClonesArray*)
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:
Int_tAddStackIndexWords(UInt_t* buf, Int_t nStack, Int_t nMax)
voidAssignLinkMask(UInt_t* buf, Int_t nLayer)
voidAssignStackMask(UInt_t* buf, Int_t nStack)
virtual Bool_tDigits2Raw(AliTRDdigitsManager* digitsManager)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
virtual Int_tProduceHcData(AliTRDarrayADC* digits, Int_t side, Int_t det, UInt_t* buf, Int_t maxSize, Bool_t newEvent, Bool_t newSM)
voidProduceSMIndexData(UInt_t* buf, Int_t& nw)
Bool_tShiftWords(UInt_t* buf, Int_t nStart, Int_t nWords, Int_t nMax)
voidWriteIntermediateWords(UInt_t* buf, Int_t& nw, Int_t& of, const Int_t& maxSize, const Int_t& det, const Int_t& side)

Data Members

protected:
AliTRDfeeParam*fFee! Fee Parameters
AliTRDgeometry*fGeo! Geometry
Int_tfNumberOfDDLsNumber of DDLs
AliRunLoader*fRunLoader! Run Loader
TTree*fTrackletTree! Tree for tracklets
TClonesArray*fTracklets! Array of online tracklets
TClonesArray*fTracks! Array of GTU tracks
private:
AliTRDdigitsParam*fDigitsParamDigits parameter
UInt_tfEventCounterEvent counter(starting from 1)
AliTRDmcmSim*fMcmSim! MCM simulation for raw data output
Int_tfSMindexPosPosition of SM index word
Int_tfStackindexPosPosition of SM index word
UInt_tfTrgFlags[18]trigger flags
static Int_tfgDataSuppressionLevelData suppression level - 0:no su, 1: su, 2: deep suppression
static const UInt_tfgkEndOfDataMarkerThis marks the end of HC data words
static const UInt_tfgkEndOfTrackletMarkerThis marks the end of tracklet data words

Class Charts

Inheritance Chart:
TObject
AliTRDrawData

Function documentation

AliTRDrawData()
 Default constructor

AliTRDrawData(const AliTRDrawData& r)
 Copy constructor

~AliTRDrawData()
 Destructor

Bool_t Digits2Raw(TTree* digits, const TTree* tracks = NULL)
 Initialize necessary parameters and call one
 of the raw data simulator selected by SetRawVersion.

 Currently tracklet output is not spported yet and it
 will be supported in higher version simulator.

Bool_t Digits2Raw(AliTRDdigitsManager* digitsManager)
 Raw data simulator for all versions > 0. This is prepared for real data.
 This version simulate only raw data with ADC data and not with tracklet.

void ProduceSMIndexData(UInt_t* buf, Int_t& nw)
 This function generates
 	 1) SM index words : ssssssss ssssssss vvvv rrrr r d t mmmmm
 	    - s : size of SM header (number of header, default = 0x0001)
 	    - v : SM header version (default = 0xa)
 	    - r : reserved for future use (default = 00000)
 	    - d : track data enabled bit (default = 0)
 	    - t : tracklet data enabled bit (default = 1)
 	    - m : stack mask (each bit corresponds a stack, default = 11111)

 	 2) SM header : rrr c vvvv vvvvvvvv vvvv rrrr bbbbbbbb
 	    - r : reserved for future use (default = 000)
 	    - c : clean check out flag (default = 1)
 	    - v : hardware design revision (default = 0x0404)
 	    - r : reserved for future use (default = 0x0)
 	    - b : physical board ID (default = 0x71)

 	 3) stack index words : ssssssss ssssssss vvvv mmmm mmmmmmmm
 	    - s : size of stack header (number of header, (default = 0x0007)
 	    - v : header version (default = 0xa)
 	    - m : link mask (default = 0xfff)

 	 4) stack header : vvvvvvvv vvvvvvvv bbbbbbbb rrrr rrr c
 	    - v : hardware design revision (default = 0x0404)
 	    - b : physical board ID (default = 0x5b)
 	    - r : reserved for future use (default = 0000 000)
 	    - c : clean checkout flag (default = 1)

 	 and 6 dummy words(0x00000000)

void AssignStackMask(UInt_t* buf, Int_t nStack)
 This function re-assign stack mask active(from 0 to 1) in the SM index word

Int_t AddStackIndexWords(UInt_t* buf, Int_t nStack, Int_t nMax)
 This function add stack index words and stack header when there is data for the stack

   1) stack index words : ssssssss ssssssss vvvv mmmm mmmmmmmm
      - s : size of stack header (number of header, (default = 0x0007)
      - v : header version (default = 0xa)
      - m : link mask (default = 0xfff)
      - m : link mask (starting value = 0x000)

   2) stack header : vvvvvvvv vvvvvvvv bbbbbbbb rrrr rrr c
      - v : hardware design revision (default = 0x0404)
      - b : physical board ID (default = 0x5b)
      - r : reserved for future use (default = 0000 000)
      - c : clean checkout flag (default = 1)

   and 6 dummy words(0x00000000)

void AssignLinkMask(UInt_t* buf, Int_t nLayer)
 This function re-assign link mask active(from 0 to 1) in the stack index word

Bool_t ShiftWords(UInt_t* buf, Int_t nStart, Int_t nWords, Int_t nMax)
 This function shifts n words

if ( nStart+nWords > sizeof(buf)/sizeof(UInt_t) ){
  AliError("Words shift failed. No more buffer space.");
  return kFALSE;
}
Int_t ProduceHcData(AliTRDarrayADC* digits, Int_t side, Int_t det, UInt_t* buf, Int_t maxSize, Bool_t newEvent, Bool_t newSM)
 This function produces the raw data for one HC, i.e. tracklets, tracklet endmarkers,
 raw data, raw data endmarkers.
 This function can be used for both ZS and NZS data

AliTRDdigitsManager * Raw2Digits(AliRawReader* rawReader)
 Vx of the raw data reading

void WriteIntermediateWords(UInt_t* buf, Int_t& nw, Int_t& of, const Int_t& maxSize, const Int_t& det, const Int_t& side)
 write tracklet end marker(0x10001000)
 and half chamber headers(H[0] and H[1])

AliTRDrawData & operator=(const AliTRDrawData& )
{ return *this; }
void SetTracklets(TClonesArray* )
{ AliError("Deprecated, not doing anything."); }
void SetTracks(TClonesArray* )
{ AliError("Deprecated, not doing anything"); }
UInt_t GetTriggerFlags(const Int_t sector) const
{ return fTrgFlags[sector]; }