49 : polarFlag(false), fDirection(0.,0.,0.), fTwoJMAX(10), fVerbose(0)
81 G4cout <<
"G4GammaTransition::GenerateGamma - Etrans(MeV)= "
82 << etrans <<
" Eexnew= " << newExcEnergy
83 <<
" Ebond= " << bond_energy <<
G4endl;
86 etrans += bond_energy;
104 if(polarFlag && isDiscrete && JP1 <=
fTwoJMAX) {
115 if(!isGamma) { ecm += (CLHEP::electron_mass_c2 - bond_energy); }
119 ecm = std::max(ecm, mass + emass);
120 G4double energy = 0.5*((ecm - mass)*(ecm + mass) + emass*emass)/ecm;
121 G4double mom = (emass > 0.0) ? std::sqrt((energy - emass)*(energy + emass))
129 energy = std::max(ecm - energy, mass);
145 G4cout <<
"G4GammaTransition::SampleTransition : " << *result <<
G4endl;
157 G4cout <<
"G4GammaTransition::SampleDirection : 2J1= " << twoJ1
158 <<
" 2J2= " << twoJ2 <<
" ratio= " << ratio
159 <<
" mp= " << mp <<
G4endl;
176 G4int L0 = 0, Lp = 0;
188 G4double sinTheta = std::sqrt((1.-cosTheta)*(1.+cosTheta));
189 fDirection.
set(sinTheta*std::cos(phi),sinTheta*std::sin(phi),cosTheta);
G4ThreeVector G4RandomDirection()
G4GLOB_DLL std::ostream G4cout
void set(double x, double y, double z)
Hep3Vector boostVector() const
HepLorentzVector & boost(double, double, double)
void set(double x, double y, double z, double t)
static G4double GetBindingEnergy(G4int Z, G4int SubshellNb)
static G4int GetNumberOfShells(G4int Z)
static G4Electron * Electron()
G4double GetGroundStateMass() const
G4double GetExcitationEnergy() const
const G4LorentzVector & GetMomentum() const
void SetNumberOfElectrons(G4int value)
void SetExcEnergyAndMomentum(G4double eexc, const G4LorentzVector &)
G4int GetNumberOfElectrons() const
virtual void SampleDirection(G4Fragment *nuc, G4double ratio, G4int twoJ1, G4int twoJ2, G4int mp)
virtual ~G4GammaTransition()
G4PolarizationTransition fPolTrans
virtual G4Fragment * SampleTransition(G4Fragment *nucleus, G4double newExcEnergy, G4double mpRatio, G4int JP1, G4int JP2, G4int MP, G4int shell, G4bool isDiscrete, G4bool isGamma)
G4double GetPDGMass() const
void SampleGammaTransition(G4NuclearPolarization *np, G4int twoJ1, G4int twoJ2, G4int L0, G4int Lp, G4double mpRatio, G4double &cosTheta, G4double &phi)