1#ifndef __JEEP__JMESSAGE__ 
    2#define __JEEP__JMESSAGE__ 
   20namespace JPP { 
using namespace JEEP; }
 
   62#define DEBUG(A)   do { if (debug >= JEEP::debug_t)   { std::cout << A << std::flush; }          } while (0) 
   63#define STATUS(A)  do { if (debug >= JEEP::status_t)  { std::cout << A << std::flush; }          } while (0) 
   64#define NOTICE(A)  do { if (debug >= JEEP::notice_t)  { std::cerr << A << std::flush; }          } while (0) 
   65#define WARNING(A) do { if (debug >= JEEP::warning_t) { std::cerr << "WARNING: " << A << std::flush; }          } while (0) 
   66#define ERROR(A)   do {                               { std::cerr << "ERROR: "   << A << std::flush; }          } while (0) 
   67#define FATAL(A)   do {                               { std::cerr << "FATAL: "   << A << std::endl; exit(1);  } } while (0) 
   82#define VARGS_STREAM(A, B, ...) B 
   90#define ASSERT(A, ...)  do {                                            \ 
   91    if (A) { NOTICE(JEEP::GREEN << "Test at " << __FILE__ << ":" << __LINE__ << " (" << #A << ") \"" << VARGS_STREAM("", ##__VA_ARGS__, "") << "\" passed." << JEEP::RESET << std::endl); } \ 
   92    else   { FATAL (JEEP::RED   << "Test at " << __FILE__ << ":" << __LINE__ << " (" << #A << ") \"" << VARGS_STREAM("", ##__VA_ARGS__, "") << "\" failed." << JEEP::RESET << std::endl); } } while (0) 
 
  100#define QAQC(A) do { if (qaqc > 0) { JLANG::JFileOutputStream(qaqc) << A; } } while (0) 
I/O coloring auxiliaries.
 
int qaqc
QA/QC file descriptor.
 
General puprpose classes and methods.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
Auxiliary class for handling debug parameter within a class.
 
static int debug
debug level (default is off).