/// \ingroup raw
/// \class AliMUONPayloadTracker
-/// \brief Class for decoding trackerrawdata
+/// \brief Class for decoding the payload for tracker raw data
///
-/// \author Christian Finck
-///
-///////////////////////////////////////////////////////////////////////////////
-///
-/// This class decode the payload for tracker raw data.
-///
-///////////////////////////////////////////////////////////////////////////////
+// Author Christian Finck
#include <TObject.h>
+#include <TString.h>
+
class AliMUONDDLTracker;
class AliMUONBusStruct;
class AliMUONDspHeader;
class AliMUONBlockHeader;
+class AliMUONLogger;
class AliMUONPayloadTracker: public TObject {
public :
AliMUONPayloadTracker();
virtual ~AliMUONPayloadTracker();
+ /// Return maximum number of block per DDL in DATE file
Int_t GetMaxBlock() const {return fMaxBlock;}
+ /// Return maximum number of Dsp per block in DATE file
Int_t GetMaxDsp() const {return fMaxDsp;}
+ /// Return maximum number of Buspatch per Dsp in DATE file
Int_t GetMaxBus() const {return fMaxBus;}
// check input before assigment
void SetMaxBlock(Int_t blk);
- // does not check, done via BusPatchManager
+ /// \brief Set maximum number of Dsp per block in DATE file
+ /// does not check, done via BusPatchManager
void SetMaxDsp(Int_t dsp) {fMaxDsp = dsp;}
+ /// \brief Set maximum number of Buspatch per Dsp in DATE file
+ /// does not check, done via BusPatchManager
void SetMaxBus(Int_t bus) {fMaxBus = bus;}
void ResetDDL();
Bool_t Decode(UInt_t* buffer, Int_t datasize);
+ /// Return pointer for local structure
AliMUONBusStruct* GetBusPatchInfo() const {return fBusStruct;}
+ /// Return pointer for buspatch structure
AliMUONDDLTracker* GetDDLTracker() const {return fDDLTracker;}
+ /// Get number of parity errors
+ Int_t GetParityErrors() const {return fParityErrors;} // for online
+ /// Get number of glitch errors
+ Int_t GetGlitchErrors() const {return fGlitchErrors;}
+ /// Get number of padding word errors
+ Int_t GetPaddingErrors() const {return fPaddingErrors;}
+
+ /// Get Error logger
+ AliMUONLogger* GetErrorLogger() const {return fLog;}
+
+ /// set warnings flag
+ void DisableWarnings() {fWarnings = kFALSE;}
+
private :
+ /// Not implemented
+ AliMUONPayloadTracker(const AliMUONPayloadTracker& stream);
+ /// Not implemented
+ AliMUONPayloadTracker& operator = (const AliMUONPayloadTracker& stream);
+
+ Bool_t CheckDataParity();
+ void AddErrorMessage(const Char_t* msg);
Int_t fBusPatchId; ///< entry of buspatch structure
Int_t fDspId; ///< entry of Dsp header
AliMUONBlockHeader* fBlockHeader; //!< pointer for block structure
AliMUONDspHeader* fDspHeader; //!< pointer for dsp structure
- AliMUONPayloadTracker(const AliMUONPayloadTracker& stream);
- AliMUONPayloadTracker& operator = (const AliMUONPayloadTracker& stream);
-
- Bool_t CheckDataParity();
+ AliMUONLogger* fLog; //!< Map of errors msg;
+ Int_t fParityErrors; //!< number of parity errors;
+ Int_t fGlitchErrors; //!< number of glitch errors;
+ Int_t fPaddingErrors; //!< number of padding word errors;
+ Bool_t fWarnings; //!< flag to enable/disable warnings
- ClassDef(AliMUONPayloadTracker, 1) // base class for reading MUON raw digits
+ ClassDef(AliMUONPayloadTracker, 4) // base class for reading MUON raw digits
};
#endif