43 theFS.
Init(A, Z, M, dirName, aFSType);
44 theFC.
Init(A, Z, M, dirName, aFSType);
45 theSC.
Init(A, Z, M, dirName, aFSType);
46 theTC.
Init(A, Z, M, dirName, aFSType);
47 theLC.
Init(A, Z, M, dirName, aFSType);
49 theFF.
Init(A, Z, M, dirName, aFSType);
50 if ( getenv(
"G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS") && theFF.
HasFSData() )
52 G4cout <<
"Activate Fission Fragments Prodcution for the target isotope of "
54 <<
", A = " << (
G4int)A
57 G4cout <<
"As the result, delayed neutrons are omitted and they should be taken care by RadioaActiveDecay."
59 produceFissionFragments =
true;
103 theNeutron.
Lorentz(theNeutron, -1*theTarget);
114 xSec[0] = theFC.
GetXsec(eKinetic);
115 xSec[1] = xSec[0]+theSC.
GetXsec(eKinetic);
116 xSec[2] = xSec[1]+theTC.
GetXsec(eKinetic);
117 xSec[3] = xSec[2]+theLC.
GetXsec(eKinetic);
130 if(random<xSec[i]/xSec[3])
break;
138 G4int Prompt=0, delayed=0, all=0;
144 if(Prompt==0&&delayed==0) Prompt=all;
150 if(Prompt==0&&delayed==0) Prompt=all;
155 if(Prompt==0&&delayed==0) Prompt=all;
160 if(Prompt==0&&delayed==0) Prompt=all;
171 if ( produceFissionFragments ) delayed=0;
175 if( theNeutrons != 0)
177 theDecayConstants =
new G4double[delayed];
182 for(i=0; i<theNeutrons->size(); i++)
190 theDelayed = theFS.
ApplyYourself(0, delayed, theDecayConstants);
191 for(i=0; i<theDelayed->size(); i++)
204 theDecayConstants =
new G4double[delayed];
205 if(Prompt==0&&delayed==0) Prompt=all;
206 theNeutrons = theFS.
ApplyYourself(Prompt, delayed, theDecayConstants);
211 for(i0=0; i0<Prompt; i0++)
217 for(i0=Prompt; i0<Prompt+delayed; i0++)
226 delete [] theDecayConstants;
228 unsigned int nPhotons = 0;
231 nPhotons = thePhotons->size();
232 for(i=0; i<nPhotons; i++)
256 if ( produceFissionFragments )
279 G4ThreeVector direction (sinth*std::cos(phi) , sinth*std::sin(phi), std::cos(theta) );