Changeset 1347 for trunk/source/processes/hadronic/models/de_excitation/fission/src/G4FissionParameters.cc
- Timestamp:
- Dec 22, 2010, 3:52:27 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/de_excitation/fission/src/G4FissionParameters.cc
r1340 r1347 25 25 // 26 26 // 27 // $Id: G4FissionParameters.cc,v 1. 7 2009/11/19 10:30:49vnivanch Exp $28 // GEANT4 tag $Name: geant4-09-0 3-ref-09$27 // $Id: G4FissionParameters.cc,v 1.8 2010/11/17 20:22:46 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-04-ref-00 $ 29 29 // 30 30 // Hadronic Process: Nuclear De-excitations … … 41 41 const G4double G4FissionParameters::A2 = 141.0; 42 42 43 44 G4FissionParameters::G4FissionParameters(const G4int A, const G4int Z, const G4double ExEnergy, 45 const G4double FissionBarrier) 43 G4FissionParameters::G4FissionParameters(G4int A, G4int Z, G4double ExEnergy, 44 G4double FissionBarrier) 46 45 { 47 G4double U = ExEnergy; 46 G4double U = ExEnergy; 47 48 As = A/2.0; 48 49 49 As = A/2.0; 50 if (A <= 235) Sigma2 = 5.6; // MeV 51 else Sigma2 = 5.6 + 0.096*(A-235); // MeV 50 52 51 if (A <= 235) Sigma2 = 5.6; // MeV 52 else Sigma2 = 5.6 + 0.096*(A-235); // MeV 53 Sigma1 = 0.5*Sigma2; // MeV 53 54 54 Sigma1 = 0.5*Sigma2; // MeV55 SigmaS = std::exp(0.00553*U/MeV + 2.1386); // MeV 55 56 56 SigmaS = std::exp(0.00553*U/MeV + 2.1386); // MeV 57 //JMQ 310509 58 // if (SigmaS > 20.0) SigmaS = 20.0; 59 // SigmaS*=1.3; 60 //JMQ 301009: retuning (after CEM transition prob.have been chosen as default) 61 SigmaS*=0.8; 62 // 57 63 58 //JMQ 310509 59 // if (SigmaS > 20.0) SigmaS = 20.0; 60 // SigmaS*=1.3; 61 //JMQ 301009: retuning (after CEM transition prob.have been chosen as default) 62 SigmaS*=0.8; 63 // 64 G4double FasymAsym = 2.0*std::exp(-((A2-As)*(A2-As))/(2.0*Sigma2*Sigma2)) + 65 std::exp(-((A1-As)*(A1-As))/(2.0*Sigma1*Sigma1)); 64 66 65 G4double FasymAsym = 2.0*std::exp(-((A2-As)*(A2-As))/(2.0*Sigma2*Sigma2)) + 66 std::exp(-((A1-As)*(A1-As))/(2.0*Sigma1*Sigma1)); 67 68 G4double FsymA1A2 = std::exp(-((As-(A1+A2)/2.0)*(As-(A1+A2)/2.0))/(2.0*SigmaS*SigmaS)); 67 G4double FsymA1A2 = std::exp(-((As-(A1+A2)/2.0)*(As-(A1+A2)/2.0)) 68 /(2.0*SigmaS*SigmaS)); 69 69 70 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 71 G4double wa = 0.0; 72 w = 0.0; 73 if (Z >= 90) { // Z >= 90 74 if (U <= 16.25) wa = std::exp(0.5385*U/MeV-9.9564); // U <= 16.25 MeV 75 else wa = std::exp(0.09197*U/MeV-2.7003); // U > 16.25 MeV 76 } else if (Z == 89) { // Z == 89 77 wa = std::exp(0.09197*U-1.0808); 78 } else if (Z >= 82) { // 82 <= Z <= 88 79 G4double X = FissionBarrier - 7.5*MeV; 80 if (X < 0.0) X = 0.0; 81 wa = std::exp(0.09197*(U-X)/MeV-1.0808); 82 } else { // Z < 82 83 w = 1001.0; 84 } 85 85 86 if (w == 0.0) { 87 G4double w1 = std::max(1.03*wa - FasymAsym, 0.0001); 88 G4double w2 = std::max(1.0 - FsymA1A2*wa, 0.0001); 86 if (w == 0.0) { 87 G4double w1 = std::max(1.03*wa - FasymAsym, 0.0001); 88 G4double w2 = std::max(1.0 - FsymA1A2*wa, 0.0001); 89 90 w = w1/w2; 89 91 90 w = w1/w2; 91 92 if (82 <= Z && Z < 89 && A < 227) w *= std::exp(0.3*(227-A)); 93 } 92 if (82 <= Z && Z < 89 && A < 227) w *= std::exp(0.3*(227-A)); 93 } 94 94 95 95 } 96 96 97 G4FissionParameters::~G4FissionParameters() 98 {} 97 99 98 G4FissionParameters::G4FissionParameters(const G4FissionParameters &)99 {100 throw G4HadronicException(__FILE__, __LINE__, "G4FissionParameters::copy_constructor meant to not be accessable");101 }102 103 104 const G4FissionParameters & G4FissionParameters::operator=(const G4FissionParameters &)105 {106 throw G4HadronicException(__FILE__, __LINE__, "G4FissionParameters::operator= meant to not be accessable");107 return *this;108 }109 110 111 G4bool G4FissionParameters::operator==(const G4FissionParameters &) const112 {113 return false;114 }115 116 G4bool G4FissionParameters::operator!=(const G4FissionParameters &) const117 {118 return true;119 }120 121
Note: See TracChangeset
for help on using the changeset viewer.