56 Error(
"Calculate() - ipre==0.");
58 G4double ipre_over_ipost = ipre/ipost;
59 if ((ipre_over_ipost<0.25 || ipre_over_ipost> 4) && !fWarned)
61 std::ostringstream os;
62 os <<
"Calculate() - ipre_over_ipost ! in [0.25, 4]." <<
G4endl
63 <<
"ipre_over_ipost = " << ipre_over_ipost <<
".";
66 if (ipre_over_ipost<=0)
68 Error(
"Calculate() - ipre_over_ipost<=0.");
73 Error(
"Calculate() - iniitweight<= 0. found!");
80 nw.
fN =
static_cast<G4int>(inv);
81 nw.
fW = init_w * ipre_over_ipost;
84 if (ipre_over_ipost<1)
99 else if (ipre_over_ipost>1)
122void G4ImportanceAlgorithm::Error(
const G4String& msg)
const
128void G4ImportanceAlgorithm::Warning(
const G4String& msg)
const
G4TemplateAutoLock< G4Mutex > G4AutoLock
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
#define G4MUTEX_INITIALIZER
G4Nsplit_Weight Calculate(G4double ipre, G4double ipost, G4double init_w) const override
G4Nsplit_Weight is a class (struct) used by importance sampling. It contains the number of tracks a m...