50 if ( getenv(
"G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS") &&
theFF.
HasFSData() )
52 G4cout <<
"Activate Fission Fragments Production 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."
103 theNeutron.
Lorentz(theNeutron, -1*theTarget);
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;
175 if( theNeutrons != 0)
177 theDecayConstants =
new G4double[delayed];
182 for(i=0; i<theNeutrons->size(); i++)
191 for(i=0; i<theDelayed->size(); i++)
204 theDecayConstants =
new G4double[delayed];
205 if(Prompt==0&&delayed==0) Prompt=all;
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++)
279 G4ThreeVector direction (sinth*std::cos(phi) , sinth*std::sin(phi), std::cos(theta) );
void Init(G4double A, G4double Z, G4int M, G4String &dirName, G4String &aFSType)
G4NeutronHPTCFissionFS theTC
void SetNeutron(const G4ReactionProduct &aNeutron)
virtual G4double GetXsec(G4double anEnergy)
void Lorentz(const G4ReactionProduct &p1, const G4ReactionProduct &p2)
G4HadSecondary * GetSecondary(size_t i)
CLHEP::Hep3Vector G4ThreeVector
void Init(G4double A, G4double Z, G4int M, G4String &dirName, G4String &aFSType)
void SetKineticEnergy(const G4double en)
G4NeutronHPLCFissionFS theLC
void SetMomentum(const G4double x, const G4double y, const G4double z)
G4ParticleDefinition * GetIon(G4int Z, G4int A, G4int lvl=0)
G4double GetFragmentKinetic()
G4NeutronHPFissionERelease * GetEnergyRelease()
void Init(G4double A, G4double Z, G4int M, G4String &dirName, G4String &aFSType)
void SetTarget(const G4ReactionProduct &aTarget)
G4NeutronHPFSFissionFS theFS
void Init(G4double A, G4double Z, G4int M, G4String &dirName, G4String &aFSType)
void SetStatusChange(G4HadFinalStateStatus aS)
void SetTarget(const G4ReactionProduct &aTarget)
G4DynamicParticleVector * ApplyYourself(G4int NNeutrons)
G4NeutronHPSCFissionFS theSC
G4ReactionProduct GetBiasedThermalNucleus(G4double aMass, G4ThreeVector aVelocity, G4double temp=-1) const
G4HadFinalState theResult
G4GLOB_DLL std::ostream G4cout
G4HadFinalState * ApplyYourself(const G4HadProjectile &theTrack)
const G4ParticleDefinition * GetDefinition() const
G4DynamicParticleVector * ApplyYourself(G4int Prompt, G4int delayed, G4double *decayconst)
void Init(G4double A, G4double Z, G4int M, G4String &dirName, G4String &aFSType)
void Init(G4double A, G4double Z, G4int M, G4String &dirName, G4String &aFSType)
G4double GetKineticEnergy() const
void Init(G4double A, G4double Z, G4int M, G4String &dirName, G4String &aFSType)
G4double GetGlobalTime() const
G4ErrorTarget * theTarget
G4DynamicParticleVector * ApplyYourself(G4int NNeutrons)
G4DynamicParticleVector * GetPhotons()
std::vector< G4DynamicParticle * > G4DynamicParticleVector
void GetAFissionFragment(G4double, G4int &, G4int &, G4int &)
static const G4double A[nN]
const G4LorentzVector & Get4Momentum() const
G4NeutronHPFCFissionFS theFC
static G4IonTable * GetIonTable()
G4double GetKineticEnergy() const
G4bool produceFissionFragments
G4double GetPDGMass() const
G4DynamicParticleVector * ApplyYourself(G4int nNeutrons)
void SampleNeutronMult(G4int &all, G4int &Prompt, G4int &delayed, G4double energy, G4int off)
G4ThreeVector GetMomentum() const
G4double GetTemperature() const
void SetLocalEnergyDeposit(G4double aE)
const G4Material * GetMaterial() const
void SetNeutron(const G4ReactionProduct &aNeutron)
G4NeutronHPFFFissionFS theFF
G4int GetNumberOfSecondaries() const
void AddSecondary(G4DynamicParticle *aP)
G4DynamicParticleVector * ApplyYourself(G4int NNeutrons)