X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONPayloadTracker.h;h=5dcd2230364d35c464d7f8ca972b0ebf775ff3a0;hb=75eff6de2d7200ef8cd1a53bb2f14934ae346818;hp=f58ee6d1670f87d6fc8a0865d991b5721e9ddd90;hpb=84ceeb061c491574f58f4af93d166ef9768ad95e;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONPayloadTracker.h b/MUON/AliMUONPayloadTracker.h index f58ee6d1670..5dcd2230364 100644 --- a/MUON/AliMUONPayloadTracker.h +++ b/MUON/AliMUONPayloadTracker.h @@ -7,52 +7,73 @@ /// \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 -#include +#include + class AliMUONDDLTracker; class AliMUONBusStruct; class AliMUONDspHeader; class AliMUONBlockHeader; +class AliMUONLogger; class AliMUONPayloadTracker: public TObject { public : AliMUONPayloadTracker(); - AliMUONPayloadTracker(const AliMUONPayloadTracker& stream); - AliMUONPayloadTracker& operator = (const AliMUONPayloadTracker& stream); 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;} - protected : + /// 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 Int_t fBlkId; ///< entry of Block header @@ -67,7 +88,13 @@ class AliMUONPayloadTracker: public TObject { AliMUONBlockHeader* fBlockHeader; //!< pointer for block structure AliMUONDspHeader* fDspHeader; //!< pointer for dsp structure - ClassDef(AliMUONPayloadTracker, 1) // base class for reading MUON raw digits + 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, 4) // base class for reading MUON raw digits }; #endif