LCOV - code coverage report
Current view: top level - MUON/MUONraw - AliMUONBusStruct.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 9 20 45.0 %
Date: 2016-06-14 17:26:59 Functions: 9 24 37.5 %

          Line data    Source code
       1             : #ifndef ALIMUONBUSSTRUCT_H
       2             : #define ALIMUONBUSSTRUCT_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 AliMUONBusStruct
      10             : /// \brief MUON buspatch structure for tracker
      11             : ///
      12             : //  Author Christian Finck
      13             : 
      14             : #include <TObject.h>
      15             : 
      16             : class AliMUONBusStruct : public TObject {
      17             : 
      18             : public:
      19             :    AliMUONBusStruct ();
      20             :    virtual ~AliMUONBusStruct ();
      21             :    AliMUONBusStruct(const AliMUONBusStruct& rhs);
      22             :    AliMUONBusStruct& operator=(const AliMUONBusStruct& rhs);
      23             : 
      24             :            /// Return header length in word
      25        7104 :    static Int_t   GetHeaderLength()   {return fgkHeaderLength;}
      26             :            /// Return default data key word for Bus Patch Header
      27        7104 :    static UInt_t  GetDefaultDataKey() {return fgkDefaultDataKey;}
      28             : 
      29             :    // header
      30             :            /// Return Data key word for bus patch header
      31           0 :    Int_t   GetDataKey()     const {return fDataKey;}
      32             :            /// Return total length of buspatch structure
      33           0 :    Int_t   GetTotalLength() const {return fTotalLength;}
      34             :            /// Return length of raw data
      35         256 :    Int_t   GetLength()      const {return fLength;}
      36             :            /// Return bus patch id
      37           0 :    Int_t   GetBusPatchId()  const {return fBusPatchId;}
      38             : 
      39             :            /// Return header
      40         256 :    Int_t*  GetHeader() {return &fDataKey;}
      41             : 
      42             :    // data
      43             :            /// Return initial size for data array
      44           0 :    Int_t   GetBufSize()     const {return fBufSize;}
      45             :            /// Return data
      46         256 :    UInt_t* GetData()        const {return fData;}
      47             :            /// Return block numer for monitoring
      48           0 :    Int_t   GetBlockId()     const {return fBlkId;}
      49             :            /// Return Dsp number for monitoring
      50           0 :    Int_t   GetDspId()       const {return fDspId;}
      51             : 
      52             :    Char_t   GetParity(Int_t n) const;
      53             :    UShort_t GetManuId(Int_t n) const;
      54             :    UChar_t   GetChannelId(Int_t n) const;
      55             :    UShort_t GetCharge(Int_t n) const; 
      56             :    UInt_t   GetData(Int_t n) const;
      57             : 
      58             :    // header setter
      59             :            /// Set Data key word for bus patch header 
      60         256 :    void    SetDataKey(Int_t d)     {fDataKey = d;}
      61             :            /// Set total length of buspatch structure 
      62           0 :    void    SetTotalLength(Int_t l) {fTotalLength = l;}
      63             :            /// Set length of raw data 
      64         256 :    void    SetLength(Int_t l)      {fLength = l;}
      65             :            /// Set bus patch id 
      66         256 :    void    SetBusPatchId(Int_t b)  {fBusPatchId = b;} 
      67             :  
      68             :    // data 
      69             :            /// Set data 
      70           0 :    void    SetData(UInt_t d, Int_t n)  {fData[n] = d;}
      71             :            /// Set block numer for monitoring 
      72           0 :    void    SetBlockId(Int_t b)     {fBlkId = b;}  
      73             :            /// Set Dsp number for monitoring 
      74           0 :    void    SetDspId(Int_t d)       {fDspId = d;}  
      75             : 
      76             :    void    AddData(UInt_t d);
      77             :    void    SetAlloc(Int_t size);
      78             : 
      79             :    // TClonesArray
      80             :            /// Return true as  Compare() is implemented
      81           0 :    Bool_t  IsSortable() const {return kTRUE;}
      82             :    Int_t   Compare(const TObject *obj) const;
      83             :    void    Clear(Option_t* opt);
      84             : 
      85             :  private:
      86             :    Int_t     fDataKey;       ///< Data key word for bus patch header 
      87             :    Int_t     fTotalLength;   ///< total length of buspatch structure
      88             :    Int_t     fLength;        ///< length of raw data
      89             :    Int_t     fBusPatchId;    ///< bus patch id
      90             : 
      91             :    static const Int_t  fgkHeaderLength;   ///< header length in word
      92             :    static const UInt_t fgkDefaultDataKey; ///< default data key word for Bus Patch Header 
      93             :    static const Int_t  fgkManuNofChannels;///< max number of channels per manu;
      94             : 
      95             :    Int_t     fBufSize;       ///< initial size for data array
      96             : 
      97             :    UInt_t*   fData;          ///< data 
      98             : 
      99             :    Int_t     fDspId;         ///< Dsp number for monitoring
     100             :    Int_t     fBlkId;         ///< block numer for monitoring
     101             : 
     102             :    void ResizeData(Int_t size = 0);
     103             : 
     104             :    void Print(Option_t* opt) const;
     105             : 
     106             : 
     107          18 :    ClassDef(AliMUONBusStruct,3)  // MUON DDL Tracker
     108             : };
     109             : 
     110             : #endif

Generated by: LCOV version 1.11