![]() |
AliRoot Core
v5-06-30 (35d6c57)
|
Public Member Functions | |
AliDecoderEventHandler () | |
Default constructor. More... | |
virtual | ~AliDecoderEventHandler () |
Default destructor. More... | |
void | SetMaxStructs (UInt_t maxBlocks, UInt_t maxDsps, UInt_t maxBusPatches) |
Sets the internal arrays based on the maximum number of structures allowed. More... | |
void | SetRawStream (AliMUONRawStreamTrackerHP *rawStream) |
Sets the raw stream object which should be the parent of this class. More... | |
UInt_t | BlockCount () const |
Return the number of blocks found in the payload. More... | |
const AliBlockHeader * | BlockHeader (UInt_t i) const |
Return the i'th block structure. More... | |
const AliBusPatch * | FirstBusPatch () const |
Return the first bus patch decoded. More... | |
const AliBusPatch * | EndOfBusPatch () const |
Returns the marker to the end of bus patches. i.e. one position past the last bus patch. More... | |
UInt_t | ParityErrorCount () const |
Returns the number of parity errors found in the DDL. More... | |
UInt_t | GlitchErrorCount () const |
Returns the number of glitch errors found in the DDL. More... | |
UInt_t | PaddingErrorCount () const |
Returns the number of padding errors found in the DDL. More... | |
UInt_t | TokenLostCount () const |
Returns the number of token lost errors found in the DDL. More... | |
void | OnNewBuffer (const void *buffer, UInt_t bufferSize) |
New buffer handler. More... | |
void | OnEndOfBuffer (const void *, UInt_t) |
End of buffer handler marks the end of bus patches. More... | |
void | OnNewBlock (const AliMUONBlockHeaderStruct *header, const void *) |
void | OnNewDSP (const AliMUONDSPHeaderStruct *header, const void *) |
void | OnNewBusPatch (const AliMUONBusPatchHeaderStruct *header, const void *data) |
void | OnData (UInt_t, bool parityError) |
Raw data word handler. More... | |
void | OnError (ErrorCode error, const void *location) |
Error handler. More... | |
![]() | |
virtual | ~AliMUONTrackerDDLDecoderEventHandler () |
void | OnNewBuffer (const void *, UInt_t) |
void | OnEndOfBuffer (const void *, UInt_t) |
void | OnNewBlock (const AliMUONBlockHeaderStruct *, const void *) |
void | OnEndOfBlock (const AliMUONBlockHeaderStruct *, const void *) |
void | OnNewDSP (const AliMUONDSPHeaderStruct *, const void *) |
void | OnEndOfDSP (const AliMUONDSPHeaderStruct *, const void *) |
void | OnNewBusPatch (const AliMUONBusPatchHeaderStruct *, const void *) |
void | OnEndOfBusPatch (const AliMUONBusPatchHeaderStruct *, const void *) |
void | OnData (UInt_t, bool) |
void | OnError (ErrorCode, const void *) |
Private Member Functions | |
AliDecoderEventHandler (const AliDecoderEventHandler &) | |
Not implemented. More... | |
AliDecoderEventHandler & | operator= (const AliDecoderEventHandler &) |
Not implemented. More... | |
Private Attributes | |
AliMUONRawStreamTrackerHP * | fRawStream |
! Pointer to the parent raw stream object. More... | |
const void * | fBufferStart |
! Pointer to the start of the current DDL payload buffer. More... | |
UInt_t | fBlockCount |
! Number of blocks filled in fBlocks. More... | |
AliBlockHeader * | fBlocks |
! Array of blocks. [0..fMaxBlocks-1] More... | |
AliDspHeader * | fDSPs |
! Array of DSPs. [0..fMaxDsps*fMaxBlocks-1] More... | |
AliBusPatch * | fBusPatches |
! Array of bus patches. [0..fMaxBusPatches*fMaxDsps*fMaxBlocks-1] More... | |
AliBusPatch * | fEndOfBusPatches |
! Marks the last bus patch. More... | |
UInt_t | fMaxChannels |
! Maximum number of elements that can be stored in fParityOk. More... | |
Bool_t * | fParityOk |
! Array of flags for indicating if the parity is good for a raw data word. More... | |
AliBlockHeader * | fCurrentBlock |
! Current block in fBlocks. More... | |
AliDspHeader * | fCurrentDSP |
! Current DSP in fDSPs. More... | |
AliBusPatch * | fCurrentBusPatch |
! Current bus patch in fBusPatches. More... | |
Bool_t * | fCurrentParityOkFlag |
! Current parity flag to be set in fParityOk. More... | |
UInt_t | fParityErrors |
! Number of parity errors found in DDL. More... | |
UInt_t | fGlitchErrors |
! Number of glitch errors found in DDL. More... | |
UInt_t | fPaddingErrors |
! Number of padding errors found in DDL. More... | |
UInt_t | fTokenLostErrors |
! Number of token lost errors found in DDL. More... | |
UInt_t | fMaxBlocks |
! max number of blocks More... | |
UInt_t | fMaxDsps |
! max number of dsps per block More... | |
UInt_t | fMaxBusPatches |
! max number of buspatches per dsp More... | |
This is the custom event handler (callback interface) class which unpacks raw data words and fills an internal buffer with decoded digits as they are decoded by the high performance decoder.
Definition at line 606 of file AliMUONRawStreamTrackerHP.h.
AliMUONRawStreamTrackerHP::AliDecoderEventHandler::AliDecoderEventHandler | ( | ) |
Default constructor.
Default constructor initialises the internal parity flags buffer to store 8192 elements. This array will grow dynamically if needed.
Definition at line 540 of file AliMUONRawStreamTrackerHP.cxx.
|
virtual |
Default destructor.
Default destructor cleans up the allocated memory.
Definition at line 567 of file AliMUONRawStreamTrackerHP.cxx.
|
private |
Not implemented.
|
inline |
Return the number of blocks found in the payload.
Definition at line 622 of file AliMUONRawStreamTrackerHP.h.
|
inline |
Return the i'th block structure.
Definition at line 625 of file AliMUONRawStreamTrackerHP.h.
|
inline |
Returns the marker to the end of bus patches. i.e. one position past the last bus patch.
Definition at line 634 of file AliMUONRawStreamTrackerHP.h.
|
inline |
Return the first bus patch decoded.
Definition at line 631 of file AliMUONRawStreamTrackerHP.h.
|
inline |
Returns the number of glitch errors found in the DDL.
Definition at line 639 of file AliMUONRawStreamTrackerHP.h.
|
inline |
Raw data word handler.
Definition at line 672 of file AliMUONRawStreamTrackerHP.h.
|
inline |
End of buffer handler marks the end of bus patches.
Definition at line 651 of file AliMUONRawStreamTrackerHP.h.
void AliMUONRawStreamTrackerHP::AliDecoderEventHandler::OnError | ( | ErrorCode | error, |
const void * | location | ||
) |
Error handler.
This is called by the high performance decoder when a error occurs when trying to decode the DDL payload. This indicates corruption in the data. This method converts the error code to a descriptive message and logs this with the logger object.
error | The error code indicating the problem. |
location | A pointer to the location within the DDL payload buffer being decoded where the problem with the data was found. |
Definition at line 689 of file AliMUONRawStreamTrackerHP.cxx.
|
inline |
New block handler is called by the decoder whenever a new block structure is found. We just mark the new block and increment the internal counter.
New block handler is called by the decoder whenever a new block structure is found. We just mark the new block and increment the internal counter.
Definition at line 750 of file AliMUONRawStreamTrackerHP.h.
void AliMUONRawStreamTrackerHP::AliDecoderEventHandler::OnNewBuffer | ( | const void * | buffer, |
UInt_t | bufferSize | ||
) |
New buffer handler.
This is called by the high performance decoder when a new DDL payload is about to be decoded.
buffer | The pointer to the buffer storing the DDL payload. |
bufferSize | The size of the buffer in bytes. |
Definition at line 616 of file AliMUONRawStreamTrackerHP.cxx.
|
inline |
New bus patch handler. This is called by the high performance decoder when a new bus patch is found within the DDL payload.
New bus patch handler. This is called by the high performance decoder when a new bus patch is found within the DDL payload.
Definition at line 782 of file AliMUONRawStreamTrackerHP.h.
|
inline |
New DSP handler is called by the decoder whenever a new DSP structure is found. We just mark the DSP and increment the appropriate counters.
New DSP handler is called by the decoder whenever a new DSP structure is found. We just mark the DSP and increment the appropriate counters.
Definition at line 766 of file AliMUONRawStreamTrackerHP.h.
|
private |
Not implemented.
|
inline |
Returns the number of padding errors found in the DDL.
Definition at line 641 of file AliMUONRawStreamTrackerHP.h.
|
inline |
Returns the number of parity errors found in the DDL.
Definition at line 637 of file AliMUONRawStreamTrackerHP.h.
void AliMUONRawStreamTrackerHP::AliDecoderEventHandler::SetMaxStructs | ( | UInt_t | maxBlocks, |
UInt_t | maxDsps, | ||
UInt_t | maxBusPatches | ||
) |
Sets the internal arrays based on the maximum number of structures allowed.
Sets the maximum number of structures allowed.
Definition at line 578 of file AliMUONRawStreamTrackerHP.cxx.
|
inline |
Sets the raw stream object which should be the parent of this class.
Definition at line 619 of file AliMUONRawStreamTrackerHP.h.
|
inline |
Returns the number of token lost errors found in the DDL.
Definition at line 643 of file AliMUONRawStreamTrackerHP.h.
|
private |
! Number of blocks filled in fBlocks.
Definition at line 691 of file AliMUONRawStreamTrackerHP.h.
Referenced by BlockCount(), BlockHeader(), and OnNewBlock().
|
private |
! Array of blocks. [0..fMaxBlocks-1]
Definition at line 692 of file AliMUONRawStreamTrackerHP.h.
Referenced by BlockHeader().
|
private |
! Pointer to the start of the current DDL payload buffer.
Definition at line 690 of file AliMUONRawStreamTrackerHP.h.
|
private |
! Array of bus patches. [0..fMaxBusPatches*fMaxDsps*fMaxBlocks-1]
Definition at line 694 of file AliMUONRawStreamTrackerHP.h.
Referenced by FirstBusPatch().
|
private |
! Current block in fBlocks.
Definition at line 698 of file AliMUONRawStreamTrackerHP.h.
Referenced by OnNewBlock().
|
private |
! Current bus patch in fBusPatches.
Definition at line 700 of file AliMUONRawStreamTrackerHP.h.
Referenced by OnEndOfBuffer().
|
private |
! Current DSP in fDSPs.
Definition at line 699 of file AliMUONRawStreamTrackerHP.h.
Referenced by OnNewBlock().
|
private |
! Current parity flag to be set in fParityOk.
Definition at line 701 of file AliMUONRawStreamTrackerHP.h.
Referenced by OnData().
|
private |
! Array of DSPs. [0..fMaxDsps*fMaxBlocks-1]
Definition at line 693 of file AliMUONRawStreamTrackerHP.h.
|
private |
! Marks the last bus patch.
Definition at line 695 of file AliMUONRawStreamTrackerHP.h.
Referenced by EndOfBusPatch(), and OnEndOfBuffer().
|
private |
! Number of glitch errors found in DDL.
Definition at line 703 of file AliMUONRawStreamTrackerHP.h.
Referenced by GlitchErrorCount().
|
private |
! max number of blocks
Definition at line 706 of file AliMUONRawStreamTrackerHP.h.
Referenced by OnNewBlock().
|
private |
! max number of buspatches per dsp
Definition at line 708 of file AliMUONRawStreamTrackerHP.h.
|
private |
! Maximum number of elements that can be stored in fParityOk.
Definition at line 696 of file AliMUONRawStreamTrackerHP.h.
Referenced by OnData().
|
private |
! max number of dsps per block
Definition at line 707 of file AliMUONRawStreamTrackerHP.h.
|
private |
! Number of padding errors found in DDL.
Definition at line 704 of file AliMUONRawStreamTrackerHP.h.
Referenced by PaddingErrorCount().
|
private |
! Number of parity errors found in DDL.
Definition at line 702 of file AliMUONRawStreamTrackerHP.h.
Referenced by ParityErrorCount().
|
private |
! Array of flags for indicating if the parity is good for a raw data word.
Definition at line 697 of file AliMUONRawStreamTrackerHP.h.
Referenced by OnData().
|
private |
! Pointer to the parent raw stream object.
Definition at line 689 of file AliMUONRawStreamTrackerHP.h.
Referenced by SetRawStream().
|
private |
! Number of token lost errors found in DDL.
Definition at line 705 of file AliMUONRawStreamTrackerHP.h.
Referenced by TokenLostCount().