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

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2 loizides 1.7 // $Id: Debug.h,v 1.6 2008/07/07 16:41:52 paus Exp $
3 loizides 1.1 //
4 paus 1.6 // Debug - detailed logging / debug scheme
5 loizides 1.1 //
6 loizides 1.7 // 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 paus 1.6 //
15 loizides 1.7 // As a rule of thumb:
16 paus 1.6 // 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 loizides 1.1 //
20     // Authors: C.Loizides
21     //--------------------------------------------------------------------------------------------------
22    
23 loizides 1.4 #ifndef DATAUTIL_DEBUG_H
24     #define DATAUTIL_DEBUG_H
25    
26     #include <Rtypes.h>
27     #include <TError.h>
28    
29 loizides 1.2 namespace mithep
30     {
31 loizides 1.1 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 loizides 1.5 ClassDef(Debug, 0) // Defines different debug masks
48 loizides 1.2 };
49 loizides 1.3 }
50 loizides 1.1
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 loizides 1.3 #endif