59 G4int infoType, dataType;
61 while (theData >> infoType)
68 if(dataType==4) theNeutronAngularDis.
Init(theData);
69 if(dataType==5) thePromptNeutronEnDis.
Init(theData);
70 if(dataType==12) theFinalStatePhotons.
InitMean(theData);
71 if(dataType==14) theFinalStatePhotons.
InitAngular(theData);
72 if(dataType==15) theFinalStatePhotons.
InitEnergies(theData);
75 if(dataType==1) theFinalStateNeutrons.
InitMean(theData);
78 if(dataType==1) theFinalStateNeutrons.
InitDelayed(theData);
79 if(dataType==5) theDelayedNeutronEnDis.
Init(theData);
82 if(dataType==1) theFinalStateNeutrons.
InitPrompt(theData);
85 if(dataType==1) theEnergyRelease.
Init(theData);
88 G4cout <<
"G4NeutronHPFSFissionFS::Init: unknown data type"<<dataType<<
G4endl;
89 throw G4HadronicException(__FILE__, __LINE__,
"G4NeutronHPFSFissionFS::Init: unknown data type");
104 boosted.
Lorentz(theNeutron, theTarget);
109 for(i=0; i<nPrompt+nDelayed; i++)
117 for(i=0; i<nPrompt; i++)
119 tempE = thePromptNeutronEnDis.
Sample(eKinetic, dummy);
122 for(i=nPrompt; i<nPrompt+nDelayed; i++)
130 for(i=0; i<nPrompt+nDelayed; i++)
136 for(i=0; i<nPrompt+nDelayed; i++)
141 aResult->push_back(dp);
143 delete [] theNeutrons;
151 promptNeutronMulti = theFinalStateNeutrons.
GetPrompt(eKinetic);
153 delayedNeutronMulti = theFinalStateNeutrons.
GetDelayed(eKinetic);
155 if(delayedNeutronMulti==0&&promptNeutronMulti==0)
165 Prompt =
G4Poisson(promptNeutronMulti-off);
167 delayed =
G4Poisson(delayedNeutronMulti);
168 all = Prompt+delayed;
178 boosted.
Lorentz(theNeutron, theTarget);
180 temp = theFinalStatePhotons.
GetPhotons(anEnergy);
181 if(temp == 0) {
return 0; }
186 for(i=0; i<temp->size(); i++)
189 temp->operator[](i)->Lorentz(*(temp->operator[](i)), -1.*theTarget);
192 theOne->
SetMomentum(temp->operator[](i)->GetMomentum());
193 result->push_back(theOne);
194 delete temp->operator[](i);