]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONDigitMaker.h
Introduction of AliTRDLeastSquare
[u/mrichter/AliRoot.git] / MUON / AliMUONDigitMaker.h
index 8aa4d00ee11ca05f2b1112be5a48a41e5c12695e..7b1aa7f2698d0d8317a684027576fd767f1bfacf 100644 (file)
@@ -12,7 +12,6 @@
 //  Author: Ch, Finck
 
 #include <TObject.h>
-#include "TStopwatch.h"
 
 class TArrayS;
 
@@ -25,12 +24,22 @@ class AliMUONRawStreamTrigger;
 class AliMUONVDigitStore;
 class AliMUONVTriggerStore;
 
+class AliMUONLogger;
+
 class AliMUONDigitMaker : public TObject 
 {
  public:
-  AliMUONDigitMaker(Bool_t enableErrorLogger = kTRUE, Bool_t useFastDecoder = kTRUE); // Constructor
+  AliMUONDigitMaker(Bool_t enableErrorLogger = kTRUE, Bool_t useFastDecoder = kFALSE); // Constructor
   virtual ~AliMUONDigitMaker(void); // Destructor
     
+  /// Code to indicate readout errors
+  enum ErrorCode
+  {
+    kOK=0,             ///< everything is OK 
+    kTrackerBAD=1<<1,  ///< tracker part had readout errors 
+    kTriggerBAD=1<<2   ///< trigger part had readout errors 
+  };
+  
   // write raw data
   Int_t  Raw2Digits(AliRawReader* rawReader, 
                     AliMUONVDigitStore* digitContainer=0,
@@ -48,6 +57,10 @@ class AliMUONDigitMaker : public TObject
         /// Set flag whether or not we should generate digits for the trigger
   void  SetMakeTriggerDigits(Bool_t flag = kFALSE) { fMakeTriggerDigits = flag; }
 
+  void  SetFastDecoder(Bool_t useFastDecoder); 
+
+  void Print(Option_t* opt="") const;
+
 private:
     
   /// Not implemented
@@ -56,6 +69,7 @@ private:
   AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator
 
 private:
+  void CreateRawStreamTracker(Bool_t useFastDecoder);
 
   Bool_t fScalerEvent;       //!< flag to generates scaler event
   Bool_t fMakeTriggerDigits; //!< whether or not we should generate digits for the trigger
@@ -63,14 +77,12 @@ private:
   AliMUONVRawStreamTracker* fRawStreamTracker; //!< pointer of raw stream for tracker
   AliMUONRawStreamTrigger* fRawStreamTrigger;  //!< pointer of raw stream for trigger
 
-  TStopwatch fTrackerTimer;                    //!< time watcher for tracker part
-  TStopwatch fTriggerTimer;                    //!< time watcher for trigger part
-  TStopwatch fMappingTimer;                    //!< time watcher for mapping-tracker part
-
   AliMUONVDigitStore* fDigitStore; //!< not owner
   AliMUONVTriggerStore* fTriggerStore; //!< not owner
 
-  ClassDef(AliMUONDigitMaker,5) // MUON digit maker from rawdata
+  AliMUONLogger* fLogger; //!< to log messages
+  
+  ClassDef(AliMUONDigitMaker,6) // MUON digit maker from rawdata
 };
        
 #endif