42 #define MAX_SECONDARIES 100 126 const G4Track&
track,
134 *condition = NotForced;
140 G4cout <<
"G4AntiNeutronAnnihilationAtRestProcess::AtRestGetPhysicalInteractionLength ";
142 track.GetDynamicParticle()->DumpInfo();
143 G4cout <<
" in Material " << track.GetMaterial()->GetName() <<
G4endl;
152 const G4Track&
track,
177 for (
G4int i1=0; i1 < numberOfElements; i1++ )
179 normalization += theAtomicNumberDensity[i1] ;
184 for (
G4int i2=0; i2 < numberOfElements; i2++ )
186 runningSum += theAtomicNumberDensity[i2];
188 if (random<=runningSum)
194 if (random>runningSum)
201 G4cout <<
"G4AntiNeutronAnnihilationAtRest::AtRestDoIt is invoked " <<
G4endl;
220 G4Track* aNewTrack =
new G4Track( aNewParticle, localtime*
s, position );
221 aNewTrack->SetTouchableHandle(track.GetTouchableHandle());
281 for (l = 1; l <=
ntot; ++l) {
322 ran1 = xav + ran1 * std::sqrt(xav);
336 for (i = 1; i <= fivex; ++i) {
397 for (i = 2; i <= j; ++i) {
414 for (i = 1; i <= 12; ++i) {
496 en = ek + (rmnve1 + rmnve2) /
G4float(2.);
497 r__1 = en * en - rmnve1 * rmnve2;
498 pcm = r__1 > 0 ? std::sqrt(r__1) : 0;
540 black = (targ *
G4float(1.25) +
552 for (i = 1; i <= nbl; ++i) {
569 ekin1 = tex - (ekin2 - ekin1);
597 for (i = 1; i <= nt; ++i) {
627 for (i = 1; i <= nbl; ++i) {
644 ekin1 = tex - (ekin2 - ekin1);
671 for (i = 3; i <= nt; ++i) {
709 cfa =
G4float(.13043478260869565);
738 evapEnergy1 *= ran1 * gfa +
G4float(1.);
739 if (evapEnergy1 <
G4float(0.)) {
748 while ((ret_val = evapEnergy1 +
evapEnergy3) >= ek1) {
G4double condition(const G4ErrorSymMatrix &m)
static G4Pow * GetInstance()
void DeRegisterExtraProcess(G4VProcess *)
G4double GetMeanLifeTime(const G4Track &, G4ForceCondition *)
G4ParticleDefinition * pdefNeutron
void GenerateSecondaries()
G4GHEKinematicsVector * gkin
void SetParticleDef(G4ParticleDefinition *c)
void SetMomentum(const G4ThreeVector &momentum)
G4ParticleDefinition * pdefGamma
std::vector< G4Element * > G4ElementVector
G4AntiNeutronAnnihilationAtRest(const G4AntiNeutronAnnihilationAtRest &)
G4ParticleDefinition * pdefTriton
static G4HadronicProcessStore * Instance()
~G4AntiNeutronAnnihilationAtRest()
G4double powN(G4double x, G4int n) const
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
G4ParticleDefinition * GetParticleDef()
G4ParticleDefinition * pdefPionZero
void Poisso(G4float, G4int *)
G4GHEKinematicsVector * GetSecondaryKinematics()
G4double theNumberOfInteractionLengthLeft
G4ParticleDefinition * pdefAntiNeutron
G4ParticleDefinition * pdefAlpha
void BuildPhysicsTable(const G4ParticleDefinition &)
virtual void ResetNumberOfInteractionLengthLeft()
#define G4HadronicDeprecate(name)
void SetKineticEnergyAndUpdate(G4double ekin)
G4GHEKinematicsVector * pv
G4VParticleChange * AtRestDoIt(const G4Track &, const G4Step &)
const G4String & GetProcessName() const
void RegisterParticleForExtraProcess(G4VProcess *, const G4ParticleDefinition *)
const G4double * GetAtomicNumDensityVector() const
G4GLOB_DLL std::ostream G4cout
void AntiNeutronAnnihilation(G4int *)
G4int GetNumberOfSecondaries()
G4double AtRestGetPhysicalInteractionLength(const G4Track &, G4ForceCondition *)
G4double currentInteractionLength
void SetProcessSubType(G4int)
G4ParticleDefinition * pdefDeuteron
void SetEnergyAndUpdate(G4double e)
G4ParticleDefinition * pdefPionPlus
void RegisterExtraProcess(G4VProcess *)
G4bool IsApplicable(const G4ParticleDefinition &)
G4double G4Log(G4double x)
void PreparePhysicsTable(const G4ParticleDefinition &)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
void SetEnergy(G4double e)
void SetMomentumAndUpdate(G4ParticleMomentum mom)
G4GHEKinematicsVector result
G4ParticleDefinition * pdefProton
size_t GetNumberOfElements() const
G4ParticleChange aParticleChange
void SetMass(G4double mas)
const G4ElementVector * GetElementVector() const
G4GHEKinematicsVector * eve
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
G4ParticleDefinition * pdefPionMinus
void PrintInfo(const G4ParticleDefinition *)