bug fixed
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackerDDLDecoderEventHandler.h
index 289799c..8bc9ffb 100644 (file)
@@ -124,6 +124,10 @@ public:
                kBadBusPatchLength = 26,       /// The bus patch length field points past the end of the DSP structure.
                kBadBusPatchTotalLength = 27,  /// The total bus patch length field points past the end of the DSP structure.
                kBusPatchLengthMismatch = 28,  /// The bus patch length and total length fields do not correspond. One or both of these values is incorrect.
+               kNoDDLTrailerWords = 29,       /// No end of DDL markers found in the trailer words.
+               kTooFewDDLTrailerWords = 30,   /// Only one end of DDL marker trailer word found but expected two.
+               kUnknownDspError = 31,         /// The DSP error code is non-zero but of an unrecognised format.
+               kTokenLost = 32,               /// The DSP contains a token lost error code that can affect the deadtime.
                // match up error codes with AliMUONRawStreamTracker:
                kGlitchFound = 1,              /// Found a glitch. This means a 1 byte word has been randomly inserted into the raw data by mistake.
                kBadPaddingWord = 2,           /// The padding word does not contain the correct value.
@@ -175,7 +179,7 @@ public:
        void OnEndOfBlock(const AliMUONBlockHeaderStruct* /*header*/, const void* /*data*/) {}
        
        /// OnNewDSP is called whenever a new DSP header is found in the payload.
-       /// Every DSP header recevied by a call to OnNewDSP is associated to the
+       /// Every DSP header received by a call to OnNewDSP is associated to the
        /// block header received in the most recent call to OnNewBlock.
        /// The default behaviour of this method is to do nothing.
        /// - param const AliMUONDSPHeaderStruct*  This is a pointer to the DSP header
@@ -225,18 +229,18 @@ public:
        void OnEndOfBusPatch(const AliMUONBusPatchHeaderStruct* /*header*/, const void* /*data*/) {}
        
        /// OnData is called for every raw data word found within a bus patch.
-       /// Every data ward recevied by a call to OnData is associated to the bus patch
+       /// Every data ward received by a call to OnData is associated to the bus patch
        /// header received in the most recent call to OnNewBusPatch.
        /// The default behaviour of this method is to do nothing.
        /// - param UInt_t  This is the raw data word as found within the bus patch payload.
        /// - param bool  Flag indicating if the raw data word had a parity error.
        ///       This will always be set to false if fSendDataOnParityError in the
-       ///       AliMUONTrackerDDLDecoder class was set to true.
+       ///       AliMUONTrackerDDLDecoder class was set to false.
        void OnData(UInt_t /*data*/, bool /*parityError*/) {}
        
        /// Whenever a parsing error of the DDL payload is encountered because of
        /// corruption of the raw data (eg. bit flips) the OnError method is called
-       /// imediately at the point this error is discovered.
+       /// immediately at the point this error is discovered.
        /// The default behaviour of this method is to do nothing.
        /// - param ErrorCode  This is an error code indicating the kind of problem
        ///               encountered with the DDL payload.
@@ -244,7 +248,7 @@ public:
        ///         indicating the exact location where the parsing error happened
        ///         or i.e. the location of the corruption.
        /// Note that a relative offset in bytes from the start of the memory buffer
-       /// can be calculated by: storing the buffer pointer recevied in OnNewBuffer
+       /// can be calculated by: storing the buffer pointer received in OnNewBuffer
        /// earlier in fBufferStart for example, and then the offset is given by:
        ///   offset = (unsigned long)location - (unsigned long)fBufferStart;
        void OnError(ErrorCode /*error*/, const void* /*location*/) {}
@@ -267,7 +271,7 @@ public:
        }
        
        /// This is a utility method which converts an error code to a string
-       /// respresentation for printing purposes.
+       /// representation for printing purposes.
        /// \param code  The error code as received in OnError for example.
        /// \return  An ANSI string containing the name of the error code symbol.
        static const char* ErrorCodeToString(ErrorCode code);
@@ -310,6 +314,10 @@ inline const char* AliMUONTrackerDDLDecoderEventHandler::ErrorCodeToString(Error
        case kBadBusPatchLength: return "kBadBusPatchLength";
        case kBadBusPatchTotalLength: return "kBadBusPatchTotalLength";
        case kBusPatchLengthMismatch: return "kBusPatchLengthMismatch";
+       case kNoDDLTrailerWords: return "kNoDDLTrailerWords";
+       case kTooFewDDLTrailerWords: return "kTooFewDDLTrailerWords";
+       case kUnknownDspError: return "kUnknownDspError";
+       case kTokenLost: return "kTokenLost";
        case kGlitchFound: return "kGlitchFound";
        case kBadPaddingWord: return "kBadPaddingWord";
        case kParityError: return "kParityError";
@@ -376,6 +384,14 @@ inline const char* AliMUONTrackerDDLDecoderEventHandler::ErrorCodeToMessage(Erro
        case kBusPatchLengthMismatch:
                return "The bus patch length and total length fields do not correspond."
                       " One or both of these values is incorrect.";
+       case kNoDDLTrailerWords:
+               return "No end of DDL data key found in the trailer words.";
+       case kTooFewDDLTrailerWords:
+               return "Only one end of DDL data key word found in the trailer but expected two.";
+       case kUnknownDspError:
+               return "The DSP error code is non-zero but of an unrecognised format.";
+       case kTokenLost:
+               return "The DSP contains a token lost error code that can affect the deadtime.";
        case kGlitchFound:
                return "Found a glitch. This means a 1 byte word has been randomly"
                       " inserted into the raw data by mistake.";