#include <G4FissionStore.hh>
Public Member Functions | |
G4FissionStore () | |
void | setVerboseLevel (G4int verbose=1) |
void | addConfig (G4double a, G4double z, G4double ez, G4double ek, G4double ev) |
void | clear () |
size_t | size () const |
G4FissionConfiguration | generateConfiguration (G4double amax, G4double rand) const |
Definition at line 37 of file G4FissionStore.hh.
G4FissionStore::G4FissionStore | ( | ) |
Definition at line 41 of file G4FissionStore.cc.
References G4cout, and G4endl.
Referenced by G4Fissioner::collide().
00042 { 00043 G4FissionConfiguration config(a, z, ez, ek, ev); 00044 configurations.push_back(config); 00045 if (verboseLevel > 2) G4cout << config << G4endl; 00046 }
void G4FissionStore::clear | ( | ) | [inline] |
G4FissionConfiguration G4FissionStore::generateConfiguration | ( | G4double | amax, | |
G4double | rand | |||
) | const |
Definition at line 48 of file G4FissionStore.cc.
References G4cout, G4endl, and size().
Referenced by G4Fissioner::collide().
00049 { 00050 if (verboseLevel > 1) 00051 G4cout << " >>> G4FissionStore::generateConfiguration" << G4endl; 00052 00053 const G4double small = -30.0; 00054 00055 G4double totProb = 0.0; 00056 configProbs.resize(size(),0.); 00057 00058 if (verboseLevel > 3) 00059 G4cout << " amax " << amax << " ic " << size() << G4endl; 00060 00061 for (size_t i = 0; i < size(); i++) { 00062 G4double ez = configurations[i].ezet; 00063 G4double pr = ez - amax; 00064 00065 if (pr < small) pr = small; 00066 pr = std::exp(pr); 00067 if (verboseLevel > 2) { 00068 G4cout << configurations[i] << "\n probability " << pr << G4endl; 00069 } 00070 totProb += pr; 00071 configProbs[i] = totProb; 00072 }; 00073 00074 G4double st = totProb * rand; 00075 00076 size_t igen = 0; 00077 while (configProbs[igen] <= st && igen < size()) igen++; 00078 00079 if (verboseLevel > 3) G4cout << " igen " << igen << G4endl; 00080 00081 return configurations[igen]; 00082 }
void G4FissionStore::setVerboseLevel | ( | G4int | verbose = 1 |
) | [inline] |
size_t G4FissionStore::size | ( | ) | const [inline] |
Definition at line 47 of file G4FissionStore.hh.
Referenced by G4Fissioner::collide(), and generateConfiguration().