Changeset 1340 for trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4HETCProton.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/G4HETCProton.cc
r819 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4HETCProton.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 "G4HETCProton.hh" 36 #include "G4Proton.hh" 37 38 G4HETCProton::G4HETCProton() 39 : G4HETCChargedFragment(G4Proton::Proton(), &theProtonCoulombBarrier) 40 {} 41 42 G4HETCProton::~G4HETCProton() 43 {} 44 45 G4double G4HETCProton::GetAlpha() 46 { 47 G4int aZ = GetRestZ(); 48 G4double C = 0.0; 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; 58 } 59 60 G4double G4HETCProton::GetBeta() 61 { 62 return -GetCoulombBarrier(); 63 } 64 65 G4double G4HETCProton::GetSpinFactor() 66 { 67 // 2s+1 68 return 2.0; 69 } 27 70 28 71 G4double G4HETCProton::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(); 39 75 76 G4int TargetZ = GetRestZ(); 77 G4int TargetA = GetRestA(); 78 G4double r = G4double(TargetZ)/G4double(TargetA); 40 79 41 G4 doubleP = aFragment.GetNumberOfParticles();42 G4 doubleH = aFragment.GetNumberOfHoles();80 G4int P = aFragment.GetNumberOfParticles(); 81 G4int H = aFragment.GetNumberOfHoles(); 43 82 44 83 G4double result = 0.0; 45 84 if (P > 0) 46 85 { 47 result = (H*r + Pa)/P; 48 49 result /= TargetZ/TargetA; 86 result = (H*r + Pa)/P/r; 50 87 } 51 88
Note: See TracChangeset
for help on using the changeset viewer.