Changeset 962 for trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundProton.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/G4PreCompoundProton.hh
r819 r962 25 25 // 26 26 // 27 // $Id: G4PreCompoundProton.hh,v 1.7 2007/10/01 10:42:00 ahoward Exp $ 28 // GEANT4 tag $Name: $ 29 // 30 // by V. Lara 27 //J. M. Quesada (July 08) 31 28 32 29 #ifndef G4PreCompoundProton_h … … 38 35 #include "G4PreCompoundParameters.hh" 39 36 #include "Randomize.hh" 40 41 37 #include "G4ProtonCoulombBarrier.hh" 42 43 38 44 39 class G4PreCompoundProton : public G4PreCompoundNucleon … … 68 63 69 64 70 G4ReactionProduct * GetReactionProduct() const 71 { 72 G4ReactionProduct * theReactionProduct = 73 new G4ReactionProduct(G4Proton::ProtonDefinition()); 74 theReactionProduct->SetMomentum(GetMomentum().vect()); 75 theReactionProduct->SetTotalEnergy(GetMomentum().e()); 76 #ifdef PRECOMPOUND_TEST 77 theReactionProduct->SetCreatorModel("G4PrecompoundModel"); 78 #endif 79 return theReactionProduct; 80 } 65 G4ReactionProduct * GetReactionProduct() const; 66 81 67 82 68 private: 83 69 84 // added Rj method according to literature and JMQ - formula from Jose Quesada 85 virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged) 86 { 87 G4double rj = 1.0; 88 if(NumberParticles != 0) rj = static_cast<G4double>(NumberCharged)/static_cast<G4double>(NumberParticles); 89 return rj; 90 } 70 //JMQ (Sep. 07) combinatorial factor Rj 71 virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged); 72 73 virtual G4double CrossSection(const G4double K) ; 91 74 92 75 93 virtual G4double GetAlpha() 94 { 95 G4double aZ = static_cast<G4double>(GetRestZ()); 96 G4double C = 0.0; 97 if (aZ >= 70) 98 { 99 C = 0.10; 100 } 101 else 102 { 103 C = ((((0.15417e-06*aZ) - 0.29875e-04)*aZ + 0.21071e-02)*aZ - 0.66612e-01)*aZ + 0.98375; 104 } 105 return 1.0 + C; 106 } 76 G4double GetOpt0(const G4double K); 77 G4double GetOpt1(const G4double K); 78 G4double GetOpt2(const G4double K); 79 G4double GetOpt3(const G4double K); 107 80 108 virtual G4double GetBeta() 109 { 110 return -GetCoulombBarrier(); 111 } 81 G4double GetAlpha(); 112 82 113 virtual G4bool IsItPossible(const G4Fragment& aFragment) 114 { 115 return (aFragment.GetNumberOfCharged() >= 1); 116 } 117 118 119 private: 120 121 G4ProtonCoulombBarrier theProtonCoulombBarrier; 122 83 G4double GetBeta(); 84 85 //data members 86 87 G4ProtonCoulombBarrier theProtonCoulombBarrier; 88 G4double ResidualA; 89 G4double ResidualZ; 90 G4double theA; 91 G4double theZ; 92 G4double ResidualAthrd; 93 G4double FragmentA; 94 G4double FragmentAthrd; 95 96 97 123 98 }; 124 125 99 #endif 126 100
Note: See TracChangeset
for help on using the changeset viewer.