24#define LOG_LEVEL_DEBUG 0
26#define LOG_LEVEL_WARNING 2
28#define LOG_LEVEL_IMPORTANT_WARNING 3
30#define LOG_LEVEL_ALERT 4
32#define LOG_LEVEL_ERROR 5
39#define __METHOD_NAME__ __macro_method_name__(__PRETTY_FUNCTION__)
45#define LOG_DEBUG(msg) {if ((!NODEBUG)&&((DODEBUG)||(!gMURE->GetSilentDebug()))&&(gMURE->GetMessageLevel()<=LOG_LEVEL_DEBUG)) cout<<__METHOD_NAME__<<" : "<<msg<<endl;}
47#define LOG_INFO(msg) { cout<<msg<<endl;}
49#define LOG_WARN(msg) {if ((!gMURE->GetSilentDebug())&&(gMURE->GetMessageLevel()<=LOG_LEVEL_WARNING)) {ostringstream s;s<<msg;cout<<left<<setw(75)<<setfill('*')<<("**** WARNING in "+__METHOD_NAME__+" ")<<endl;cout<<wordwrap(s.str(),75)<<endl;}}
51#define LOG_IMP_WARN(msg) {if (gMURE->GetMessageLevel()<=LOG_LEVEL_IMPORTANT_WARNING) {ostringstream s;s<<msg;cout<<left<<setw(75)<<setfill('*')<<("**** WARNING in "+__METHOD_NAME__+" ")<<endl;cout<<wordwrap(s.str(),75)<<endl;cout<<left<<setw(75)<<setfill('*')<<"*"<<endl;}}
53#define LOG_ALERT(msg) {if (gMURE->GetMessageLevel()<=LOG_LEVEL_ALERT) {ostringstream s;s<<msg;cout<<left<<setw(75)<<setfill('!')<<("!!!! ALERT in "+__METHOD_NAME__+" ")<<endl;cout<<wordwrap(s.str(),75)<<endl;cout<<setw(75)<<setfill('=')<<"!"<<endl;}}
55#define LOG_ERROR(msg) {if (gMURE->GetMessageLevel()<=LOG_LEVEL_ERROR) {ostringstream s;s<<msg;cout<<left<<setw(75)<<setfill('=')<<("==== ERROR in "+__METHOD_NAME__+" ")<<endl;cout<<wordwrap(s.str(),75)<<endl;cout<<setw(75)<<setfill('=')<<"= Exiting MURE ="<<endl;} exit(999);}
69extern std::unique_ptr<MURE>
gMURE;
72extern std::unique_ptr<NucleiTree>
gTREE;
const int DODEBUG
Definition MUREGlobal.hxx:41
const int NODEBUG
Definition MUREGlobal.hxx:40
std::unique_ptr< MURE > gMURE
std::unique_ptr< NucleiTree > gTREE
Definition NucleiTree.cxx:48
Header file for (super)class MURE; also definitions for debugging message macros.
Header file for NucleiTree class.