Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4FissionParameters Class Reference

#include <G4FissionParameters.hh>

Public Member Functions

 G4FissionParameters ()
 
 ~G4FissionParameters ()
 
void DefineParameters (G4int A, G4int Z, G4double ExEnergy, G4double FissionBarrier)
 
G4int GetA1 (void) const
 
G4int GetA2 (void) const
 
G4double GetAs (void) const
 
G4double GetSigma1 (void) const
 
G4double GetSigma2 (void) const
 
G4double GetSigmaS (void) const
 
G4double GetW (void) const
 

Detailed Description

Definition at line 38 of file G4FissionParameters.hh.

Constructor & Destructor Documentation

G4FissionParameters::G4FissionParameters ( )

Definition at line 39 of file G4FissionParameters.cc.

40  : A1(134),A2(141),A3((A1 + A2)*0.5),As(0.0),Sigma1(0.0),Sigma2(0.0),
41  SigmaS(0.),w(0.0)
42 {}
G4FissionParameters::~G4FissionParameters ( )

Definition at line 44 of file G4FissionParameters.cc.

45 {}

Member Function Documentation

void G4FissionParameters::DefineParameters ( G4int  A,
G4int  Z,
G4double  ExEnergy,
G4double  FissionBarrier 
)

Definition at line 47 of file G4FissionParameters.cc.

49 {
50  // to avoid usage of units
51  G4double U = ExEnergy/CLHEP::MeV;
52 
53  As = A*0.5;
54 
55  if (A <= 235) { Sigma2 = 5.6; }
56  else { Sigma2 = 5.6 + 0.096*(A-235); }
57 
58  Sigma1 = 0.5*Sigma2;
59 
60  //JMQ 310509
61  // if (SigmaS > 20.0) SigmaS = 20.0;
62  // SigmaS*=1.3;
63  //JMQ 301009: retuning (after CEM transition prob.have been chosen as default)
64  SigmaS = 0.8*G4Exp(0.00553*U + 2.1386);
65 
66  G4double x1 = (A1-As)/Sigma1;
67  G4double x2 = (A2-As)/Sigma2;
68  G4double FasymAsym = 2*G4Exp(-0.5*x2*x2) + G4Exp(-0.5*x1*x1);
69 
70  G4double x3 = (As-A3)/SigmaS;
71  G4double FsymA1A2 = G4Exp(-0.5*x3*x3);
72 
73  G4double wa = 0.0;
74  w = 0.0;
75  if (Z >= 90) {
76  if (U <= 16.25) { wa = G4Exp(0.5385*U-9.9564); }
77  else { wa = G4Exp(0.09197*U-2.7003); }
78  } else if (Z == 89) {
79  wa = G4Exp(0.09197*U-1.0808);
80  } else if (Z >= 82) {
81  G4double X = std::max(0.0, FissionBarrier/CLHEP::MeV - 7.5);
82  wa = G4Exp(0.09197*(U-X) - 1.0808);
83  } else { // Z < 82
84  w = 1001.0;
85  }
86 
87  if (w == 0.0) {
88  G4double w1 = std::max(1.03*wa - FasymAsym, 0.0001);
89  G4double w2 = std::max(1.0 - FsymA1A2*wa, 0.0001);
90 
91  w = w1/w2;
92 
93  if (82 <= Z && Z < 89 && A < 227) { w *= G4Exp(0.3*(227-A)); }
94  }
95 }
double A(double temperature)
static constexpr double MeV
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
Definition: G4Exp.hh:183
T max(const T t1, const T t2)
brief Return the largest of the two arguments
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

Here is the caller graph for this function:

G4int G4FissionParameters::GetA1 ( void  ) const
inline

Definition at line 51 of file G4FissionParameters.hh.

51 { return A1; }
G4int G4FissionParameters::GetA2 ( void  ) const
inline

Definition at line 52 of file G4FissionParameters.hh.

52 { return A2; }
G4double G4FissionParameters::GetAs ( void  ) const
inline

Definition at line 54 of file G4FissionParameters.hh.

54 { return As; }
G4double G4FissionParameters::GetSigma1 ( void  ) const
inline

Definition at line 55 of file G4FissionParameters.hh.

55 { return Sigma1; }
G4double G4FissionParameters::GetSigma2 ( void  ) const
inline

Definition at line 56 of file G4FissionParameters.hh.

56 { return Sigma2; }
G4double G4FissionParameters::GetSigmaS ( void  ) const
inline

Definition at line 57 of file G4FissionParameters.hh.

57 { return SigmaS; }
G4double G4FissionParameters::GetW ( void  ) const
inline

Definition at line 58 of file G4FissionParameters.hh.

58 { return w; }

The documentation for this class was generated from the following files: