33 #ifndef G4FFGDEBUGGINGMACROS_HH 34 #define G4FFGDEBUGGINGMACROS_HH 43 #define G4FFG_FUNCTION_SIGNATURE__ G4String(__func__) + "()" 44 #elif defined(_MSC_VER) 46 #define G4FFG_FUNCTION_SIGNATURE__ G4String(__FUNCTION__) + "()" 48 #define G4FFG_FUNCTION_SIGNATURE__ "a function" 52 #if defined(G4DEBUG_VERBOSE) 56 extern G4long G4FFGDEBUG_RECURSIVE_REPRESSION;
60 extern G4long G4FFGDEBUG_RECURSIVE_REPRESSION_COUNTER;
64 extern G4long G4FFGDEBUG_DATA_STRUCTURE_REPRESSION;
68 extern G4long G4FFGDEBUG_DATA_STRUCTURE_REPRESSION_COUNTER;
75 #define G4FFG_FUNCTIONENTER__ \ 76 if((Verbosity_ & G4FFGEnumerations::DEBUG) && !(Verbosity_ & G4FFGEnumerations::REPRESS_FUNCTION_ENTER_LEAVE_MESSAGES)) \ 79 G4cout << "Entering ";\ 90 #define G4FFG_SAMPLING_FUNCTIONENTER__ \ 91 if(!(Verbosity_ & G4FFGEnumerations::REPRESS_RANDOM_SAMPLING_MESSAGES)) \ 93 G4FFG_FUNCTIONENTER__ \ 101 #define G4FFG_RECURSIVE_FUNCTIONENTER__ \ 102 if(Verbosity_ & G4FFGEnumerations::REPRESS_RECURSIVE_DEBUG_MESSAGES)\ 104 if(G4FFGDEBUG_RECURSIVE_REPRESSION == 0) \ 106 G4FFG_FUNCTIONENTER__ \ 109 G4FFGDEBUG_RECURSIVE_REPRESSION_COUNTER++; \ 111 G4FFGDEBUG_RECURSIVE_REPRESSION++; \ 114 G4FFG_FUNCTIONENTER__ \ 122 #define G4FFG_DATA_FUNCTIONENTER__ \ 123 if(Verbosity_ & G4FFGEnumerations::REPRESS_DATA_STRUCTURE_DEBUG_MESSAGES)\ 125 if(G4FFGDEBUG_RECURSIVE_REPRESSION == 0) \ 127 G4FFG_FUNCTIONENTER__ \ 130 G4FFGDEBUG_DATA_STRUCTURE_REPRESSION_COUNTER++; \ 132 G4FFGDEBUG_RECURSIVE_REPRESSION++; \ 135 G4FFG_FUNCTIONENTER__ \ 144 #define G4FFG_FUNCTIONLEAVE__ \ 146 if((Verbosity_ & G4FFGEnumerations::DEBUG) && !(Verbosity_ & G4FFGEnumerations::REPRESS_FUNCTION_ENTER_LEAVE_MESSAGES)) \ 149 G4cout << "Leaving ";\ 159 #define G4FFG_SAMPLING_FUNCTIONLEAVE__ \ 160 if(!(Verbosity_ & G4FFGEnumerations::REPRESS_RANDOM_SAMPLING_MESSAGES)) \ 162 G4FFG_FUNCTIONLEAVE__ \ 170 #define G4FFG_RECURSIVE_FUNCTIONLEAVE__ \ 171 if(Verbosity_ & G4FFGEnumerations::REPRESS_RECURSIVE_DEBUG_MESSAGES)\ 173 G4FFGDEBUG_RECURSIVE_REPRESSION--; \ 174 if(G4FFGDEBUG_RECURSIVE_REPRESSION == 0) \ 176 if(G4FFGDEBUG_RECURSIVE_REPRESSION_COUNTER > 0) \ 179 G4cout << "==== " << G4FFGDEBUG_RECURSIVE_REPRESSION_COUNTER * 2 << " recursive function messages suppressed ====" << G4endl; \ 180 G4FFGDEBUG_RECURSIVE_REPRESSION_COUNTER = 0; \ 182 G4FFG_FUNCTIONLEAVE__ \ 186 G4FFG_FUNCTIONLEAVE__ \ 194 #define G4FFG_DATA_FUNCTIONLEAVE__ \ 195 if(Verbosity_ & G4FFGEnumerations::REPRESS_DATA_STRUCTURE_DEBUG_MESSAGES)\ 197 G4FFGDEBUG_RECURSIVE_REPRESSION--; \ 198 if(G4FFGDEBUG_RECURSIVE_REPRESSION == 0) \ 200 if(G4FFGDEBUG_DATA_STRUCTURE_REPRESSION_COUNTER > 0) \ 203 G4cout << "==== " << G4FFGDEBUG_DATA_STRUCTURE_REPRESSION_COUNTER * 2 << " data structure function messages suppressed ====" << G4endl; \ 204 G4FFGDEBUG_DATA_STRUCTURE_REPRESSION_COUNTER = 0; \ 206 G4FFG_FUNCTIONLEAVE__ \ 210 G4FFG_FUNCTIONLEAVE__ \ 215 #define G4FFG_FUNCTIONENTER__ G4FFG_DEPTH++; 216 #define G4FFG_SAMPLING_FUNCTIONENTER__ 217 #define G4FFG_RECURSIVE_FUNCTIONENTER__ 218 #define G4FFG_DATA_FUNCTIONENTER__ 219 #define G4FFG_FUNCTIONLEAVE__ G4FFG_DEPTH--; 220 #define G4FFG_SAMPLING_FUNCTIONLEAVE__ 221 #define G4FFG_RECURSIVE_FUNCTIONLEAVE__ 222 #define G4FFG_DATA_FUNCTIONLEAVE__