LCOV - code coverage report
Current view: top level - MUON/MUONraw - AliMUONPayloadTracker.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 13 7.7 %
Date: 2016-06-14 17:26:59 Functions: 1 17 5.9 %

          Line data    Source code
       1             : #ifndef ALIMUONPAYLOADTRACKER_H
       2             : #define ALIMUONPAYLOADTRACKER_H 
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /*$Id$*/
       7             : 
       8             : /// \ingroup raw
       9             : /// \class AliMUONPayloadTracker
      10             : /// \brief Class for decoding the payload for tracker raw data 
      11             : ///
      12             : //  Author Christian Finck
      13             : 
      14             : #include <TObject.h>
      15             : #include <TString.h>
      16             : 
      17             : 
      18             : class AliMUONDDLTracker;
      19             : class AliMUONBusStruct;
      20             : class AliMUONDspHeader;
      21             : class AliMUONBlockHeader;
      22             : class AliMUONLogger;
      23             : 
      24             : class AliMUONPayloadTracker: public TObject {
      25             :   public :
      26             :     AliMUONPayloadTracker();
      27             :     virtual ~AliMUONPayloadTracker();
      28             : 
      29             :     /// Return maximum number of block per DDL in DATE file
      30           0 :     Int_t GetMaxBlock() const {return fMaxBlock;}
      31             :     /// Return maximum number of Dsp per block in DATE file
      32           0 :     Int_t GetMaxDsp()   const {return fMaxDsp;}
      33             :     /// Return maximum number of Buspatch per Dsp in DATE file
      34           0 :     Int_t GetMaxBus()   const {return fMaxBus;}
      35             : 
      36             :     // check input before assigment
      37             :     void SetMaxBlock(Int_t blk);
      38             : 
      39             :     /// \brief Set maximum number of Dsp per block in DATE file
      40             :     /// does not check, done via BusPatchManager
      41           0 :     void SetMaxDsp(Int_t dsp) {fMaxDsp = dsp;}
      42             :     /// \brief Set maximum number of Buspatch per Dsp in DATE file
      43             :     /// does not check, done via BusPatchManager
      44           0 :     void SetMaxBus(Int_t bus) {fMaxBus = bus;}
      45             : 
      46             :     void ResetDDL();
      47             : 
      48             :     Bool_t Decode(UInt_t* buffer, Int_t datasize);
      49             : 
      50             :     /// Return pointer for local structure
      51           0 :     AliMUONBusStruct*       GetBusPatchInfo() const {return fBusStruct;}
      52             :     /// Return pointer for buspatch structure
      53           0 :     AliMUONDDLTracker*      GetDDLTracker()   const {return fDDLTracker;}
      54             : 
      55             :     /// Get number of parity errors
      56           0 :     Int_t   GetParityErrors() const {return fParityErrors;} // for online
      57             :     /// Get number of glitch errors
      58           0 :     Int_t   GetGlitchErrors() const {return fGlitchErrors;}
      59             :     /// Get number of padding word errors
      60           0 :     Int_t   GetPaddingErrors() const {return fPaddingErrors;}
      61             : 
      62             :     /// Get Error logger
      63           0 :     AliMUONLogger* GetErrorLogger() const {return fLog;}
      64             :     
      65             :     /// set warnings flag
      66           0 :     void DisableWarnings() {fWarnings = kFALSE;} 
      67             :    
      68             :   private :
      69             :     /// Not implemented
      70             :     AliMUONPayloadTracker(const AliMUONPayloadTracker& stream);
      71             :     /// Not implemented
      72             :     AliMUONPayloadTracker& operator = (const AliMUONPayloadTracker& stream);
      73             : 
      74             :     Bool_t CheckDataParity();
      75             :     void   AddErrorMessage(const Char_t* msg);
      76             : 
      77             :     Int_t  fBusPatchId;   ///< entry of buspatch structure
      78             :     Int_t  fDspId;        ///< entry of Dsp header
      79             :     Int_t  fBlkId;        ///< entry of Block header
      80             : 
      81             :     Int_t fMaxDDL;        ///< maximum number of DDL in DATE file
      82             :     Int_t fMaxBlock;      ///< maximum number of block per DDL in DATE file
      83             :     Int_t fMaxDsp;        ///< maximum number of Dsp per block in DATE file
      84             :     Int_t fMaxBus;        ///< maximum number of Buspatch per Dsp in DATE file
      85             : 
      86             :     AliMUONDDLTracker*      fDDLTracker;      //!<! pointer for buspatch structure
      87             :     AliMUONBusStruct*       fBusStruct;       //!<! pointer for local structure
      88             :     AliMUONBlockHeader*     fBlockHeader;     //!<! pointer for block structure 
      89             :     AliMUONDspHeader*       fDspHeader;       //!<! pointer for dsp structure 
      90             : 
      91             :     AliMUONLogger* fLog;                      //!<! Map of errors msg;
      92             :     Int_t   fParityErrors;                    //!<! number of parity errors;
      93             :     Int_t   fGlitchErrors;                    //!<! number of glitch errors;
      94             :     Int_t   fPaddingErrors;                   //!<! number of padding word errors;
      95             :     Bool_t  fWarnings;                        //!<! flag to enable/disable warnings
      96             : 
      97          18 :     ClassDef(AliMUONPayloadTracker, 4)    // base class for reading MUON raw digits
      98             : };
      99             : 
     100             : #endif

Generated by: LCOV version 1.11