77 _electronO (0), _vSN(-1)
96 if (gamma != 0) { products->push_back(gamma); }
100 G4cout <<
"G4VGammaDeexcitation::DoTransition - Transition deleted " <<
G4endl;
109 const G4double tolerance = CLHEP::keV;
120 products->push_back(gamma);
128 G4cout <<
"G4VGammaDeexcitation::DoChain - Transition deleted, end of chain " <<
G4endl;
144 if(eGamma <= 0.0) {
return 0; }
148 if(excitation < 0.0) { excitation = 0.0; }
151 G4cout <<
"G4VGammaDeexcitation::GenerateGamma - Edeexc(MeV)= " << eGamma
152 <<
" ** left Eexc(MeV)= " << excitation
168 G4bool eTransition =
false;
169 if (dtransition && !( dtransition->
IsAGamma()) ) {
178 G4double sinTheta = std::sqrt(1. - cosTheta * cosTheta);
187 if(gammaTime > fTimeLimit) {
192 G4double mom = std::sqrt(eGamma*(eGamma + 2*eMass));
193 Gamma4P.
set(mom * sinTheta * std::cos(phi),
194 mom * sinTheta * std::sin(phi),
198 if(e < Mass) { e = Mass; }
199 mom = std::sqrt((e - Mass)*(e + Mass));
201 lv.
set(mom*v.
x(), mom*v.
y(), mom*v.
z(), e);
208 G4double GammaEnergy = 0.5*((Ecm - Mass)*(Ecm + Mass) + eMass*eMass)/Ecm;
209 if(GammaEnergy <= eMass) {
return 0; }
211 G4double mom = std::sqrt((GammaEnergy - eMass)*(GammaEnergy + eMass));
212 Gamma4P.
set(mom * sinTheta * std::cos(phi),
213 mom * sinTheta * std::sin(phi),
228 if(eTransition && !dtransition->
GetICM()) {
return 0; }
246 G4cout <<
"G4VGammaDeexcitation::Update - Transition deleted " <<
G4endl;
std::vector< G4Fragment * > G4FragmentVector
CLHEP::HepLorentzVector G4LorentzVector
G4DLLIMPORT std::ostream G4cout
Hep3Vector boostVector() const
HepLorentzVector & boost(double, double, double)
void set(double x, double y, double z, double t)
G4int RemoveElectron(G4int orbit, G4int number=1)
static G4Electron * Electron()
G4double GetGroundStateMass() const
G4double GetExcitationEnergy() const
const G4LorentzVector & GetMomentum() const
G4double GetCreationTime() const
void SetCreationTime(G4double time)
void SetMomentum(const G4LorentzVector &value)
G4double GetPDGMass() const
virtual ~G4VGammaDeexcitation()
G4FragmentVector * DoChain()
G4FragmentVector * DoTransition()
virtual G4VGammaTransition * CreateTransition()=0
G4Fragment * GenerateGamma()
G4VGammaTransition * _transition
virtual G4bool CanDoTransition()=0
virtual G4double GetGammaEnergy()=0
virtual void SelectGamma()=0
virtual void SetEnergyFrom(G4double energy)=0
virtual G4double GetGammaCreationTime()=0