43 #ifdef G4MULTITHREADED
61 #ifdef G4MULTITHREADED
62 G4MUTEXLOCK(&G4ImportanceAlgorithm::ImportanceMutex);
68 Error(
"Calculate() - ipre==0.");
70 G4double ipre_over_ipost = ipre/ipost;
71 if ((ipre_over_ipost<0.25 || ipre_over_ipost> 4) && !fWorned) {
72 std::ostringstream os;
73 os <<
"Calculate() - ipre_over_ipost ! in [0.25, 4]." <<
G4endl
74 <<
"ipre_over_ipost = " << ipre_over_ipost <<
".";
77 if (ipre_over_ipost<=0) {
78 Error(
"Calculate() - ipre_over_ipost<=0.");
82 Error(
"Calculate() - iniitweight<= 0. found!");
89 nw.
fN =
static_cast<G4int>(inv);
90 nw.
fW = init_w * ipre_over_ipost;
93 if (ipre_over_ipost<1) {
94 if ( static_cast<G4double>(nw.
fN) != inv) {
107 else if (ipre_over_ipost>1) {
122 #ifdef G4MULTITHREADED
128 void G4ImportanceAlgorithm::Error(
const G4String &msg)
const
134 void G4ImportanceAlgorithm::Warning(
const G4String &msg)
const
virtual G4Nsplit_Weight Calculate(G4double ipre, G4double ipost, G4double init_w) const
#define G4MUTEX_INITIALIZER
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
virtual ~G4ImportanceAlgorithm()