Implemented a flag to enable/disable the error info logger
authorivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 28 Jun 2007 14:45:53 +0000 (14:45 +0000)
committerivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 28 Jun 2007 14:45:53 +0000 (14:45 +0000)
(Christian)

MUON/AliMUONDigitMaker.cxx
MUON/AliMUONDigitMaker.h
MUON/AliMUONRawStreamTracker.cxx
MUON/AliMUONRawStreamTracker.h
MUON/AliMUONRawStreamTrigger.cxx
MUON/AliMUONRawStreamTrigger.h

index 8e3b472..d48752e 100644 (file)
@@ -69,7 +69,7 @@ ClassImp(AliMUONDigitMaker) // Class implementation in ROOT context
 /// \endcond
 
 //__________________________________________________________________________
-AliMUONDigitMaker::AliMUONDigitMaker()
+AliMUONDigitMaker::AliMUONDigitMaker(Bool_t enableErrorLogger)
   : TObject(),
     fScalerEvent(kFALSE),
     fMakeTriggerDigits(kFALSE),
@@ -86,6 +86,10 @@ AliMUONDigitMaker::AliMUONDigitMaker()
   AliDebug(1,"");
 
   // Standard Constructor
+  if (enableErrorLogger) {
+    fRawStreamTracker->EnabbleErrorLogger();
+    fRawStreamTrigger->EnabbleErrorLogger();
+  }
 
   fTrackerTimer.Start(kTRUE); fTrackerTimer.Stop();
   fTriggerTimer.Start(kTRUE); fTriggerTimer.Stop();
index 03e369a..ca6dee2 100644 (file)
@@ -28,7 +28,7 @@ class AliMUONVTriggerStore;
 class AliMUONDigitMaker : public TObject 
 {
  public:
-  AliMUONDigitMaker(); // Constructor
+  AliMUONDigitMaker(Bool_t enableErrorLogger = kTRUE); // Constructor
   virtual ~AliMUONDigitMaker(void); // Destructor
     
   // write raw data
@@ -57,7 +57,7 @@ private:
 
 private:
 
-  Bool_t           fScalerEvent;       //!< flag to generates scaler event
+  Bool_t fScalerEvent;       //!< flag to generates scaler event
   Bool_t fMakeTriggerDigits; //!< whether or not we should generate digits for the trigger
   
   AliMUONRawStreamTracker* fRawStreamTracker;  //!< pointer of raw stream for tracker
@@ -69,7 +69,7 @@ private:
 
   AliMUONVDigitStore* fDigitStore; //!< not owner
   AliMUONVTriggerStore* fTriggerStore; //!< not owner
-  
+
   ClassDef(AliMUONDigitMaker,5) // MUON digit maker from rawdata
 };
        
index e15c27f..f0bf795 100644 (file)
@@ -27,9 +27,9 @@
 /// It can loop also over DDL and store the decoded rawdata in TClonesArray
 /// in Payload class.
 /// 
-/// First version implement for Tracker
+/// Version implement for Tracker
 ///
-/// \author Christian Finck
+/// \author Christian Finck & Laurent Aphecetche
 ///////////////////////////////////////////////////////////////////////////////
 
 #include "AliMUONRawStreamTracker.h"
@@ -51,19 +51,20 @@ ClassImp(AliMUONRawStreamTracker)
 
 AliMUONRawStreamTracker::AliMUONRawStreamTracker()
 : TObject(),
-fRawReader(0x0),
-fDDL(0),
-fMaxDDL(20),
-fPayload(new AliMUONPayloadTracker()),
-fCurrentDDL(0),
-fCurrentDDLIndex(fMaxDDL),
-fCurrentBlockHeader(0),
-fCurrentBlockHeaderIndex(0),
-fCurrentDspHeader(0),
-fCurrentDspHeaderIndex(0),
-fCurrentBusStruct(0),
-fCurrentBusStructIndex(0),
-fCurrentDataIndex(0)
+  fRawReader(0x0),
+  fDDL(0),
+  fMaxDDL(20),
+  fPayload(new AliMUONPayloadTracker()),
+  fCurrentDDL(0),
+  fCurrentDDLIndex(fMaxDDL),
+  fCurrentBlockHeader(0),
+  fCurrentBlockHeaderIndex(0),
+  fCurrentDspHeader(0),
+  fCurrentDspHeaderIndex(0),
+  fCurrentBusStruct(0),
+  fCurrentBusStructIndex(0),
+  fCurrentDataIndex(0),
+  fEnableErrorLogger(kFALSE)
 {
   ///
   /// create an object to read MUON raw digits
@@ -76,19 +77,20 @@ fCurrentDataIndex(0)
 //_________________________________________________________________
 AliMUONRawStreamTracker::AliMUONRawStreamTracker(AliRawReader* rawReader)
 : TObject(),
-fRawReader(rawReader),
-fDDL(0),
-fMaxDDL(20),
-fPayload(new AliMUONPayloadTracker()),
-fCurrentDDL(0L),
-fCurrentDDLIndex(fMaxDDL),
-fCurrentBlockHeader(0),
-fCurrentBlockHeaderIndex(0),
-fCurrentDspHeader(0),
-fCurrentDspHeaderIndex(0),
-fCurrentBusStruct(0),
-fCurrentBusStructIndex(0),
-fCurrentDataIndex(0)
+  fRawReader(rawReader),
+  fDDL(0),
+  fMaxDDL(20),
+  fPayload(new AliMUONPayloadTracker()),
+  fCurrentDDL(0L),
+  fCurrentDDLIndex(fMaxDDL),
+  fCurrentBlockHeader(0),
+  fCurrentBlockHeaderIndex(0),
+  fCurrentDspHeader(0),
+  fCurrentDspHeaderIndex(0),
+  fCurrentBusStruct(0),
+  fCurrentBusStructIndex(0),
+  fCurrentDataIndex(0),
+  fEnableErrorLogger(kFALSE)
 {
   ///
   /// ctor with AliRawReader as argument
@@ -209,7 +211,7 @@ AliMUONRawStreamTracker::GetNextDDL()
   
   Bool_t ok = fPayload->Decode(buffer, totalDataWord/4);
   
-  AddErrorMessage();
+  if (fEnableErrorLogger) AddErrorMessage();
 
   delete[] buffer;
   
@@ -364,7 +366,7 @@ Bool_t AliMUONRawStreamTracker::NextDDL()
   
   Bool_t ok = fPayload->Decode(buffer, totalDataWord/4);
 
-  AddErrorMessage();
+  if (fEnableErrorLogger) AddErrorMessage();
 
   delete[] buffer;
   
index b914aae..7eb7dbe 100644 (file)
@@ -83,6 +83,13 @@ class AliMUONRawStreamTracker: public TObject {
     /// Whether the iteration is finished or not
     Bool_t IsDone() const;
 
+
+    /// add error message into error logger
+    void AddErrorMessage();
+
+    /// Enable error info logger
+    void EnabbleErrorLogger() {fEnableErrorLogger = kTRUE;}
+
     /// error numbers
     enum rawStreamTrackerError {
       kGlitchErr      = 1, ///< glitch error 
@@ -90,7 +97,6 @@ class AliMUONRawStreamTracker: public TObject {
       kParityErr      = 3  ///< parity error
     };
 
-
   private :
     /// Not implemented
     AliMUONRawStreamTracker(const AliMUONRawStreamTracker& stream);
@@ -102,9 +108,6 @@ class AliMUONRawStreamTracker: public TObject {
     Bool_t GetNextDspHeader();
     Bool_t GetNextBusStruct();
 
-    /// add error message into error logger
-    void AddErrorMessage();
-
  
  private:
     AliRawReader*    fRawReader;    ///< object for reading the raw data  
@@ -121,6 +124,7 @@ class AliMUONRawStreamTracker: public TObject {
     AliMUONBusStruct* fCurrentBusStruct; //!< for iterator: current bus ptr
     Int_t fCurrentBusStructIndex; //!< for iterator: current bus index    
     Int_t fCurrentDataIndex; //!< for iterator: current data index
+    Bool_t fEnableErrorLogger; //!< flag to enable the error info logger
     
     ClassDef(AliMUONRawStreamTracker, 3)    // base class for reading MUON raw digits
 };
index 09bc37a..2f48443 100644 (file)
@@ -49,7 +49,8 @@ AliMUONRawStreamTrigger::AliMUONRawStreamTrigger()
     fDDL(0),
     fSubEntries(0),
     fNextDDL(kTRUE),
-    fMaxDDL(2)
+    fMaxDDL(2),
+    fEnableErrorLogger(kFALSE)
 {
   ///
   /// create an object to read MUON raw digits
@@ -67,8 +68,8 @@ AliMUONRawStreamTrigger::AliMUONRawStreamTrigger(AliRawReader* rawReader)
     fDDL(0),
     fSubEntries(0),
     fNextDDL(kTRUE),
-    fMaxDDL(2)
-
+    fMaxDDL(2),
+    fEnableErrorLogger(kFALSE)
 {
   ///
   /// ctor with AliRawReader as argument
@@ -141,7 +142,7 @@ Bool_t AliMUONRawStreamTrigger::NextDDL()
   if (!fRawReader->ReadNext((UChar_t*)buffer, totalDataWord)) return kFALSE; 
   
   fPayload->Decode(buffer);
-  AddErrorMessage();
+  if (fEnableErrorLogger) AddErrorMessage();
 
   fDDL++;
 
index 4460b04..7870b2e 100644 (file)
@@ -54,6 +54,9 @@ class AliMUONRawStreamTrigger: public TObject {
     /// add error message into error logger
     void AddErrorMessage();
 
+    /// Enable error info logger
+    void EnabbleErrorLogger() {fEnableErrorLogger = kTRUE;}
+
     /// error numbers
     enum rawStreamTriggerError {
       kDarcEoWErr   = 6, ///< end of Darc word error 
@@ -76,6 +79,7 @@ class AliMUONRawStreamTrigger: public TObject {
     Int_t  fSubEntries;   ///< entries of buspatch structure
     Bool_t fNextDDL;      ///< flag for next DDL to be read
     Int_t  fMaxDDL;       ///< maximum number of DDL in DATE file
+    Bool_t fEnableErrorLogger; //!< flag to enable the error info logger
 
     ClassDef(AliMUONRawStreamTrigger, 3)    // base class for reading MUON trigger rawdata
 };