Geant4  10.01
G4FissionParameters.cc
Go to the documentation of this file.
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 //
27 // $Id: G4FissionParameters.cc 67983 2013-03-13 10:42:03Z gcosmo $
28 //
29 // Hadronic Process: Nuclear De-excitations
30 // by V. Lara (Oct 1998)
31 //
32 //J. M. Quesada (May 2009): sigma_sym (SigmaS) tuned for spallation data.
33 //J. M. Quesada (30.10.09): retuning for IAEA spallation data
34 
35 #include "G4FissionParameters.hh"
36 #include "G4SystemOfUnits.hh"
37 #include "G4HadronicException.hh"
38 
39 
40 const G4double G4FissionParameters::A1 = 134.0;
41 const G4double G4FissionParameters::A2 = 141.0;
42 
44  G4double FissionBarrier)
45 {
46  G4double U = ExEnergy;
47 
48  As = A/2.0;
49 
50  if (A <= 235) Sigma2 = 5.6; // MeV
51  else Sigma2 = 5.6 + 0.096*(A-235); // MeV
52 
53  Sigma1 = 0.5*Sigma2; // MeV
54 
55  SigmaS = std::exp(0.00553*U/MeV + 2.1386); // MeV
56 
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  //
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));
66 
67  G4double FsymA1A2 = std::exp(-((As-(A1+A2)/2.0)*(As-(A1+A2)/2.0))
68  /(2.0*SigmaS*SigmaS));
69 
70 
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 
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;
91 
92  if (82 <= Z && Z < 89 && A < 227) w *= std::exp(0.3*(227-A));
93  }
94 
95 }
96 
98 {}
99 
static const double MeV
Definition: G4SIunits.hh:193
static const G4double A2
int G4int
Definition: G4Types.hh:78
static const G4double A[nN]
T max(const T t1, const T t2)
brief Return the largest of the two arguments
static const G4double A1
double G4double
Definition: G4Types.hh:76