Changeset 962 for trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundHe3.hh
- Timestamp:
- Apr 6, 2009, 12:30:29 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundHe3.hh
r819 r962 24 24 // ******************************************************************** 25 25 // 26 // by V. Lara 26 27 // 27 // $Id: G4PreCompoundHe3.hh,v 1.6 2007/10/01 10:42:00 ahoward Exp $ 28 // GEANT4 tag $Name: $ 29 // 30 // by V. Lara 28 //J. M. Quesada (July 08) 31 29 32 30 #ifndef G4PreCompoundHe3_h … … 36 34 #include "G4ReactionProduct.hh" 37 35 #include "G4He3.hh" 38 39 36 #include "G4He3CoulombBarrier.hh" 40 37 #include "G4PreCompoundParameters.hh" 41 38 42 39 class G4PreCompoundHe3 : public G4PreCompoundIon … … 66 63 67 64 68 G4ReactionProduct * GetReactionProduct() const 69 { 70 G4ReactionProduct * theReactionProduct = 71 new G4ReactionProduct(G4He3::He3Definition()); 72 theReactionProduct->SetMomentum(GetMomentum().vect()); 73 theReactionProduct->SetTotalEnergy(GetMomentum().e()); 74 #ifdef PRECOMPOUND_TEST 75 theReactionProduct->SetCreatorModel("G4PrecompoundModel"); 76 #endif 77 return theReactionProduct; 78 } 79 65 G4ReactionProduct * GetReactionProduct() const; 66 67 80 68 private: 81 69 82 // added Rj method according to literature and JMQ 83 virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged) 84 { 85 G4double rj = 1.0; 86 G4double denominator = NumberParticles*(NumberParticles-1)*(NumberParticles-2); 87 if(denominator != 0) rj = 3.0*static_cast<G4double>(NumberCharged*(NumberCharged-1)*(NumberParticles-NumberCharged))/static_cast<G4double>(denominator); //JMQ 23/8/07 70 virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged); 88 71 89 return rj; 90 } 72 virtual G4double CrossSection(const G4double K) ; 73 74 virtual G4double FactorialFactor(const G4double N, const G4double P); 75 76 virtual G4double CoalescenceFactor(const G4double A); 77 78 G4double GetOpt0(const G4double K); 79 G4double GetOpt12(const G4double K); 80 G4double GetOpt34(const G4double K); 81 82 G4double GetAlpha(); 83 84 G4double GetBeta(); 85 86 //data members 87 88 G4He3CoulombBarrier theHe3CoulombBarrier; 89 G4double ResidualA; 90 G4double ResidualZ; 91 G4double theA; 92 G4double theZ; 93 G4double ResidualAthrd; 94 G4double FragmentA; 95 G4double FragmentAthrd; 96 97 98 }; 99 #endif 91 100 92 101 93 102 94 virtual G4double GetAlpha()95 {96 G4double C = 0.0;97 G4double aZ = GetZ() + GetRestZ();98 if (aZ <= 30)99 {100 C = 0.10;101 }102 else if (aZ <= 50)103 {104 C = 0.1 + -((aZ-50.)/20.)*0.02;105 }106 else if (aZ < 70)107 {108 C = 0.08 + -((aZ-70.)/20.)*0.02;109 }110 else111 {112 C = 0.06;113 }114 return 1.0 + C*(4.0/3.0);115 }116 103 117 virtual G4double GetBeta()118 {119 return -GetCoulombBarrier();120 }121 104 122 virtual G4double FactorialFactor(const G4double N, const G4double P)123 {124 return125 (N-3.0)*(P-2.0)*(126 (((N-2.0)*(P-1.0))/2.0) *(127 (((N-1.0)*P)/3.0)128 )129 );130 }131 132 virtual G4double CoalescenceFactor(const G4double A)133 {134 return 243.0/(A*A);135 }136 private:137 138 G4He3CoulombBarrier theHe3CoulombBarrier;139 140 };141 142 #endif143 105 144
Note: See TracChangeset
for help on using the changeset viewer.