Changeset 1055 for trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundHe3.cc
- Timestamp:
- May 28, 2009, 4:26:57 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundHe3.cc
r1007 r1055 24 24 // ******************************************************************** 25 25 // 26 //J.M.Quesada (August 08). New source file 27 // 28 // Modif (21 August 2008) by J. M. Quesada for external choice of inverse 29 // cross section option 26 // 27 // $Id: G4PreCompoundHe3.cc,v 1.5 2009/02/13 18:57:32 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $ 29 // 30 // ------------------------------------------------------------------- 31 // 32 // GEANT4 Class file 33 // 34 // 35 // File name: G4PreCompoundHe3 36 // 37 // Author: V.Lara 38 // 39 // Modified: 40 // 21.08.2008 J. M. Quesada add choice of options 41 // 10.02.2009 J. M. Quesada set default opt1 42 // 30 43 31 44 #include "G4PreCompoundHe3.hh" 32 45 33 34 G4ReactionProduct * G4PreCompoundHe3::GetReactionProduct() const 35 { 36 G4ReactionProduct * theReactionProduct = 37 new G4ReactionProduct(G4He3::He3Definition()); 38 theReactionProduct->SetMomentum(GetMomentum().vect()); 39 theReactionProduct->SetTotalEnergy(GetMomentum().e()); 46 G4ReactionProduct * G4PreCompoundHe3::GetReactionProduct() const 47 { 48 G4ReactionProduct * theReactionProduct = 49 new G4ReactionProduct(G4He3::He3Definition()); 50 theReactionProduct->SetMomentum(GetMomentum().vect()); 51 theReactionProduct->SetTotalEnergy(GetMomentum().e()); 40 52 #ifdef PRECOMPOUND_TEST 41 53 theReactionProduct->SetCreatorModel("G4PrecompoundModel"); 42 54 #endif 43 return theReactionProduct; 44 } 45 46 47 G4double G4PreCompoundHe3::FactorialFactor(const G4double N, const G4double P) 48 { 49 return 55 return theReactionProduct; 56 } 57 58 G4double G4PreCompoundHe3::FactorialFactor(const G4double N, const G4double P) 59 { 60 return 50 61 (N-3.0)*(P-2.0)*( 51 62 (((N-2.0)*(P-1.0))/2.0) *( … … 53 64 ) 54 65 ); 66 } 67 68 G4double G4PreCompoundHe3::CoalescenceFactor(const G4double A) 69 { 70 return 243.0/(A*A); 71 } 72 73 G4double G4PreCompoundHe3::GetRj(const G4int NumberParticles, const G4int NumberCharged) 74 { 75 G4double rj = 0.0; 76 G4double denominator = NumberParticles*(NumberParticles-1)*(NumberParticles-2); 77 if(NumberCharged >=2 && (NumberParticles-NumberCharged) >= 1) { 78 rj = 3.0*static_cast<G4double>(NumberCharged*(NumberCharged-1)*(NumberParticles-NumberCharged)) 79 / static_cast<G4double>(denominator); 55 80 } 56 57 G4double G4PreCompoundHe3::CoalescenceFactor(const G4double A) 58 { 59 return 243.0/(A*A); 60 } 61 62 63 64 G4double G4PreCompoundHe3::GetRj(const G4int NumberParticles, const G4int NumberCharged) 65 { 66 G4double rj = 0.0; 67 G4double denominator = NumberParticles*(NumberParticles-1)*(NumberParticles-2); 68 if(NumberCharged >=2 && (NumberParticles-NumberCharged) >= 1) rj = 3.0*static_cast<G4double>(NumberCharged*(NumberCharged-1)*(NumberParticles-NumberCharged))/static_cast<G4double>(denominator); 69 70 return rj; 71 } 72 73 74 81 return rj; 82 } 75 83 76 84 //////////////////////////////////////////////////////////////////////////////////// … … 80 88 //OPT=3,4 Kalbach's parameterization 81 89 // 82 90 G4double G4PreCompoundHe3::CrossSection(const G4double K) 83 91 { 84 92 ResidualA=GetRestA(); … … 114 122 //---------------- 115 123 // 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 124 G4double G4PreCompoundHe3::GetAlpha() 125 { 126 G4double C = 0.0; 127 G4double aZ = GetZ() + GetRestZ(); 128 if (aZ <= 30) 129 { 130 C = 0.10; 131 } 132 else if (aZ <= 50) 133 { 134 C = 0.1 + -((aZ-50.)/20.)*0.02; 135 } 136 else if (aZ < 70) 137 { 138 C = 0.08 + -((aZ-70.)/20.)*0.02; 139 } 140 else 141 { 142 C = 0.06; 143 } 144 return 1.0 + C*(4.0/3.0); 145 } 138 146 // 139 147 //-------------------- 140 148 // 141 142 143 144 149 G4double G4PreCompoundHe3::GetBeta() 150 { 151 return -GetCoulombBarrier(); 152 } 145 153 // 146 154 //********************* OPT=1,2 : Chatterjee's cross section ************************ … … 214 222 G4double ra=0.80; 215 223 216 ec = 1.44 * theZ * ResidualZ / (1.5*ResidualAthrd+ra); 224 //JMQ 13/02/09 increase of reduced radius to lower the barrier 225 // ec = 1.44 * theZ * ResidualZ / (1.5*ResidualAthrd+ra); 226 ec = 1.44 * theZ * ResidualZ / (1.7*ResidualAthrd+ra); 217 227 ecsq = ec * ec; 218 228 p = p0 + p1/ec + p2/ecsq; … … 237 247 238 248 if (elab <= ec) { //start for E<Ec 239 if (elab > ecut2) sig = (p*elab*elab+a*elab+b) * signor; 249 if (elab > ecut2) sig = (p*elab*elab+a*elab+b) * signor; 240 250 } //end for E<Ec 241 251 else { //start for E>Ec
Note: See TracChangeset
for help on using the changeset viewer.