34 #define INCLXX_IN_GEANT4_MODE 1
56 #ifdef INCL_INVERSE_KINEMATICS
57 void EventInfo::fillInverseKinematics(
const Double_t gamma) {
58 const Double_t beta = std::sqrt(1.-1./(gamma*gamma));
68 INCL_WARN(
"Particle with null kinetic energy in fillInverseKinematics, cannot determine its mass:\n"
69 <<
" A=" <<
A[i] <<
", Z=" <<
Z[i] <<
'\n'
70 <<
" EKin=" <<
EKin[i] <<
", px=" <<
px[i] <<
", py=" <<
py[i] <<
", pz=" <<
pz[i] <<
'\n'
71 <<
" Falling back to the mass from the INCL ParticleTable" <<
'\n');
76 const Double_t ETotPrime = gamma*(ETot - beta*
pz[i]);
77 EKinPrime[i] = ETotPrime - mass;
78 pzPrime[i] = -gamma*(
pz[i] - beta*ETot);
79 const Double_t pPrime = std::sqrt(
px[i]*
px[i] +
py[i]*
py[i] + pzPrime[i]*pzPrime[i]);
80 const Double_t cosThetaPrime = (pPrime>0.) ? (pzPrime[i]/pPrime) : 1.;
83 else if(cosThetaPrime<=-1.)
89 #endif // INCL_INVERSE_KINEMATICS
G4double arcCos(const G4double x)
Calculates arccos with some tolerance on illegal arguments.
Float_t emissionTime[maxSizeParticles]
Emission time [fm/c].
Float_t py[maxSizeParticles]
Particle momentum, y component [MeV/c].
G4double toDegrees(G4double radians)
Float_t EKin[maxSizeParticles]
Particle kinetic energy [MeV].
Float_t EKinRem[maxSizeRemnants]
Remnant kinetic energy [MeV].
Float_t stoppingTime
Cascade stopping time [fm/c].
Float_t pyRem[maxSizeRemnants]
Remnant momentum, y component [MeV/c].
Float_t pz[maxSizeParticles]
Particle momentum, z component [MeV/c].
Short_t ZRem[maxSizeRemnants]
Remnant charge number.
static G4ThreadLocal Int_t eventNumber
Number of the event.
Short_t ARem[maxSizeRemnants]
Remnant mass number.
G4double getRealMass(const G4INCL::ParticleType t)
Get particle mass (in MeV/c^2)
Float_t theta[maxSizeParticles]
Particle momentum polar angle [radians].
Simple container for output of event results.
Short_t Z[maxSizeParticles]
Particle charge number.
Short_t nParticles
Number of particles in the final state.
Float_t pzRem[maxSizeRemnants]
Remnant momentum, z component [MeV/c].
void remnantToParticle(const G4int remnantIndex)
Move a remnant to the particle array.
Float_t pxRem[maxSizeRemnants]
Remnant momentum, x component [MeV/c].
Short_t A[maxSizeParticles]
Particle mass number.
T max(const T t1, const T t2)
brief Return the largest of the two arguments
Float_t phi[maxSizeParticles]
Particle momentum azimuthal angle [radians].
Float_t px[maxSizeParticles]
Particle momentum, x component [MeV/c].
Short_t origin[maxSizeParticles]
Origin of the particle.
std::vector< std::string > history
History of the particle.