89 theIsotope =
static_cast<G4int>(1000*
Z+
A);
101 std::istringstream theData(std::ios::in);
105 G4int infoType, dataType;
107 while (theData >> infoType)
114 if(dataType==4) theNeutronAngularDis.
Init(theData);
115 if(dataType==5) thePromptNeutronEnDis.
Init(theData);
116 if(dataType==12) theFinalStatePhotons.
InitMean(theData);
117 if(dataType==14) theFinalStatePhotons.
InitAngular(theData);
118 if(dataType==15) theFinalStatePhotons.
InitEnergies(theData);
121 if(dataType==1) theFinalStateNeutrons.
InitMean(theData);
124 if(dataType==1) theFinalStateNeutrons.
InitDelayed(theData);
125 if(dataType==5) theDelayedNeutronEnDis.
Init(theData);
128 if(dataType==1) theFinalStateNeutrons.
InitPrompt(theData);
131 if(dataType==1) theEnergyRelease.
Init(theData);
134 G4cout <<
"G4FissionLibrary::Init: unknown data type"<<dataType<<
G4endl;
135 throw G4HadronicException(__FILE__, __LINE__,
"G4FissionLibrary::Init: unknown data type");
165 theNeutronAngularDis.
SetTarget(theTarget);
168 theNeutron.
Lorentz(theNeutron, -1*theTarget);
176 G4int nPrompt=0, gPrompt=0;
177 SampleMult(theTrack, &nPrompt, &gPrompt, eKinetic);
181 for(
G4int i=0; i<nPrompt; i++)
197 for(
G4int i=0; i<gPrompt; i++)
207 thePhoton->
Lorentz(*thePhoton, -1.*theTarget);
234 promptNeutronMulti = theFinalStateNeutrons.
GetPrompt(eKinetic);
236 delayedNeutronMulti = theFinalStateNeutrons.
GetDelayed(eKinetic);
240 if(delayedNeutronMulti==0&&promptNeutronMulti==0) {
244 if (fe != 0)
delete fe;
245 fe =
new G4fissionEvent(theIsotope, time, totalNeutronMulti, eKinetic);
248 if (fe != 0)
delete fe;
249 fe =
new G4fissionEvent(theIsotope, time, promptNeutronMulti, eKinetic);
252 if (*nPrompt == -1) *nPrompt = 0;
254 if (*gPrompt == -1) *gPrompt = 0;
G4GLOB_DLL std::ostream G4cout
void Put(const value_type &val) const
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
void SetMomentum(const G4ThreeVector &momentum)
G4double GetTotalMomentum() const
void SetKineticEnergy(G4double aEnergy)
G4ParticleHPFinalState * New()
G4HadFinalState * ApplyYourself(const G4HadProjectile &theTrack)
void Init(G4double A, G4double Z, G4int M, G4String &dirName, G4String &, G4ParticleDefinition *)
void SetStatusChange(G4HadFinalStateStatus aS)
void AddSecondary(G4DynamicParticle *aP, G4int mod=-1)
void SetLocalEnergyDeposit(G4double aE)
const G4Material * GetMaterial() const
const G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
const G4LorentzVector & Get4Momentum() const
G4double GetGlobalTime() const
G4double GetTemperature() const
static G4Neutron * Neutron()
G4ReactionProduct GetBiasedThermalNucleus(G4double aMass, G4ThreeVector aVelocity, G4double temp=-1) const
G4double GetPDGMass() const
void SetTarget(const G4ReactionProduct &aTarget)
void SetProjectileRP(const G4ReactionProduct &anIncidentParticleRP)
void Init(std::istream &aDataFile)
void Init(std::istream &theData)
G4Cache< G4HadFinalState * > theResult
G4ParticleHPNames theNames
void Init(std::istream &aDataFile)
G4double GetFragmentKinetic()
static G4ParticleHPManager * GetInstance()
void GetDataStream(G4String, std::istringstream &iss)
G4ParticleHPDataUsed GetName(G4int A, G4int Z, G4String base, G4String rest, G4bool &active)
G4double GetMean(G4double anEnergy)
void InitMean(std::istream &aDataFile)
void InitDelayed(std::istream &aDataFile)
G4double GetPrompt(G4double anEnergy)
void InitPrompt(std::istream &aDataFile)
G4double GetDelayed(G4double anEnergy)
void InitEnergies(std::istream &aDataFile)
void InitAngular(std::istream &aDataFile)
G4bool InitMean(std::istream &aDataFile)
static G4int GetModelID(const G4int modelIndex)
void SetMomentum(const G4double x, const G4double y, const G4double z)
G4double GetTotalMomentum() const
G4double GetKineticEnergy() const
const G4ParticleDefinition * GetDefinition() const
G4ThreeVector GetMomentum() const
void Lorentz(const G4ReactionProduct &p1, const G4ReactionProduct &p2)
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
void SetKineticEnergy(const G4double en)
G4double getPhotonDircosu(G4int index)
G4double getNeutronEnergy(G4int index)
G4double getPhotonEnergy(G4int index)
G4double getNeutronDircosv(G4int index)
G4double getPhotonDircosw(G4int index)
G4double getNeutronDircosw(G4int index)
G4double getNeutronDircosu(G4int index)
G4double getPhotonDircosv(G4int index)