Ignore:
Timestamp:
May 28, 2009, 4:26:57 PM (15 years ago)
Author:
garnier
Message:

maj sur la beta de geant 4.9.3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundHe3.cc

    r1007 r1055  
    2424// ********************************************************************
    2525//
    26 //J.M.Quesada (August 08). New source file
    27 //
    28 // Modif (21 August 2008) by J. M. Quesada for external choice of inverse
    29 // cross section option
     26//
     27// $Id: G4PreCompoundHe3.cc,v 1.5 2009/02/13 18:57:32 vnivanch Exp $
     28// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
     29//
     30// -------------------------------------------------------------------
     31//
     32// GEANT4 Class file
     33//
     34//
     35// File name:     G4PreCompoundHe3
     36//
     37// Author:         V.Lara
     38//
     39// Modified: 
     40// 21.08.2008 J. M. Quesada add choice of options 
     41// 10.02.2009 J. M. Quesada set default opt1 
     42//
    3043 
    3144#include "G4PreCompoundHe3.hh"
    3245
    33 
    34   G4ReactionProduct * G4PreCompoundHe3::GetReactionProduct() const
    35   {
    36     G4ReactionProduct * theReactionProduct =
    37       new G4ReactionProduct(G4He3::He3Definition());
    38     theReactionProduct->SetMomentum(GetMomentum().vect());
    39     theReactionProduct->SetTotalEnergy(GetMomentum().e());
     46G4ReactionProduct * G4PreCompoundHe3::GetReactionProduct() const
     47{
     48  G4ReactionProduct * theReactionProduct =
     49    new G4ReactionProduct(G4He3::He3Definition());
     50  theReactionProduct->SetMomentum(GetMomentum().vect());
     51  theReactionProduct->SetTotalEnergy(GetMomentum().e());
    4052#ifdef PRECOMPOUND_TEST
    41     theReactionProduct->SetCreatorModel("G4PrecompoundModel");
     53  theReactionProduct->SetCreatorModel("G4PrecompoundModel");
    4254#endif
    43     return theReactionProduct;
    44   }   
    45 
    46 
    47    G4double G4PreCompoundHe3::FactorialFactor(const G4double N, const G4double P)
    48   {
    49      return
     55  return theReactionProduct;
     56}   
     57
     58G4double G4PreCompoundHe3::FactorialFactor(const G4double N, const G4double P)
     59{
     60  return
    5061      (N-3.0)*(P-2.0)*(
    5162                       (((N-2.0)*(P-1.0))/2.0) *(
     
    5364                                                 )
    5465                       );
     66}
     67 
     68G4double G4PreCompoundHe3::CoalescenceFactor(const G4double A)
     69{
     70  return 243.0/(A*A);
     71}   
     72
     73G4double G4PreCompoundHe3::GetRj(const G4int NumberParticles, const G4int NumberCharged)
     74{
     75  G4double rj = 0.0;
     76  G4double denominator = NumberParticles*(NumberParticles-1)*(NumberParticles-2);
     77  if(NumberCharged >=2 && (NumberParticles-NumberCharged) >= 1) {
     78    rj = 3.0*static_cast<G4double>(NumberCharged*(NumberCharged-1)*(NumberParticles-NumberCharged))
     79      / static_cast<G4double>(denominator); 
    5580  }
    56  
    57   G4double G4PreCompoundHe3::CoalescenceFactor(const G4double A)
    58   {
    59          return 243.0/(A*A);
    60   }   
    61 
    62 
    63 
    64   G4double G4PreCompoundHe3::GetRj(const G4int NumberParticles, const G4int NumberCharged)
    65   {
    66     G4double rj = 0.0;
    67     G4double denominator = NumberParticles*(NumberParticles-1)*(NumberParticles-2);
    68     if(NumberCharged >=2 && (NumberParticles-NumberCharged) >= 1) rj = 3.0*static_cast<G4double>(NumberCharged*(NumberCharged-1)*(NumberParticles-NumberCharged))/static_cast<G4double>(denominator); 
    69    
    70     return rj;
    71   }
    72 
    73 
    74 
     81  return rj;
     82}
    7583
    7684////////////////////////////////////////////////////////////////////////////////////
     
    8088//OPT=3,4 Kalbach's parameterization
    8189//
    82  G4double G4PreCompoundHe3::CrossSection(const  G4double K)
     90G4double G4PreCompoundHe3::CrossSection(const  G4double K)
    8391{
    8492  ResidualA=GetRestA();
     
    114122//----------------
    115123//
    116   G4double G4PreCompoundHe3::GetAlpha()
    117   {
    118     G4double C = 0.0;
    119     G4double aZ = GetZ() + GetRestZ();
    120     if (aZ <= 30)
    121       {
    122         C = 0.10;
    123       }
    124     else if (aZ <= 50)
    125       {
    126         C = 0.1 + -((aZ-50.)/20.)*0.02;
    127       }
    128     else if (aZ < 70)
    129       {
    130         C = 0.08 + -((aZ-70.)/20.)*0.02;
    131       }
    132     else
    133       {
    134         C = 0.06;
    135       }
    136     return 1.0 + C*(4.0/3.0);
    137   }
     124G4double G4PreCompoundHe3::GetAlpha()
     125{
     126  G4double C = 0.0;
     127  G4double aZ = GetZ() + GetRestZ();
     128  if (aZ <= 30)
     129    {
     130      C = 0.10;
     131    }
     132  else if (aZ <= 50)
     133    {
     134      C = 0.1 + -((aZ-50.)/20.)*0.02;
     135    }
     136  else if (aZ < 70)
     137    {
     138      C = 0.08 + -((aZ-70.)/20.)*0.02;
     139    }
     140  else
     141    {
     142      C = 0.06;
     143    }
     144  return 1.0 + C*(4.0/3.0);
     145}
    138146//
    139147//--------------------
    140148//
    141    G4double G4PreCompoundHe3::GetBeta()
    142   {
    143       return -GetCoulombBarrier();
    144   }
     149G4double G4PreCompoundHe3::GetBeta()
     150{
     151  return -GetCoulombBarrier();
     152}
    145153//
    146154//********************* OPT=1,2 : Chatterjee's cross section ************************
     
    214222  G4double      ra=0.80;
    215223       
    216   ec = 1.44 * theZ * ResidualZ / (1.5*ResidualAthrd+ra);
     224  //JMQ 13/02/09 increase of reduced radius to lower the barrier
     225  // ec = 1.44 * theZ * ResidualZ / (1.5*ResidualAthrd+ra);
     226  ec = 1.44 * theZ * ResidualZ / (1.7*ResidualAthrd+ra);
    217227  ecsq = ec * ec;
    218228  p = p0 + p1/ec + p2/ecsq;
     
    237247 
    238248  if (elab <= ec) { //start for E<Ec
    239     if (elab > ecut2)  sig = (p*elab*elab+a*elab+b) * signor;   
     249    if (elab > ecut2)  sig = (p*elab*elab+a*elab+b) * signor;
    240250  }           //end for E<Ec
    241251  else {           //start for E>Ec
Note: See TracChangeset for help on using the changeset viewer.