LCOV - code coverage report
Current view: top level - PHOS/PHOSbase - AliPHOSTriggerSTURawStream.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 13 7.7 %
Date: 2016-06-14 17:26:59 Functions: 2 17 11.8 %

          Line data    Source code
       1             : #ifndef ALIPHOSTRIGGERSTURAWSTREAM_H
       2             : #define ALIPHOSTRIGGERSTURAWSTREAM_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /*
       7             : Author: H. Yokoyama (Univ. of TSUKUBA/ Univ. of Grenoble)
       8             : */
       9             : 
      10             : #ifndef ROOT_TObject
      11             : #  include "TObject.h"
      12             : #endif
      13             : //#include <map>
      14             : 
      15             : class AliRawReader;
      16             : 
      17             : class AliPHOSTriggerSTURawStream: public TObject 
      18             : {
      19             :   public:
      20             :     AliPHOSTriggerSTURawStream();
      21             :     AliPHOSTriggerSTURawStream(AliRawReader* rawReader);
      22             :     virtual ~AliPHOSTriggerSTURawStream();
      23             : 
      24             :     virtual void    Reset();
      25             :     virtual Bool_t  ReadPayLoad();
      26             : 
      27             :     virtual void    DumpPayLoad(const Option_t *option = "ALL") const;
      28             : 
      29             :     virtual void    GetADC(           Int_t iTRU, UInt_t ADC[]            );
      30           0 :     virtual UInt_t  GetL1GammaThreshold(const int i)  const {return fL1GammaThreshold[i];}
      31             : 
      32           0 :     virtual Int_t   GetNL0GammaPatch()                const {return fNL0GammaPatch      ;}
      33           0 :     virtual Int_t   GetNL1GammaPatch(   const int i)  const {return fNL1GammaPatch[i]   ;}
      34             : 
      35             :     virtual Bool_t  GetL0GammaPatch(const Int_t i,                Int_t& tru, Int_t& idx            ) const;
      36             :     virtual Bool_t  GetL1GammaPatch(const Int_t i, const Int_t j, Int_t& tru, Int_t& col, Int_t& row) const;
      37             : 
      38           0 :     virtual UInt_t  GetV0A()            const {return fV0A           ;}
      39           0 :     virtual UInt_t  GetV0C()            const {return fV0C           ;}
      40           0 :     virtual UInt_t  GetG(int i, int j)  const {return fG[i][j]       ;}//[ABC][high/low]
      41           0 :     virtual UInt_t  GetRegionEnable()   const {return fRegionEnable  ;}
      42           0 :     virtual UInt_t  GetFrameReceived()  const {return fFrameReceived ;}
      43           0 :     virtual UInt_t  GetFwVersion()      const {return fFwVersion     ;}
      44           0 :     virtual Int_t   GetRawData()        const {return fGetRawData    ;}
      45             : 
      46             :   private:
      47             : 
      48             :     AliPHOSTriggerSTURawStream(const AliPHOSTriggerSTURawStream& rhs);
      49             :     AliPHOSTriggerSTURawStream& operator = (const AliPHOSTriggerSTURawStream& rhs);
      50             : 
      51             :     UShort_t GetThreshold(Short_t A, Short_t B, Short_t C, UShort_t V0A, UShort_t V0C) const;
      52             : 
      53             :     AliRawReader* fRawReader;   // object for reading the raw data
      54             : 
      55             :     enum fPayloadType { 
      56             :       V2PHOS      =   8 , 
      57             :       V2PHOSRaw   =   9  
      58             :     }; 
      59             : 
      60             :     Int_t         fGetRawData ;//Set by word size
      61             :     fPayloadType  fPayload    ;//Set by word size
      62             : 
      63             :     static const Int_t kPayLoadSizeV2_PHOS        = 433   ;//13+ 0+ 0+84+112+112+112
      64             :     static const Int_t kPayLoadSizeV2_PHOS_Raw    = 1568  ;//112*28/2                  
      65             : 
      66             :     //static const Int_t max_payload_size = kPayLoadSizeV2_PHOS + kPayLoadSizeV2_PHOS_Raw ;
      67             :     static const Int_t max_payload_size = 2001 ;
      68             : 
      69             :     static const Int_t max_L0GammaPatchIndex  = 3100 ;  // (28-1)*(112-1) = 2997  (PHOS)
      70             :     static const Int_t max_L1Gamma            =    3 ;  // L1Gamma_low,mid,high   (PHOS)
      71             :     static const Int_t max_L1GammaPatchIndex  = 3100 ;  // (28-1)*(112-1) = 2997  (PHOS)
      72             : 
      73             :     static const Int_t max_nTRU               =   28 ;  // 28  (PHOS)
      74             :     static const Int_t max_nmoduleInTRU       =  112 ;  // 112 (PHOS)
      75             :     
      76             :     static const Int_t nTRU_PHOS              = 28  ;
      77             :     static const Int_t nMod_PHOS              = 112 ;
      78             : 
      79             :     Int_t     fNL0GammaPatch                                        ; // N L0 Gamma Patch
      80             :     UShort_t  fL0GammaPatchIndex[max_L0GammaPatchIndex]             ; // L0 Gamma Patch Index
      81             : 
      82             :     Int_t     fNL1GammaPatch                           [max_L1Gamma]; // N L1 Gamma Patch
      83             :     UInt_t    fG                                    [3][max_L1Gamma]; // Gamma threshold parameter:A,B,C
      84             :     UInt_t    fL1GammaThreshold                        [max_L1Gamma]; // L1 Gamma Threshold
      85             :     UShort_t  fL1GammaPatchIndex[max_L1GammaPatchIndex][max_L1Gamma]; // L1 Gamma Patch Index
      86             :     
      87             :     UInt_t    fADC[max_nTRU][max_nmoduleInTRU];
      88             : 
      89             :     UInt_t    fV0A        ;      // V0A
      90             :     UInt_t    fV0C        ;      // V0C
      91             : 
      92             :     UInt_t    fRegionEnable   ;  // Region Enable
      93             :     UInt_t    fFrameReceived  ;  // Frame Received
      94             :     UInt_t    fFwVersion      ;  // Fw Version
      95             : 
      96           0 :     Int_t     GetnTRU()const{ return  nTRU_PHOS;}
      97           0 :     Int_t     GetnMod()const{ return  nMod_PHOS;}
      98             :     
      99             :     virtual void    DecodeL1GammaPatchIndexes(const int i, UInt_t *word32, const int offset);
     100             :     virtual void    DecodeL0GammaPatchIndexes(             UInt_t *word32, const int offset);
     101             :     virtual void    DecodeTRUADC(                          UInt_t *word32, const int offset);
     102             : 
     103             : 
     104          30 :     ClassDef(AliPHOSTriggerSTURawStream,2)   // class for reading PHOS STU DDL raw data
     105             : };
     106             : 
     107             : #endif

Generated by: LCOV version 1.11