]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliRawDataErrorLog.h
Making AliDCSValue sortable (Vladimir)
[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   const char*        GetErrorLevelAsString() const;
46   Int_t              GetErrorCode()   const { return fErrorCode; }
47   const char *       GetMessage()     const { return fName.Data(); }
48   Int_t              GetCount()       const { return fCount; }
49
50   Bool_t            IsSortable() const {return kTRUE;}
51   Int_t             Compare(const TObject* obj) const;
52
53   void               AddCount() { fCount++; }
54
55   void Print(Option_t* opt="") const;
56   
57  private:
58
59   Int_t              fEventNumber; // Event number as it appears in the input raw-data file
60   Int_t              fDdlID;       // ID of the DLL in which the error occured
61   ERawDataErrorLevel fErrorLevel;  // Level of the raw data error
62   Int_t              fErrorCode;   // Code of the raw data error (detector-specific)
63   Int_t              fCount;       // Counter of identical errors (occurances)
64
65   ClassDef(AliRawDataErrorLog, 3)
66 };
67
68 #endif