LCOV - code coverage report
Current view: top level - ITS/ITSbase - AliITSRawStreamSDDCompressed.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 16 6.2 %
Date: 2016-06-14 17:26:59 Functions: 1 15 6.7 %

          Line data    Source code
       1             : #ifndef ALIITSRAWSTREAMSDDCOMPRESSED_H
       2             : #define ALIITSRAWSTREAMSDDCOMPRESSED_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             : ///////////////////////////////////////////////////////////////////
       9             : //                                                               //
      10             : // Class to decode compressed SDD Raw Data format                //
      11             : // Origin: F.Prino, Torino, prino@to.infn.it                     //
      12             : //                                                               //
      13             : ///////////////////////////////////////////////////////////////////
      14             : 
      15             : #include "AliITSRawStream.h"
      16             : #include "AliITSDDLModuleMapSDD.h"
      17             : 
      18             : class AliRawReader;
      19             : 
      20             : 
      21             : class AliITSRawStreamSDDCompressed: public AliITSRawStream {
      22             :   public :
      23             :     AliITSRawStreamSDDCompressed(AliRawReader* rawReader);
      24             :     AliITSRawStreamSDDCompressed(const AliITSRawStreamSDDCompressed& rs);
      25             :     AliITSRawStreamSDDCompressed& operator=(const AliITSRawStreamSDDCompressed& rs);
      26             :     virtual ~AliITSRawStreamSDDCompressed();
      27             : 
      28             :     virtual Bool_t   Next();
      29             : 
      30           0 :     virtual Int_t    GetAnode() const {return fCoord1;}
      31           0 :     virtual Int_t    GetTime() const {return fCoord2;}
      32           0 :     virtual Int_t    GetChannel() const {return fChannel;}
      33           0 :     virtual Int_t    GetJitter() const {return fJitter;}
      34           0 :     virtual Int_t    GetCarlosId() const {return fCarlosId;}
      35           0 :     virtual UInt_t   GetDataWord() const {return fData;}
      36             : 
      37             :     virtual void SetADCEncoded(Bool_t fl=kTRUE){
      38           0 :       fADCEncoded=fl;
      39           0 :     }
      40             :     virtual void SetDDLModuleMap(AliITSDDLModuleMapSDD* ddlsdd){
      41           0 :       if(!fDDLModuleMap) fDDLModuleMap=new AliITSDDLModuleMapSDD();
      42           0 :       fDDLModuleMap->SetDDLMap(ddlsdd);
      43           0 :     }
      44             :     virtual void     SetZeroSuppLowThreshold(Int_t iMod, Int_t iSid, Int_t th) 
      45           0 :       {fLowThresholdArray[iMod][iSid]=th;}
      46             :     Int_t   GetModuleNumber(UInt_t iDDL, UInt_t iModule) const {
      47           0 :       if(!fDDLModuleMap) return kSPDModules+1; // dummy module number if the DDL map is not set (case of DAs)
      48           0 :       return fDDLModuleMap->GetModuleNumber(iDDL,iModule);
      49           0 :     }
      50             : 
      51             :     enum {kSDDModules = 260};      // number of SDD modules
      52             :     enum {kSPDModules = 240};      // number of SPD modules (used as offset)
      53             :     enum {kDDLsNumber = 24};       // number of DDLs in SDD
      54             :     enum {kModulesPerDDL = 12};    // number of modules in each DDL 
      55             :     enum {kCarlosWords = 12};      // number of FIFOCARLOS Words
      56             :     enum {kFifoWords =  4};        // number of FIFO Words
      57             :     enum ESDDRawStreamError { 
      58             :       kDataError = 1,
      59             :       kDataFormatErr = 2
      60             :     };
      61             :   protected:
      62             : 
      63             :     virtual Int_t    DecompAmbra(Int_t value) const;
      64             :     AliITSDDLModuleMapSDD* fDDLModuleMap; // mapping DDL/module -> module number 
      65             :     UInt_t           fData;         // data read for file
      66             :     Int_t            fCarlosId;     // carlos ID
      67             :     Int_t            fChannel;      // current channel
      68             :     Int_t            fJitter;          // jitter between L0 and pascal stop (x25ns)
      69             :     Int_t            fLowThresholdArray[kSDDModules][2]; // array with low thresholds for all modules
      70             : 
      71             :     Int_t            fDDL;        // current ddl number
      72             :     Bool_t           fADCEncoded;  // flag for data format
      73             :                                   // kTRUE -> ADC encoded in 5+3 bits
      74             :                                   // kFALSE -> ADC decoded (8 bits)
      75             : 
      76         118 :     ClassDef(AliITSRawStreamSDDCompressed, 2) // class for reading ITS SDD raw digits
      77             : };
      78             : 
      79             : #endif

Generated by: LCOV version 1.11