50 : polarFlag(false), fDirection(0.,0.,0.), fTwoJMAX(10), fVerbose(0)
83 G4cout <<
"G4GammaTransition::GenerateGamma - Etrans(MeV)= "
84 << etrans <<
" Eexnew= " << newExcEnergy
85 <<
" Ebond= " << bond_energy <<
G4endl;
88 etrans += bond_energy;
122 G4double energy = 0.5*((ecm - mass)*(ecm + mass) + emass*emass)/ecm;
123 G4double mom = (emass > 0.0) ? std::sqrt((energy - emass)*(energy + emass))
131 energy =
std::max(ecm - energy, mass);
147 G4cout <<
"G4GammaTransition::SampleTransition : " << *result <<
G4endl;
159 G4cout <<
"G4GammaTransition::SampleDirection : 2J1= " << twoJ1
160 <<
" 2J2= " << twoJ2 <<
" ratio= " << ratio
161 <<
" mp= " << mp <<
G4endl;
178 G4int L0 = 0, Lp = 0;
190 G4double sinTheta = std::sqrt((1.-cosTheta)*(1.+cosTheta));
191 fDirection.
set(sinTheta*std::cos(phi),sinTheta*std::sin(phi),cosTheta);
void set(double x, double y, double z)
T max(const T t1, const T t2)
brief Return the largest of the two arguments
const G4LorentzVector & GetMomentum() const
void SampleGammaTransition(G4NuclearPolarization *np, G4int twoJ1, G4int twoJ2, G4int L0, G4int Lp, G4double mpRatio, G4double &cosTheta, G4double &phi)
G4NuclearPolarization * GetNuclearPolarization() const
G4ThreeVector G4RandomDirection()
G4double GetGroundStateMass() const
G4double GetPDGMass() const
void SetExcEnergyAndMomentum(G4double eexc, const G4LorentzVector &)
static constexpr double electron_mass_c2
G4PolarizationTransition fPolTrans
static G4int GetNumberOfShells(G4int Z)
void set(double x, double y, double z, double t)
static G4Electron * Electron()
G4double G4ParticleHPJENDLHEData::G4double result
static constexpr double twopi
virtual G4Fragment * SampleTransition(G4Fragment *nucleus, G4double newExcEnergy, G4double mpRatio, G4int JP1, G4int JP2, G4int MP, G4int shell, G4bool isDiscrete, G4bool isGamma)
virtual ~G4GammaTransition()
G4int GetNumberOfElectrons() const
virtual void SampleDirection(G4Fragment *nuc, G4double ratio, G4int twoJ1, G4int twoJ2, G4int mp)
static G4double GetBindingEnergy(G4int Z, G4int SubshellNb)
G4GLOB_DLL std::ostream G4cout
Hep3Vector boostVector() const
G4double GetExcitationEnergy() const
void SetNumberOfElectrons(G4int value)
HepLorentzVector & boost(double, double, double)
T min(const T t1, const T t2)
brief Return the smallest of the two arguments