]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliRawDataErrorLog.cxx
For primary tracks, when mother-particle is defined, add label and
[u/mrichter/AliRoot.git] / STEER / AliRawDataErrorLog.cxx
CommitLineData
72b6c6b6 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16/////////////////////////////////////////////////////////////////////
17// Implementation of AliRawDataErrorLog class //
18// //
19// class AliRawDataErrorLog //
20// This is a class for logging raw-data related errors. //
21// It is used to record and retrieve of the errors //
22// during the reading and reconstruction of raw-data and ESD //
23// analysis. //
24// Further description of the methods and functionality are given //
25// inline. //
26// //
27// cvetan.cheshkov@cern.ch //
28// //
29/////////////////////////////////////////////////////////////////////
30
31#include "AliRawDataErrorLog.h"
32
72090342 33#include <Riostream.h>
34
72b6c6b6 35ClassImp(AliRawDataErrorLog)
36
37//_____________________________________________________________________________
38AliRawDataErrorLog::AliRawDataErrorLog() :
39 TNamed(),
40 fEventNumber(-1),
41 fDdlID(-1),
9fc249d9 42 fErrorLevel(AliRawDataErrorLog::kMinor),
79dac785 43 fErrorCode(0),
44 fCount(0)
72b6c6b6 45{
46 // Default constructor
47}
48
49//_____________________________________________________________________________
50AliRawDataErrorLog::AliRawDataErrorLog(Int_t eventNumber, Int_t ddlId,
9fc249d9 51 ERawDataErrorLevel errorLevel,
52 Int_t errorCode,
72b6c6b6 53 const char *message) :
54 TNamed(message,""),
55 fEventNumber(eventNumber),
56 fDdlID(ddlId),
9fc249d9 57 fErrorLevel(errorLevel),
79dac785 58 fErrorCode(errorCode),
59 fCount(1)
72b6c6b6 60{
61 // Constructor that specifies
62 // the event number, ddl id, error type and
63 // custom message related to the error
64}
65
66//___________________________________________________________________________
67AliRawDataErrorLog::AliRawDataErrorLog(const AliRawDataErrorLog & source) :
68 TNamed(source),
69 fEventNumber(source.fEventNumber),
70 fDdlID(source.fDdlID),
9fc249d9 71 fErrorLevel(source.fErrorLevel),
79dac785 72 fErrorCode(source.fErrorCode),
73 fCount(source.fCount)
72b6c6b6 74{
75 // Copy constructor
76}
77
78//___________________________________________________________________________
79AliRawDataErrorLog & AliRawDataErrorLog::operator=(const AliRawDataErrorLog &source)
80{
81 // assignment operator
82 if (this != &source) {
83 TNamed::operator=(source);
84
85 fEventNumber = source.GetEventNumber();
86 fDdlID = source.GetDdlID();
9fc249d9 87 fErrorLevel = source.GetErrorLevel();
88 fErrorCode = source.GetErrorCode();
79dac785 89 fCount = source.GetCount();
72b6c6b6 90 }
91 return *this;
92}
93
94//_____________________________________________________________________________
95Int_t AliRawDataErrorLog::Compare(const TObject *obj) const
96{
97 // Compare the event numbers and DDL IDs
98 // of two error log objects.
99 // Used in the sorting of raw data error logs
100 // during the raw data reading and reconstruction
101 Int_t eventNumber = ((AliRawDataErrorLog*)obj)->GetEventNumber();
102 Int_t ddlID = ((AliRawDataErrorLog*)obj)->GetDdlID();
103
104 if (fEventNumber == eventNumber) {
105 if (fDdlID == ddlID)
106 return 0;
107 else
108 return ((fDdlID > ddlID) ? 1 : -1);
109 }
110 else
111 return ((fEventNumber > eventNumber) ? 1 : -1);
112}
72090342 113
114//_____________________________________________________________________________
115const char*
116AliRawDataErrorLog::GetErrorLevelAsString() const
117{
118 switch ( GetErrorLevel() )
119 {
120 case kMinor:
121 return "MINOR";
122 break;
123 case kMajor:
124 return "MAJOR";
125 break;
126 case kFatal:
127 return "FATAL";
128 break;
129 default:
130 return "INVALID";
131 break;
132 }
133
134}
135
136//_____________________________________________________________________________
137void
138AliRawDataErrorLog::Print(Option_t*) const
139{
140 cout << Form("EventNumber %10d DdlID %5d ErrorLevel %10s ErrorCode %4d Occurence %5d",
141 GetEventNumber(),GetDdlID(),
142 GetErrorLevelAsString(),
143 GetErrorCode(),
144 GetCount()) << endl;
145 cout << " " << GetMessage() << endl;
146}