ROOT logo
AliRoot » ITS » AliITSRawStreamSPD

class AliITSRawStreamSPD: public AliITSRawStream


 This class provides access to ITS SPD digits in raw data.


Function Members (Methods)

public:
AliITSRawStreamSPD(AliRawReader* rawReader)
AliITSRawStreamSPD(const AliITSRawStreamSPD& rstream)
virtual~AliITSRawStreamSPD()
voidTObject::AbstractMethod(const char* method) const
voidActivateAdvancedErrorLog(Bool_t activate, AliITSRawStreamSPDErrorLog* advLogger = NULL)
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 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
AliITSRawStreamSPDErrorLog*GetAdvancedErrorLog()
virtual Int_tAliITSRawStream::GetCarlosId() const
virtual Int_tAliITSRawStream::GetChannel() const
UShort_tGetChipAddr() const
Int_tGetChipCol() const
Int_tGetChipRow() const
Int_tGetColumn() const
Int_tAliITSRawStream::GetCoord1() const
Int_tAliITSRawStream::GetCoord2() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
static const Char_t*GetErrorName(UInt_t errorCode)
Int_tGetEventCounter() const
Short_tGetEventCounterFullChip(UInt_t eq, UInt_t hs, UInt_t chip) const
Short_tGetEventCounterFullEq(UInt_t eq) const
Short_tGetEventCounterFullHS(UInt_t eq, UInt_t hs) const
Bool_tGetFastOrSignal(UInt_t eq, UInt_t hs, UInt_t chip)
UInt_tGetFOHchipCount(UInt_t hs, UInt_t chip) const
Bool_tGetFOHchipPresent(UInt_t hs, UInt_t chip) const
UInt_tGetFOHdacIndex(UInt_t index) const
UInt_tGetFOHdacValue(UInt_t index) const
UInt_tGetFOHglobalDBversion() const
UInt_tGetFOHMatrixID() const
UInt_tGetFOHnumDacs() const
UInt_tGetFOHpixelCol() const
UInt_tGetFOHpixelRow() const
UInt_tGetFOHrouterNr() const
UInt_tGetFOHtriggers() const
UInt_tGetFOHtype() const
UShort_tGetHalfStaveNr() const
Bool_tGetHalfStavePresent(UInt_t hs)
Bool_tGetHchipPresent(UInt_t hs, UInt_t chip) const
UInt_tGetHdacEnd() const
UInt_tGetHdacHigh(UInt_t hs) const
UInt_tGetHdacId() const
UInt_tGetHdacLow(UInt_t hs) const
UInt_tGetHdacStart() const
UInt_tGetHdacStep() const
UInt_tGetHdacValue() const
Bool_tGetHdataFormat() const
UInt_tGetHglobalDBversion() const
Bool_tGetHhalfStaveScanned(UInt_t hs) const
Bool_tGetHminTHchipPresent(UInt_t chip) const
UInt_tGetHrouterNr() const
UInt_tGetHrowEnd() const
UInt_tGetHrowSpan() const
UInt_tGetHrowStart() const
UInt_tGetHrowValue() const
UInt_tGetHTPAmp(UInt_t hs) const
UInt_tGetHtriggers() const
UInt_tGetHtype() const
Int_tGetHword(UInt_t index)
virtual const char*TObject::GetIconName() const
virtual Int_tAliITSRawStream::GetJitter() const
Int_tAliITSRawStream::GetModuleID() const
static Int_tGetModuleNumber(UInt_t iDDL, UInt_t iModule)
static Int_tGetModuleNumber(UInt_t iDDL, UInt_t iHS, UInt_t iChip)
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
static UInt_tGetOfflineChipKeyFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip)
static UInt_tGetOfflineColFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip, UInt_t col)
static UInt_tGetOfflineModuleFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip)
static UInt_tGetOfflineRowFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip, UInt_t row)
static UInt_tGetOnlineChipFromOffline(UInt_t module, UInt_t colM)
static UInt_tGetOnlineColFromOffline(UInt_t module, UInt_t colM)
static UInt_tGetOnlineEqIdFromOffline(UInt_t module)
static UInt_tGetOnlineHSFromOffline(UInt_t module)
static UInt_tGetOnlineRowFromOffline(UInt_t module, UInt_t rowM)
virtual Option_t*TObject::GetOption() const
Int_tAliITSRawStream::GetPrevModuleID() const
Int_tGetRow() const
Int_tAliITSRawStream::GetSignal() const
virtual const char*TObject::GetTitle() 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
Bool_tIsActiveChip(UInt_t eq, UInt_t hs, UInt_t chip) const
Bool_tIsActiveEq(UInt_t eq) const
Bool_tIsActiveHS(UInt_t eq, UInt_t hs) const
virtual Bool_tAliITSRawStream::IsCompletedDDL() const
virtual Bool_tAliITSRawStream::IsCompletedModule() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
Bool_tIsEventCounterFullConsistent() const
virtual Bool_tTObject::IsFolder() const
Bool_tAliITSRawStream::IsNewModule() 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_tNext()
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static Bool_tOfflineToOnline(UInt_t module, UInt_t colM, UInt_t RowM, UInt_t& eq, UInt_t& hs, UInt_t& chip, UInt_t& col, UInt_t& row)
static Bool_tOnlineToOffline(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row, UInt_t& module, UInt_t& colM, UInt_t& rowM)
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)
AliITSRawStreamSPD&operator=(const AliITSRawStreamSPD& rstream)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual Int_tReadCalibHeader()
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 = "")
virtual voidAliITSRawStream::SetADCEncoded(Bool_t)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidAliITSRawStream::SetDDLModuleMap(AliITSDDLModuleMapSDD*)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidAliITSRawStream::SetZeroSuppLowThreshold(Int_t, Int_t, Int_t)
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()

Data Members

public:
enum { kDDLsNumber
kModulesPerDDL
kCalHeadLenMax
};
enum ESPDRawStreamError { kTotal
kHeaderMissingErr
kTrailerMissingErr
kTrailerWithoutHeaderErr
kHeaderCountErr
kTrailerCountErr
kFillUnexpectErr
kFillMissingErr
kWrongFillWordErr
kNumberHitsErr
kEventCounterErr
kDDLNumberErr
kHSNumberErr
kChipAddrErr
kCalHeaderLengthErr
kAdvEventCounterErr
kAdvEventCounterOrderErr
kTrailerErrorBitErr
kLinkRxDetectorFatalErr
kTSMtriggerErr
kHighMultiplicityFlag
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Bool_tAliITSRawStream::fCompletedDDLset to kTRUE when all data from a DDL (SDD) are read
Bool_tAliITSRawStream::fCompletedModuleset to kTRUE when all data from a module (SDD) are read
Int_tAliITSRawStream::fCoord1current 1st coordinate
Int_tAliITSRawStream::fCoord2current 2nd coordinate
Int_tAliITSRawStream::fModuleIDindex of current module
Int_tAliITSRawStream::fPrevModuleIDindex of previous module
AliRawReader*AliITSRawStream::fRawReaderobject for reading the raw data
Int_tAliITSRawStream::fSignalsignal in ADC counts
private:
Bool_tfActiveChip[20][6][10]which chips are active (found in data)
Bool_tfActiveEq[20]which equipments are active (found in data)
Bool_tfActiveHS[20][6]which half-staves are active (blockattribute bits)
AliITSRawStreamSPDErrorLog*fAdvLoggerpointer to special error logger object
Bool_tfAdvancedErrorLogis the advanced error logging activated?
UInt_tfCalHeadLencalibration header length
Bool_tfCalHeadRead[20]calibration header read flags (reset at new event)
UInt_tfCalHeadWord[64]calibration header words
UShort_tfChipAddrchip nr
UInt_tfColchip column nr
Int_tfDDLIDddl id
UShort_tfData16 bit data word read
UChar_tfDataChar1
UChar_tfDataChar2
UChar_tfDataChar3
UChar_tfDataChar4temps part of a 32bit word
UInt_tfEqPLBytesReadbytes read for current equipment payload
UInt_tfEqPLChipHeadersReadnumber of chip headers found in current equipment payload
UInt_tfEqPLChipTrailersReadnumber of chip trailers found in current equipment payload
Int_tfEventCounterchip event counter
Short_tfEventCounterFull[20][6][10]chip event counter
UInt_tfExpectedHeaderTrailerCountexpected number of headers and trailers for the current equipment payload
Bool_tfFastOrSignal[20][6][10]fastor signal bit (one per chip)
Bool_tfFillOutOfSynchhas a fill word been put in the wrong place?
Bool_tfFirstWordkeeps track of which of the two 16bit words out of the 32bit word to read when ReadNextShort is called
UShort_tfHalfStaveNrhalf stave nr
Bool_tfHeaderOrTrailerReadLastin previous words, was a header (true) or a trailer (false) read last
UInt_tfHitCountcounter of hits
Int_tfLastDDLIDddl id for equipment read in previous words
UInt_tfOffsetoffset for cell column
UInt_tfPrevEventIdprevious event id (needed to know if there is a new event)
UInt_tfRowchip row nr
static const Int_tfgkDDLModuleMap[20][12]mapping DDL/module -> module number

Class Charts

Inheritance Chart:
TObject
AliITSRawStream
AliITSRawStreamSPD

Function documentation

AliITSRawStreamSPD(AliRawReader* rawReader)
 create an object to read ITS SPD raw digits
AliITSRawStreamSPD(const AliITSRawStreamSPD& rstream)
 copy constructor
AliITSRawStreamSPD& operator=(const AliITSRawStreamSPD& rstream)
 assignment operator
Bool_t ReadNextShort()
 read next 16 bit word into fData
Bool_t ReadNextInt()
 reads next 32 bit into fDataChar1..4
 (if first 16 bits read already, just completes the present word)
void NewEvent()
 call this to reset flags for a new event
Int_t ReadCalibHeader()
 needs to be called in the beginning of each equipment data
 read the extra calibration header
 returns the length of the header if it is present, -1 otherwise
Bool_t Next()
 read the next raw digit
 returns kFALSE if there is no digit left
void CheckHeaderAndTrailerCount(Int_t ddlID)
 Checks that the number of header and trailers found for the ddl are as expected
void ActivateAdvancedErrorLog(Bool_t activate, AliITSRawStreamSPDErrorLog* advLogger = NULL)
 Activate the advanced error logging.
 Logger object has to be created elsewhere and a pointer sent here.
const Char_t* GetErrorName(UInt_t errorCode)
 Returns a string for each error code
Bool_t GetFastOrSignal(UInt_t eq, UInt_t hs, UInt_t chip)
 returns if there was a fastor signal from this chip
Bool_t IsActiveEq(UInt_t eq) const
 returns if the eq is active (seen in data)
Bool_t IsActiveHS(UInt_t eq, UInt_t hs) const
 returns if the hs is active (info from block attr)
Bool_t IsActiveChip(UInt_t eq, UInt_t hs, UInt_t chip) const
 returns if the chip is active (seen in data)
Bool_t GetHalfStavePresent(UInt_t hs)
 Reads the half stave present status from the block attributes
 This is not really needed anymore (kept for now in case it is still used somewhere).
 The same information can be reached through the "IsActiveHS" method instead.
Bool_t IsEventCounterFullConsistent() const
 checks if the event counter values are consistent within the event
Short_t GetEventCounterFullEq(UInt_t eq) const
 if the eq is active; returns the event counter value
Short_t GetEventCounterFullHS(UInt_t eq, UInt_t hs) const
 if the eq,hs is active; returns the event counter value
Short_t GetEventCounterFullChip(UInt_t eq, UInt_t hs, UInt_t chip) const
 if the eq,hs,chip is active; returns the event counter value
Int_t GetHword(UInt_t index)
Bool_t GetHhalfStaveScanned(UInt_t hs) const
Bool_t GetHchipPresent(UInt_t hs, UInt_t chip) const
UInt_t GetHdacHigh(UInt_t hs) const
UInt_t GetHdacLow(UInt_t hs) const
UInt_t GetHTPAmp(UInt_t hs) const
Bool_t GetHminTHchipPresent(UInt_t chip) const
UInt_t GetFOHnumDacs() const
UInt_t GetFOHdacIndex(UInt_t index) const
UInt_t GetFOHdacValue(UInt_t index) const
UInt_t GetFOHchipCount(UInt_t hs, UInt_t chip) const
Int_t GetModuleNumber(UInt_t iDDL, UInt_t iModule)
Bool_t OfflineToOnline(UInt_t module, UInt_t colM, UInt_t RowM, UInt_t& eq, UInt_t& hs, UInt_t& chip, UInt_t& col, UInt_t& row)
 converts offline coordinates to online
Bool_t OnlineToOffline(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row, UInt_t& module, UInt_t& colM, UInt_t& rowM)
 converts online coordinates to offline
UInt_t GetOnlineEqIdFromOffline(UInt_t module)
 offline->online (eq)
UInt_t GetOnlineHSFromOffline(UInt_t module)
 offline->online (hs)
UInt_t GetOnlineChipFromOffline(UInt_t module, UInt_t colM)
 offline->online (chip)
UInt_t GetOnlineColFromOffline(UInt_t module, UInt_t colM)
 offline->online (col)
UInt_t GetOnlineRowFromOffline(UInt_t module, UInt_t rowM)
 offline->online (row)
UInt_t GetOfflineModuleFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip)
 online->offline (module)
UInt_t GetOfflineChipKeyFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip)
 online->offline (chip key: 0-1199)
UInt_t GetOfflineColFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip, UInt_t col)
 online->offline (col)
UInt_t GetOfflineRowFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip, UInt_t row)
 online->offline (row)
virtual ~AliITSRawStreamSPD()
{}
Int_t GetColumn() const
 the 2 methods below are equivalent to AliITSRawStream::GetCoord1 and GetCoord2
 together with the AliITSRawStream::GetModuleID these are the "offline" coordinates
{return fCoord1;}
Int_t GetRow() const
{return fCoord2;}
UShort_t GetHalfStaveNr() const
 together with the AliRawReader::GetDDLID() these are the "online" coordinates
{return fHalfStaveNr;}
UShort_t GetChipAddr() const
{return fChipAddr;}
Int_t GetChipCol() const
{return fCol;}
Int_t GetChipRow() const
{return fRow;}
Int_t GetModuleNumber(UInt_t iDDL, UInt_t iModule)
 module mapping
Int_t GetEventCounter() const
{return fEventCounter;}
UInt_t GetHrouterNr() const
 use the methods below to extract the information from the scan calibration header:
{return (fCalHeadWord[0] & 0x0000003f);}
UInt_t GetHtype() const
{return (Int_t)((fCalHeadWord[1]) & 0x000000ff);}
Bool_t GetHdataFormat() const
{return (Bool_t)(((fCalHeadWord[1]) & 0x00000100)>>8);}
UInt_t GetHtriggers() const
{return fCalHeadWord[2];}
UInt_t GetHdacStart() const
{return ((fCalHeadWord[5]>>24) & 0x000000ff);}
UInt_t GetHdacEnd() const
{return ((fCalHeadWord[5]>>16) & 0x000000ff);}
UInt_t GetHdacStep() const
{return ((fCalHeadWord[5]>>8) & 0x000000ff);}
UInt_t GetHdacId() const
{return ((fCalHeadWord[5]) & 0x000000ff);}
UInt_t GetHrowStart() const
{return (UInt_t) ((fCalHeadWord[6]>>24) & 0x000000ff);}
UInt_t GetHrowEnd() const
{return (UInt_t) ((fCalHeadWord[6]>>16) & 0x000000ff);}
UInt_t GetHrowValue() const
{return (UInt_t) ((fCalHeadWord[6]>> 8) & 0x000000ff);}
UInt_t GetHrowSpan() const
{return (UInt_t) ((fCalHeadWord[6]) & 0x000000ff);}
UInt_t GetHdacValue() const
{return (Int_t) ((fCalHeadWord[6]) & 0x000000ff);}
UInt_t GetHglobalDBversion() const
 use the methods below to extract the information from the fo calibration header:
{return fCalHeadWord[16];}
UInt_t GetFOHrouterNr() const
{return GetHrouterNr();}
UInt_t GetFOHtype() const
{return GetHtype();}
UInt_t GetFOHtriggers() const
{return GetHtriggers();}
Bool_t GetFOHchipPresent(UInt_t hs, UInt_t chip) const
{return GetHchipPresent(hs,chip);}
UInt_t GetFOHglobalDBversion() const
{return fCalHeadWord[5];}
UInt_t GetFOHMatrixID() const
{return fCalHeadWord[6] & 0x0000000f;}
UInt_t GetFOHpixelCol() const
{return (fCalHeadWord[6] >> 20) & 0x0000001f;}
UInt_t GetFOHpixelRow() const
{return (fCalHeadWord[6] >> 10) & 0x000000ff;}
AliITSRawStreamSPDErrorLog* GetAdvancedErrorLog()
{return fAdvLogger;}