]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliRawDataErrorLog.h
Combine same consequtive raw-data reading errors into one error
[u/mrichter/AliRoot.git] / STEER / AliRawDataErrorLog.h
1 #ifndef ALIRAWDATAERRORLOG_H
2 #define ALIRAWDATAERRORLOG_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /////////////////////////////////////////////////////////////////////
8 //                                                                 //
9 // class AliRawDataErrorLog                                        //
10 // This is a class for logging raw-data related errors.            //
11 // It is used to record and retrieve of the errors                 //
12 // during the reading and reconstruction of raw-data and ESD       //
13 // analysis.                                                       //
14 // Further description of the methods and functionality are given  //
15 // inline.                                                         //
16 //                                                                 //
17 // cvetan.cheshkov@cern.ch                                         //
18 //                                                                 //
19 /////////////////////////////////////////////////////////////////////
20
21 #include <TNamed.h>
22
23 class AliRawDataErrorLog: public TNamed {
24
25  public:
26
27   enum ERawDataErrorLevel {
28     kMinor = 1, 
29     kMajor = 2, 
30     kFatal = 3
31   };
32
33   AliRawDataErrorLog();
34   AliRawDataErrorLog(Int_t eventNumber, Int_t ddlId,
35                      ERawDataErrorLevel errorLevel,
36                      Int_t errorCode,
37                      const char *message = NULL);
38   AliRawDataErrorLog(const AliRawDataErrorLog & source);
39   AliRawDataErrorLog & operator=(const AliRawDataErrorLog & source);
40   virtual ~AliRawDataErrorLog() {};
41
42   Int_t              GetEventNumber() const { return fEventNumber; }
43   Int_t              GetDdlID()       const { return fDdlID; }
44   ERawDataErrorLevel GetErrorLevel()  const { return fErrorLevel; }
45   Int_t              GetErrorCode()   const { return fErrorCode; }
46   const char *       GetMessage()     const { return fName.Data(); }
47   Int_t              GetCount()       const { return fCount; }
48
49   Bool_t            IsSortable() const {return kTRUE;}
50   Int_t             Compare(const TObject* obj) const;
51
52   void               AddCount() { fCount++; }
53
54  private:
55
56   Int_t              fEventNumber; // Event number as it appears in the input raw-data file
57   Int_t              fDdlID;       // ID of the DLL in which the error occured
58   ERawDataErrorLevel fErrorLevel;  // Level of the raw data error
59   Int_t              fErrorCode;   // Code of the raw data error (detector-specific)
60   Int_t              fCount;       // Counter of identical errors (occurances)
61
62   ClassDef(AliRawDataErrorLog, 3)
63 };
64
65 #endif