X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONPayloadTracker.h;h=5dcd2230364d35c464d7f8ca972b0ebf775ff3a0;hb=28382e06aeac012f0f983d1de5e421f6ed3f1c8c;hp=619dbdeae73aea24efde9f3558c10b6fc3326e10;hpb=607fb67b58a46802e64db37e4bc2ad4927712810;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONPayloadTracker.h b/MUON/AliMUONPayloadTracker.h index 619dbdeae73..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,9 +88,13 @@ class AliMUONPayloadTracker: public TObject { AliMUONBlockHeader* fBlockHeader; //!< pointer for block structure AliMUONDspHeader* fDspHeader; //!< pointer for dsp structure - 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