00001 #include <iostream>
00002 #include <time.h>
00003 #include <sys/time.h>
00004
00005 #ifndef DEBUG_h
00006 #define DEBUG_h 1
00007
00008
00009
00010 #define DEBUG_EM //G4EventManager
00011
00012
00013
00014
00015
00016 #define SHOWTIME() if(1){\
00017 struct timeval tv;\
00018 gettimeofday(&tv,NULL);\
00019 double timesys = (double)clock();\
00020 timesys *= 1000000./CLOCKS_PER_SEC;\
00021 printf("%u:%u,%f",tv.tv_sec,tv.tv_usec,timesys);\
00022 }
00023
00024
00025 #ifdef DEBUG_MYTRI
00026 #define MYTRI_LINEINFO() if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": " << std::endl;}
00027 #define MYTRI_LINEVAR( var ) if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": "<< #var << " = " << var << std::endl;}
00028 #define MYTRI_LINECONT( var ) if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": "<< var << std::endl;}
00029 #else
00030 #define MYTRI_LINEINFO()
00031 #define MYTRI_LINEVAR( var )
00032 #define MYTRI_LINECONT( var )
00033 #endif
00034
00035 #ifdef DEBUG_MYDETM
00036 #define MYDETM_LINEINFO() if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": " << std::endl;}
00037 #define MYDETM_LINEVAR( var ) if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": "<< #var << " = " << var << std::endl;}
00038 #define MYDETM_LINECONT( var ) if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": "<< var << std::endl;}
00039 #else
00040 #define MYDETM_LINEINFO()
00041 #define MYDETM_LINEVAR( var )
00042 #define MYDETM_LINECONT( var )
00043 #endif
00044
00045 #ifdef DEBUG_EM
00046 #define EM_LINEINFO() if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": " << std::endl;}
00047 #define EM_LINEVAR( var ) if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": "<< #var << " = " << var << std::endl;}
00048 #define EM_LINECONT( var ) if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": "<< var << std::endl;}
00049 #else
00050 #define EM_LINEINFO()
00051 #define EM_LINEVAR( var )
00052 #define EM_LINECONT( var )
00053 #endif
00054
00055 #ifdef DEBUG_MAT
00056 #define MAT_LINEINFO() if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": " << std::endl;}
00057 #define MAT_LINEVAR( var ) if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": "<< #var << " = " << var << std::endl;}
00058 #define MAT_LINECONT( var ) if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": "<< var << std::endl;}
00059 #else
00060 #define MAT_LINEINFO()
00061 #define MAT_LINEVAR( var )
00062 #define MAT_LINECONT( var )
00063 #endif
00064
00065 #ifdef DEBUG_MTA
00066 #define MTA_LINEINFO() if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": " << std::endl;}
00067 #define MTA_LINEVAR( var ) if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": "<< #var << " = " << var << std::endl;}
00068 #define MTA_LINECONT( var ) if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": "<< var << std::endl;}
00069 #else
00070 #define MTA_LINEINFO()
00071 #define MTA_LINEVAR( var )
00072 #define MTA_LINECONT( var )
00073 #endif
00074
00075 #ifdef DEBUG_SA
00076 #define SA_LINEINFO() if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": " << std::endl;}
00077 #define SA_LINEVAR( var ) if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": "<< #var << " = " << var << std::endl;}
00078 #define SA_LINECONT( var ) if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": "<< var << std::endl;}
00079 #else
00080 #define SA_LINEINFO()
00081 #define SA_LINEVAR( var )
00082 #define SA_LINECONT( var )
00083 #endif
00084
00085 #ifdef DEBUG_EA
00086 #define EA_LINEINFO() if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": " << std::endl;}
00087 #define EA_LINEVAR( var ) if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": "<< #var << " = " << var << std::endl;}
00088 #define EA_LINECONT( var ) if (1) {std::cout << __FILE__ << ":" << __FUNCTION__ << "[" << __LINE__ << "] @"; SHOWTIME(); std::cout<<": "<< var << std::endl;}
00089 #else
00090 #define EA_LINEINFO()
00091 #define EA_LINEVAR( var )
00092 #define EA_LINECONT( var )
00093 #endif
00094
00095 #endif