Changeset 1340 for trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCDeuteron.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/G4HETCDeuteron.cc
r819 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4HETCDeuteron.cc,v 1.3 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 "G4HETCDeuteron.hh" 36 #include "G4Deuteron.hh" 37 38 G4HETCDeuteron::G4HETCDeuteron() 39 : G4HETCChargedFragment(G4Deuteron::Deuteron(), &theDeuteronCoulombBarrier) 40 {} 41 42 G4HETCDeuteron::~G4HETCDeuteron() 43 {} 44 45 G4double G4HETCDeuteron::GetAlpha() 46 { 47 G4double C = 0.0; 48 G4int aZ = GetZ() + GetRestZ(); 49 if (aZ >= 70) 50 { 51 C = 0.10; 52 } 53 else 54 { 55 C = ((((0.15417e-06*aZ) - 0.29875e-04)*aZ + 0.21071e-02)*aZ - 0.66612e-01)*aZ + 0.98375; 56 } 57 return 1.0 + C/2.0; 58 } 59 60 G4double G4HETCDeuteron::GetBeta() 61 { 62 return -GetCoulombBarrier(); 63 } 64 65 G4double G4HETCDeuteron::GetSpinFactor() 66 { 67 // 2s+1 68 return 3.0; 69 } 27 70 28 71 G4double G4HETCDeuteron::K(const G4Fragment & aFragment) 29 72 { 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; 73 // Number of protons in emitted fragment 74 G4int Pa = GetZ(); 75 // Number of neutrons in emitted fragment 76 G4int Na = GetA() - Pa; 39 77 78 G4int TargetZ = GetRestZ(); 79 G4int TargetA = GetRestA(); 80 G4double r = G4double(TargetZ)/G4double(TargetA); 40 81 41 G4 doubleP = aFragment.GetNumberOfParticles();42 G4 doubleH = aFragment.GetNumberOfHoles();82 G4int P = aFragment.GetNumberOfParticles(); 83 G4int H = aFragment.GetNumberOfHoles(); 43 84 44 85 G4double result = 0.0; … … 47 88 result = 2.0* (H*(H-1.0)*r*(r-1.0)+H*(Na*r+Pa*(1.0-r)) + Pa*Na)/(P*(P-1.0)); 48 89 49 result /= (TargetZ/TargetA)*((TargetA-TargetZ)/TargetA);90 result /= r*(1.0 - r); 50 91 } 51 52 92 return std::max(0.0,result); 53 54 93 }
Note: See TracChangeset
for help on using the changeset viewer.