77 _electronO (0), _vSN(-1)
94 for(
size_t i=0; i<100; ++i) {
97 if (gamma) { products->push_back(gamma); }
106 G4cout <<
"G4VGammaDeexcitation::DoChain - end" <<
G4endl;
125 if (dtransition && !dtransition->
IsAGamma()) {
128 etrans += bond_energy;
131 if(etrans <= 0.0) {
return thePhoton; }
135 if(excitation <=
_tolerance) { excitation = 0.0; }
139 G4cout <<
"G4VGammaDeexcitation::GenerateGamma - Edeexc(MeV)= " 140 << etrans <<
"; Time(ns)= " << gammaTime/
CLHEP::ns 141 <<
"; left Eexc(MeV)= " << excitation <<
G4endl;
151 if (dtransition && !dtransition->
IsAGamma() ) {
162 G4double sinTheta = std::sqrt(1. - cosTheta * cosTheta);
175 G4double GammaEnergy = 0.5*((Ecm - Mass)*(Ecm + Mass) + eMass*eMass)/Ecm;
176 if(GammaEnergy < eMass) { GammaEnergy = eMass; }
178 G4double mom = std::sqrt((GammaEnergy - eMass)*(GammaEnergy + eMass));
179 Gamma4P.
set(mom * sinTheta * std::cos(phi),
180 mom * sinTheta * std::sin(phi),
181 mom * cosTheta, GammaEnergy);
196 if(P2 > 0.0) { p = std::sqrt(P2); }
198 lv.
set(v.
x()*p, v.
y()*p, v.
z()*p,
E);
G4double GetExcitationEnergy() const
virtual G4double GetGammaEnergy()=0
G4ElectronOccupancy _electronO
virtual void SetEnergyFrom(G4double energy)=0
G4double GetGroundStateMass() const
virtual G4bool CanDoTransition(G4Fragment *aNucleus)=0
G4GLOB_DLL std::ostream G4cout
virtual void SelectGamma()=0
HepLorentzVector & boost(double, double, double)
void SetMomentum(const G4LorentzVector &value)
static const double twopi
std::vector< G4Fragment * > G4FragmentVector
G4Fragment * GenerateGamma(G4Fragment *nucleus)
void SetCreationTime(G4double time)
void set(double x, double y, double z, double t)
const G4LorentzVector & GetMomentum() const
G4double GetPDGMass() const
Hep3Vector boostVector() const
G4VGammaTransition * _transition
static const G4double * P2[nN]
virtual ~G4VGammaDeexcitation()
static G4Electron * Electron()
static const double electron_mass_c2
G4double GetCreationTime() const
G4int RemoveElectron(G4int orbit, G4int number=1)
void DoChain(G4FragmentVector *, G4Fragment *nucleus)
CLHEP::HepLorentzVector G4LorentzVector
virtual G4double GetGammaCreationTime()=0