Ignore:
Timestamp:
Nov 5, 2010, 3:45:55 PM (14 years ago)
Author:
garnier
Message:

update ti head

File:
1 edited

Legend:

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

    r819 r1340  
    2424// ********************************************************************
    2525//
     26// $Id: G4HETCAlpha.cc,v 1.4 2010/08/28 15:16:55 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-03-ref-09 $
     28//
     29// by V. Lara
     30//
     31// Modified:
     32// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor
     33//            the source, use G4Pow
     34
    2635#include "G4HETCAlpha.hh"
     36#include "G4Alpha.hh"
     37
     38G4HETCAlpha::G4HETCAlpha()
     39  : G4HETCChargedFragment(G4Alpha::Alpha(), &theAlphaCoulombBarrier)
     40{}
     41
     42G4HETCAlpha::~G4HETCAlpha()
     43{}
     44
     45G4double G4HETCAlpha::GetAlpha()
     46{
     47  G4double C = 0.0;
     48  G4int aZ = GetZ() + GetRestZ();
     49  if (aZ <= 30)
     50    {
     51      C = 0.10;
     52    }
     53  else if (aZ <= 50)
     54    {
     55      C = 0.1 + -((aZ-50.)/20.)*0.02;
     56    }
     57  else if (aZ < 70)
     58    {
     59      C = 0.08 + -((aZ-70.)/20.)*0.02;
     60    }
     61  else
     62    {
     63      C = 0.06;
     64    }
     65  return 1.0+C;
     66}
     67 
     68G4double G4HETCAlpha::GetBeta()
     69{
     70  return -GetCoulombBarrier();
     71}
     72 
     73G4double G4HETCAlpha::GetSpinFactor()
     74{
     75  return 1.0;
     76}
    2777
    2878G4double G4HETCAlpha::K(const G4Fragment & aFragment)
    2979{
    30   if (GetStage() != 1) return 1.0;
    31   // Number of protons in projectile
    32   G4double Pa = static_cast<G4int>(aFragment.GetParticleDefinition()->GetPDGCharge());
    33   // Number of neutrons in projectile
    34   G4double Na = aFragment.GetParticleDefinition()->GetBaryonNumber();
    35   G4double TargetA = aFragment.GetA() - Na;
    36   G4double TargetZ = aFragment.GetZ() - Pa;
    37   Na -= Pa;
    38   G4double r = TargetZ/TargetA;
     80  // Number of protons in emitted fragment
     81  G4int Pa = GetZ();
     82  // Number of neutrons in emitted fragment
     83  G4int Na = GetA() - Pa;
    3984
    40  
    41   G4double P = aFragment.GetNumberOfParticles();
    42   G4double H = aFragment.GetNumberOfHoles();
     85  G4int TargetZ = GetRestZ();
     86  G4int TargetA = GetRestA();
     87  G4double r = G4double(TargetZ)/G4double(TargetA);
     88
     89  G4int P = aFragment.GetNumberOfParticles();
     90  G4int H = aFragment.GetNumberOfHoles();
    4391
    4492  G4double result = 0.0;
     
    52100         Pa*(Pa-1.0)*Na*(Na-1.0));
    53101
    54       result /= 6.0*std::pow((TargetZ/TargetA)*((TargetA-TargetZ)/TargetA),2.0);
     102      result /= 6.0*r*r*(1. - r) *(1. - r);
    55103    }
    56 
    57104  return std::max(0.0,result);
    58 
    59105}
Note: See TracChangeset for help on using the changeset viewer.