34 #define INCLXX_IN_GEANT4_MODE 1
43 : theNucleus(nucleus), theParticle(particle),
46 kineticEnergyOutside(initializeKineticEnergyOutside()),
47 cosRefractionAngle(1.)
51 : theNucleus(nucleus), theParticle(particle),
54 kineticEnergyOutside(TOut),
55 cosRefractionAngle(1.)
59 : theNucleus(nucleus), theParticle(particle),
62 kineticEnergyOutside(initializeKineticEnergyOutside()),
63 cosRefractionAngle(cosR)
68 G4double TransmissionChannel::initializeKineticEnergyOutside() {
79 TOut += theQValueCorrection;
83 void TransmissionChannel::particleLeaves() {
98 normal = position / std::sqrt(r2);
100 const ThreeVector &momentum = theParticle->
getMomentum();
102 const ThreeVector pOut = normal * (pOutMag * cosRefractionAngle) + momentum - normal * normal.
dot(momentum);
117 const G4int AParent = theNucleus->
getA();
118 const G4int ZParent = theNucleus->
getZ();
G4int getA() const
Returns the baryon number.
TransmissionChannel(Nucleus *n, Particle *p)
G4double getMass() const
Get the cached particle mass.
G4double dot(const ThreeVector &v) const
virtual ~TransmissionChannel()
const G4INCL::ThreeVector & getMomentum() const
G4double getEnergy() const
G4double getPotentialEnergy() const
Get the particle potential energy.
void setEnergy(G4double energy)
static double normal(HepRandomEngine *eptr)
G4int getZ() const
Returns the charge number.
void addOutgoingParticle(Particle *p)
void setPotentialEnergy(G4double v)
Set the particle potential energy.
void setTotalEnergyBeforeInteraction(G4double E)
void setTableMass()
Set the mass of the Particle to its table mass.
const G4INCL::ThreeVector & getPosition() const
virtual G4double getTableMass() const
Get the tabulated particle mass.
G4double getEmissionQValueCorrection(const G4int AParent, const G4int ZParent) const
Computes correction on the emission Q-value.
void fillFinalState(FinalState *fs)
const ThreeVector & adjustMomentumFromEnergy()
Rescale the momentum to match the total energy.
virtual void setMomentum(const G4INCL::ThreeVector &momentum)