33 #define INCLXX_IN_GEANT4_MODE 1
46 :theParticle(p), incidentDirection(dir)
55 if(m > 1500.0) gg = 200.0;
58 const G4double psf = std::pow(qqq, 3)/(std::pow(qqq, 3) + 5832000.0);
67 if(std::abs(*ctet_par) > 1.0) (*ctet_par) =
Math::sign(*ctet_par);
68 }
while(
Random::shoot() > ((1.0 + 3.0 * hel * (*ctet_par) * (*ctet_par))
70 (*stet_par) = std::sqrt(1.-(*ctet_par)*(*ctet_par));
119 G4double t1 = ctet+cal*stet*sfi/sal;
121 q1=(b1*t1+b2*t2*cfi)/beta;
122 q2=(b2*t1-b1*t2*cfi)/beta;
123 q3=(b3*t1/beta-t2*sfi);
void addCreatedParticle(Particle *p)
void sampleAngles(G4double *, G4double *, G4double *)
G4double getMass() const
Get the cached particle mass.
const G4double hc
[MeV*fm]
G4double adjustEnergyFromMomentum()
Recompute the energy to match the momentum.
virtual ~DeltaDecayChannel()
G4double getEnergy() const
Get the energy of the particle in MeV.
G4double momentumInCM(Particle const *const p1, Particle const *const p2)
gives the momentum in the CM frame of two particles.
static G4double computeDecayTime(Particle *p)
Final state of an interaction.
const G4double effectivePionMass
FinalState * getFinalState()
DeltaDecayChannel(Particle *, ThreeVector const)
G4double getINCLMass(const G4int A, const G4int Z)
Get INCL nuclear mass (in MeV/c^2)
G4INCL::ParticleType getType() const
Get the particle type.
ThreeVector const incidentDirection
const G4INCL::ThreeVector & getPosition() const
Set the position vector.
void setType(ParticleType t)
G4double shoot()
Generate flat distribution of random numbers.
G4double mag() const
Get the length of the vector.
G4int sign(const T t)
A simple sign function that allows us to port fortran code to c++ more easily.
const G4double effectiveNucleonMass
void addModifiedParticle(Particle *p)
void setHelicity(G4double h)
virtual void setMomentum(const G4INCL::ThreeVector &momentum)
Set the momentum vector.