ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataUtil/interface/Debug.h
Revision: 1.7
Committed: Tue Jul 8 05:51:29 2008 UTC (16 years, 10 months ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: MITHEP_2_0_x
Changes since 1.6: +10 -3 lines
Log Message:
Docu

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: Debug.h,v 1.6 2008/07/07 16:41:52 paus Exp $
3 //
4 // Debug - detailed logging / debug scheme
5 //
6 // This class defines the debuging masks (EDebugMask), which are used with the MDB (MIT DeBug)
7 // macro together with the log levels to control the verbosity. For example you can do in
8 // your code:
9 // MDB(kAnalysis, 2)
10 // Info("AddFile", "Added %s to list of files.", pname);
11 //
12 // This will printout the Info message provided that the gDebugLevel is >=2 (and provided
13 // the gDebugMask contains the kAnalysis bit.
14 //
15 // As a rule of thumb:
16 // level 1 and 2 should not be used in (event) loops, level 3 and 4 might be used in loops.
17 //
18 // Please, do not introduce more levels!
19 //
20 // Authors: C.Loizides
21 //--------------------------------------------------------------------------------------------------
22
23 #ifndef DATAUTIL_DEBUG_H
24 #define DATAUTIL_DEBUG_H
25
26 #include <Rtypes.h>
27 #include <TError.h>
28
29 namespace mithep
30 {
31 class Debug
32 {
33 public:
34 enum EDebugMask {
35 kNone = 0,
36 kGeneral = 1,
37 kTreeIO = 2,
38 kAnalysis = 4,
39 kModules = 8,
40 kAll = 0xFFFFFFFF
41 };
42 private:
43 Debug();
44 virtual ~Debug() {}
45 Debug(const Debug &cpy);
46
47 ClassDef(Debug, 0) // Defines different debug masks
48 };
49 }
50
51 R__EXTERN mithep::Debug::EDebugMask gDebugMask;
52 R__EXTERN Int_t gDebugLevel;
53
54 #define MDB(mask,level) \
55 if ((mithep::Debug::mask & gDebugMask) && gDebugLevel >= (level))
56
57 #define MitAssert(f,e) \
58 if (!(e)) Fatal(f, kAssertMsg, _QUOTE_(e), __LINE__, __FILE__)
59
60 #define MitAssertStatic(f,e) \
61 if (!(e)) ::Fatal(f, kAssertMsg, _QUOTE_(e), __LINE__, __FILE__)
62
63 #endif