LCOV - code coverage report
Current view: top level - MUON/MUONbase - AliMUONDigitMaker.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 3 6 50.0 %
Date: 2016-06-14 17:26:59 Functions: 4 10 40.0 %

          Line data    Source code
       1             : #ifndef ALIMUONDIGITMAKER_H
       2             : #define ALIMUONDIGITMAKER_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 base
       9             : /// \class AliMUONDigitMaker
      10             : /// \brief Reading Raw data class for trigger and tracker chambers
      11             : ///
      12             : //  Author: Ch, Finck
      13             : 
      14             : #include <TObject.h>
      15             : 
      16             : class TArrayS;
      17             : 
      18             : class AliRawReader;
      19             : class AliMUONLocalStruct;
      20             : 
      21             : class AliMUONRawStreamTrackerHP;
      22             : class AliMUONRawStreamTriggerHP;
      23             : 
      24             : class AliMUONVDigitStore;
      25             : class AliMUONVTriggerStore;
      26             : 
      27             : class AliMUONLogger;
      28             : 
      29             : class AliMUONDigitMaker : public TObject 
      30             : {
      31             :  public:
      32             :   AliMUONDigitMaker(Bool_t enableErrorLogger, Bool_t a, Bool_t b);
      33             : 
      34             :   AliMUONDigitMaker(Bool_t enableErrorLogger = kTRUE); // Constructor
      35             : 
      36             :   virtual ~AliMUONDigitMaker(void); // Destructor
      37             :     
      38             :   /// Code to indicate readout errors
      39             :   enum ErrorCode
      40             :   {
      41             :     kOK=0,             ///< everything is OK 
      42             :     kTrackerBAD=1<<1,  ///< tracker part had readout errors 
      43             :     kTriggerBAD=1<<2   ///< trigger part had readout errors 
      44             :   };
      45             :   
      46             :   // write raw data
      47             :   Int_t  Raw2Digits(AliRawReader* rawReader, 
      48             :                     AliMUONVDigitStore* digitContainer=0,
      49             :                     AliMUONVTriggerStore* triggerStore=0);
      50             : 
      51             :   Int_t  ReadTrackerDDL(AliRawReader* rawReader);
      52             :   Int_t  ReadTriggerDDL(AliRawReader* rawReader);
      53             :   
      54             :   Int_t TriggerDigits(Int_t nBoard, const TArrayS* xyPattern, 
      55             :                       AliMUONVDigitStore& digitStore, Bool_t warn = kTRUE) const;
      56             : 
      57             :   Bool_t TriggerToDigitsStore(const AliMUONVTriggerStore& triggerStore, 
      58             :                               AliMUONVDigitStore& digitStore) const;
      59             : 
      60             :         /// Set flag to generates scaler event
      61           0 :   void  SetScalerEvent() { fScalerEvent = kTRUE; }
      62             : 
      63             :         /// Set flag whether or not we should generate digits for the trigger
      64          10 :   void  SetMakeTriggerDigits(Bool_t flag = kFALSE) { fMakeTriggerDigits = flag; }
      65             : 
      66             :   /// Set flag whether or not we should generate digits for the tracker
      67           9 :   void  SetMakeTrackerDigits(Bool_t flag = kTRUE) { fMakeTrackerDigits = flag; }
      68             : 
      69             :   /// Return the raw stream object which decodes DDL raw data from tracking stations.
      70           0 :   AliMUONRawStreamTrackerHP* GetRawStreamTracker() const { return fRawStreamTracker; }
      71             : 
      72             :   /// Return the raw stream object which decodes DDL raw data from the trigger system.
      73           0 :   AliMUONRawStreamTriggerHP* GetRawStreamTrigger() const { return fRawStreamTrigger; }
      74             : 
      75             :   void Print(Option_t* opt="") const;
      76             : 
      77             :   void SetTryRecover(Bool_t flag);
      78             : 
      79             : private:
      80             :     
      81             :   /// Not implemented
      82             :   AliMUONDigitMaker (const AliMUONDigitMaker& rhs); // copy constructor
      83             :   /// Not implemented
      84             :   AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator
      85             : 
      86             : private:
      87             :   Bool_t fScalerEvent;       //!<! flag to generates scaler event
      88             :   Bool_t fMakeTriggerDigits; //!<! whether or not we should generate digits for the trigger
      89             :   Bool_t fMakeTrackerDigits; //!<! whether or not we should generate digits for the tracker
      90             :   
      91             :   AliMUONRawStreamTrackerHP* fRawStreamTracker; //!<! pointer of raw stream for tracker
      92             :   AliMUONRawStreamTriggerHP* fRawStreamTrigger;  //!<! pointer of raw stream for trigger
      93             : 
      94             :   AliMUONVDigitStore* fDigitStore; //!<! not owner
      95             :   AliMUONVTriggerStore* fTriggerStore; //!<! not owner
      96             : 
      97             :   AliMUONLogger* fLogger; //!<! to log messages
      98             :   
      99      563588 :   ClassDef(AliMUONDigitMaker,8) // MUON digit maker from rawdata
     100             : };
     101             :         
     102             : #endif

Generated by: LCOV version 1.11