LCOV - code coverage report
Current view: top level - TRD/TRDbase - AliTRDrawData.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 5 20.0 %
Date: 2016-06-14 17:26:59 Functions: 2 9 22.2 %

          Line data    Source code
       1             : #ifndef ALITRDRAWDATA_H
       2             : #define ALITRDRAWDATA_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             : //  Converts TRD digits into a raw data stream                               //
      11             : //                                                                           //
      12             : ///////////////////////////////////////////////////////////////////////////////
      13             : 
      14             : #include "TObject.h"
      15             : #include "AliLog.h"
      16             : #include "AliTRDgeometry.h"
      17             : 
      18             : class TTree;
      19             : class TClonesArray;
      20             : 
      21             : class AliRunLoader;
      22             : 
      23             : class AliRawReader;
      24             : 
      25             : class AliTRDdigitsManager;
      26             : class AliTRDfeeParam;
      27             : class AliTRDarrayADC;
      28             : class AliTRDdigitsParam;
      29             : class AliTRDmcmSim;
      30             : 
      31             : class AliTRDrawData : public TObject {
      32             : 
      33             :  public:
      34             : 
      35             :   AliTRDrawData();
      36             :   AliTRDrawData(const AliTRDrawData &r);
      37             :   virtual ~AliTRDrawData();
      38             : 
      39           0 :   AliTRDrawData &operator=(const AliTRDrawData &/*r*/) { return *this; }
      40             : 
      41             :   virtual Bool_t       Digits2Raw(TTree *digits, const TTree *tracks = NULL);
      42             : 
      43             :   virtual AliTRDdigitsManager *Raw2Digits(AliRawReader *rawReader);
      44             : 
      45           0 :   void                    SetTracklets(TClonesArray*) { AliError("Deprecated, not doing anything."); }
      46           0 :   void                    SetTracks(TClonesArray*) { AliError("Deprecated, not doing anything"); }
      47             : 
      48           0 :   UInt_t  GetTriggerFlags(const Int_t sector) const { return fTrgFlags[sector]; }
      49             : 
      50             :  protected:
      51             : 
      52             :   virtual Bool_t       Digits2Raw(AliTRDdigitsManager* digitsManager); // for fRawVersion > 0
      53             :   virtual Int_t        ProduceHcData(AliTRDarrayADC *digits, Int_t side, Int_t det, UInt_t *buf, Int_t maxSize, Bool_t newEvent, Bool_t newSM);
      54             :           void         ProduceSMIndexData(UInt_t *buf, Int_t& nw);                          // SM index words and header - real data format
      55             :           void         WriteIntermediateWords(UInt_t *buf, Int_t& nw, Int_t& of, const Int_t& maxSize, const Int_t& det, const Int_t& side); // real data format
      56             :           void         AssignStackMask(UInt_t *buf, Int_t nStack);  // re-assignment of stack mask in the SM index word
      57             :           void         AssignLinkMask(UInt_t *buf, Int_t nLayer);   // re-assignment of link mask in the stack index word
      58             :           Int_t        AddStackIndexWords(UInt_t *buf, Int_t nStack, Int_t nMax);   // add stack index words and stack header when there is no data for the stack 
      59             :           Bool_t       ShiftWords(UInt_t *buf, Int_t nStart, Int_t nWords, Int_t nMax); // shifts n words
      60             :   
      61             :   AliRunLoader        *fRunLoader;      //! Run Loader
      62             :   AliTRDgeometry      *fGeo;            //! Geometry
      63             :   AliTRDfeeParam      *fFee;            //! Fee Parameters
      64             :   Int_t                fNumberOfDDLs;   //  Number of DDLs
      65             :   TTree               *fTrackletTree;   //! Tree for tracklets
      66             : 
      67             :   TClonesArray        *fTracklets;      //! Array of online tracklets
      68             :   TClonesArray        *fTracks;         //! Array of GTU tracks
      69             : 
      70             :  private:
      71             : 
      72             :   static       Int_t  fgDataSuppressionLevel;               // Data suppression level - 0:no su, 1: su, 2: deep suppression 
      73             :   static const UInt_t fgkEndOfTrackletMarker  = 0x10001000; // This marks the end of tracklet data words
      74             :   static const UInt_t fgkEndOfDataMarker      = 0x00000000; // This marks the end of HC data words
      75             : 
      76             :   Int_t   fSMindexPos;                // Position of SM index word
      77             :   Int_t   fStackindexPos;             // Position of SM index word
      78             :   UInt_t  fEventCounter;              // Event counter(starting from 1)
      79             :   UInt_t  fTrgFlags[AliTRDgeometry::kNsector]; // trigger flags
      80             :   AliTRDmcmSim      *fMcmSim;         //! MCM simulation for raw data output
      81             :   AliTRDdigitsParam *fDigitsParam;    // Digits parameter
      82             : 
      83       13304 :   ClassDef(AliTRDrawData,8)             //  TRD raw data class
      84             : 
      85             : };
      86             : #endif

Generated by: LCOV version 1.11