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;
119 if(etrans <= 0.0) {
return thePhoton; }
123 if(excitation <=
_tolerance) { excitation = 0.0; }
125 G4cout <<
"G4VGammaDeexcitation::GenerateGamma - Edeexc(MeV)= " << etrans
126 <<
" ** left Eexc(MeV)= " << excitation
142 if (dtransition && !( dtransition->
IsAGamma()) ) {
150 G4double sinTheta = std::sqrt(1. - cosTheta * cosTheta);
165 G4double mom = std::sqrt(eGamma*(eGamma + 2*eMass));
166 Gamma4P.set(mom * sinTheta * std::cos(phi),
167 mom * sinTheta * std::sin(phi),
171 if(e < Mass) { e = Mass; }
172 mom = std::sqrt((e - Mass)*(e + Mass));
174 lv.set(mom*v.x(), mom*v.y(), mom*v.z(), e);
181 G4double GammaEnergy = 0.5*((Ecm - Mass)*(Ecm + Mass) + eMass*eMass)/Ecm;
182 if(GammaEnergy < eMass) { GammaEnergy = eMass; }
184 G4double mom = std::sqrt((GammaEnergy - eMass)*(GammaEnergy + eMass));
185 Gamma4P.set(mom * sinTheta * std::cos(phi),
186 mom * sinTheta * std::sin(phi),
virtual G4double GetGammaEnergy()=0
CLHEP::Hep3Vector G4ThreeVector
G4ElectronOccupancy _electronO
virtual void SetEnergyFrom(G4double energy)=0
virtual G4bool CanDoTransition(G4Fragment *aNucleus)=0
G4GLOB_DLL std::ostream G4cout
virtual void SelectGamma()=0
G4double GetCreationTime() const
const G4LorentzVector & GetMomentum() const
void SetMomentum(const G4LorentzVector &value)
std::vector< G4Fragment * > G4FragmentVector
G4double GetGroundStateMass() const
G4Fragment * GenerateGamma(G4Fragment *nucleus)
void SetCreationTime(G4double time)
G4double GetPDGMass() const
G4VGammaTransition * _transition
virtual ~G4VGammaDeexcitation()
static G4Electron * Electron()
G4double GetExcitationEnergy() const
G4int RemoveElectron(G4int orbit, G4int number=1)
void DoChain(G4FragmentVector *, G4Fragment *nucleus)
CLHEP::HepLorentzVector G4LorentzVector
virtual G4double GetGammaCreationTime()=0