33 #define INCLXX_IN_GEANT4_MODE 1
42 : theNucleus(nucleus), theParticle(particle),
45 kineticEnergyOutside(initializeKineticEnergyOutside()),
46 cosRefractionAngle(1.)
50 : theNucleus(nucleus), theParticle(particle),
53 kineticEnergyOutside(TOut),
54 cosRefractionAngle(1.)
58 : theNucleus(nucleus), theParticle(particle),
61 kineticEnergyOutside(initializeKineticEnergyOutside()),
62 cosRefractionAngle(cosR)
67 G4double TransmissionChannel::initializeKineticEnergyOutside() {
78 TOut += theQValueCorrection;
82 void TransmissionChannel::particleLeaves() {
97 normal = position / std::sqrt(r2);
99 const ThreeVector &momentum = theParticle->
getMomentum();
101 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
FinalState * getFinalState()
virtual ~TransmissionChannel()
const G4INCL::ThreeVector & getMomentum() const
G4double getEnergy() const
G4double getPotentialEnergy() const
Get the particle potential energy.
void setEnergy(G4double energy)
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.
const ThreeVector & adjustMomentumFromEnergy()
Rescale the momentum to match the total energy.
virtual void setMomentum(const G4INCL::ThreeVector &momentum)