Changeset 962 for trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundDeuteron.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/G4PreCompoundDeuteron.hh
r819 r962 24 24 // ******************************************************************** 25 25 // 26 // by V. Lara 26 27 // 27 // $Id: G4PreCompoundDeuteron.hh,v 1.7 2007/10/01 10:41:59 ahoward Exp $ 28 // GEANT4 tag $Name: $ 29 // 30 // by V. Lara 28 //J. M. Quesada (July 08) 31 29 32 30 #ifndef G4PreCompoundDeuteron_h … … 36 34 #include "G4ReactionProduct.hh" 37 35 #include "G4Deuteron.hh" 38 39 36 #include "G4DeuteronCoulombBarrier.hh" 37 #include "G4PreCompoundParameters.hh" 40 38 41 39 … … 66 64 67 65 68 G4ReactionProduct * GetReactionProduct() const 69 { 70 G4ReactionProduct * theReactionProduct = 71 new G4ReactionProduct(G4Deuteron::DeuteronDefinition()); 72 theReactionProduct->SetMomentum(GetMomentum().vect()); 73 theReactionProduct->SetTotalEnergy(GetMomentum().e()); 74 #ifdef PRECOMPOUND_TEST 75 theReactionProduct->SetCreatorModel("G4PrecompoundModel"); 76 #endif 77 return theReactionProduct; 78 } 66 G4ReactionProduct * GetReactionProduct() const; 67 79 68 80 69 private: 81 70 82 // added Rj method according to literature and JMQ - formula from Jose Quesada 83 virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged) 84 { 85 G4double rj = 1.0; 86 G4double denominator = NumberParticles*(NumberParticles-1); 87 if(denominator != 0) rj = 2.0*static_cast<G4double>(NumberCharged*(NumberParticles-NumberCharged))/static_cast<G4double>(denominator); //JMQ re-corrected 23/8/07 88 // return static_cast<G4double>(NumberCharged*(NumberCharged-1))/static_cast<G4double>(NumberParticles*(NumberParticles-1)); 71 virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged); 89 72 90 return rj; 91 } 73 virtual G4double CrossSection(const G4double K) ; 92 74 75 virtual G4double FactorialFactor(const G4double N, const G4double P); 93 76 77 virtual G4double CoalescenceFactor(const G4double A); 94 78 95 virtual G4double GetAlpha() 96 { 97 G4double C = 0.0; 98 G4double aZ = GetZ() + GetRestZ(); 99 if (aZ >= 70) 100 { 101 C = 0.10; 102 } 103 else 104 { 105 C = ((((0.15417e-06*aZ) - 0.29875e-04)*aZ + 0.21071e-02)*aZ - 0.66612e-01)*aZ + 0.98375; 106 } 107 return 1.0 + C/2.0; 108 } 109 110 virtual G4double GetBeta() 111 { 112 return -GetCoulombBarrier(); 113 } 79 G4double GetOpt0(const G4double K); 80 G4double GetOpt12(const G4double K); 81 G4double GetOpt34(const G4double K); 114 82 115 virtual G4double FactorialFactor(const G4double N, const G4double P) 116 { 117 return (N-1.0)*(N-2.0)*(P-1.0)*P/2.0; 118 } 83 G4double GetAlpha(); 119 84 120 virtual G4double CoalescenceFactor(const G4double A) 121 { 122 return 16.0/A; 123 } 124 private: 125 126 G4DeuteronCoulombBarrier theDeuteronCoulombBarrier; 85 G4double GetBeta(); 86 87 //data members 88 89 G4DeuteronCoulombBarrier theDeuteronCoulombBarrier; 90 G4double ResidualA; 91 G4double ResidualZ; 92 G4double theA; 93 G4double theZ; 94 G4double ResidualAthrd; 95 G4double FragmentA; 96 G4double FragmentAthrd; 127 97 128 98 }; 99 #endif 129 100 130 #endif131 132
Note: See TracChangeset
for help on using the changeset viewer.