Changeset 1340 for trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCAlpha.cc
- Timestamp:
- Nov 5, 2010, 3:45:55 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCAlpha.cc
r819 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4HETCAlpha.cc,v 1.4 2010/08/28 15:16:55 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-03-ref-09 $ 28 // 29 // by V. Lara 30 // 31 // Modified: 32 // 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor 33 // the source, use G4Pow 34 26 35 #include "G4HETCAlpha.hh" 36 #include "G4Alpha.hh" 37 38 G4HETCAlpha::G4HETCAlpha() 39 : G4HETCChargedFragment(G4Alpha::Alpha(), &theAlphaCoulombBarrier) 40 {} 41 42 G4HETCAlpha::~G4HETCAlpha() 43 {} 44 45 G4double G4HETCAlpha::GetAlpha() 46 { 47 G4double C = 0.0; 48 G4int aZ = GetZ() + GetRestZ(); 49 if (aZ <= 30) 50 { 51 C = 0.10; 52 } 53 else if (aZ <= 50) 54 { 55 C = 0.1 + -((aZ-50.)/20.)*0.02; 56 } 57 else if (aZ < 70) 58 { 59 C = 0.08 + -((aZ-70.)/20.)*0.02; 60 } 61 else 62 { 63 C = 0.06; 64 } 65 return 1.0+C; 66 } 67 68 G4double G4HETCAlpha::GetBeta() 69 { 70 return -GetCoulombBarrier(); 71 } 72 73 G4double G4HETCAlpha::GetSpinFactor() 74 { 75 return 1.0; 76 } 27 77 28 78 G4double G4HETCAlpha::K(const G4Fragment & aFragment) 29 79 { 30 if (GetStage() != 1) return 1.0; 31 // Number of protons in projectile 32 G4double Pa = static_cast<G4int>(aFragment.GetParticleDefinition()->GetPDGCharge()); 33 // Number of neutrons in projectile 34 G4double Na = aFragment.GetParticleDefinition()->GetBaryonNumber(); 35 G4double TargetA = aFragment.GetA() - Na; 36 G4double TargetZ = aFragment.GetZ() - Pa; 37 Na -= Pa; 38 G4double r = TargetZ/TargetA; 80 // Number of protons in emitted fragment 81 G4int Pa = GetZ(); 82 // Number of neutrons in emitted fragment 83 G4int Na = GetA() - Pa; 39 84 40 41 G4double P = aFragment.GetNumberOfParticles(); 42 G4double H = aFragment.GetNumberOfHoles(); 85 G4int TargetZ = GetRestZ(); 86 G4int TargetA = GetRestA(); 87 G4double r = G4double(TargetZ)/G4double(TargetA); 88 89 G4int P = aFragment.GetNumberOfParticles(); 90 G4int H = aFragment.GetNumberOfHoles(); 43 91 44 92 G4double result = 0.0; … … 52 100 Pa*(Pa-1.0)*Na*(Na-1.0)); 53 101 54 result /= 6.0* std::pow((TargetZ/TargetA)*((TargetA-TargetZ)/TargetA),2.0);102 result /= 6.0*r*r*(1. - r) *(1. - r); 55 103 } 56 57 104 return std::max(0.0,result); 58 59 105 }
Note: See TracChangeset
for help on using the changeset viewer.