57 G4MUTEXLOCK(&G4ImportanceAlgorithm::ImportanceMutex);
65 Error(
"Calculate() - ipre==0.");
67 G4double ipre_over_ipost = ipre/ipost;
68 if ((ipre_over_ipost<0.25 || ipre_over_ipost> 4) && !fWarned)
70 std::ostringstream os;
71 os <<
"Calculate() - ipre_over_ipost ! in [0.25, 4]." <<
G4endl
72 <<
"ipre_over_ipost = " << ipre_over_ipost <<
".";
75 if (ipre_over_ipost<=0)
77 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)
108 else if (ipre_over_ipost>1)
126#ifdef G4MULTITHREADED
132void G4ImportanceAlgorithm::Error(
const G4String& msg)
const
138void G4ImportanceAlgorithm::Warning(
const G4String& msg)
const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
#define G4MUTEX_INITIALIZER
#define G4MUTEXLOCK(mutex)
#define G4MUTEXUNLOCK(mutex)
virtual ~G4ImportanceAlgorithm()
virtual G4Nsplit_Weight Calculate(G4double ipre, G4double ipost, G4double init_w) const