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/G4HETCDeuteron.cc

    r819 r1340  
    2424// ********************************************************************
    2525//
     26// $Id: G4HETCDeuteron.cc,v 1.3 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 "G4HETCDeuteron.hh"
     36#include "G4Deuteron.hh"
     37
     38G4HETCDeuteron::G4HETCDeuteron()
     39  : G4HETCChargedFragment(G4Deuteron::Deuteron(), &theDeuteronCoulombBarrier)
     40{}
     41
     42G4HETCDeuteron::~G4HETCDeuteron()
     43{}
     44
     45G4double G4HETCDeuteron::GetAlpha()
     46{
     47  G4double C = 0.0;
     48  G4int aZ = GetZ() + GetRestZ();
     49  if (aZ >= 70)
     50    {
     51      C = 0.10;
     52    }
     53  else
     54    {
     55      C = ((((0.15417e-06*aZ) - 0.29875e-04)*aZ + 0.21071e-02)*aZ - 0.66612e-01)*aZ + 0.98375;
     56    }
     57  return 1.0 + C/2.0;
     58}
     59 
     60G4double G4HETCDeuteron::GetBeta()
     61{
     62  return -GetCoulombBarrier();
     63}
     64
     65G4double G4HETCDeuteron::GetSpinFactor()
     66{
     67  // 2s+1
     68  return 3.0;
     69}
    2770
    2871G4double G4HETCDeuteron::K(const G4Fragment & aFragment)
    2972{
    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;
     73  // Number of protons in emitted fragment
     74  G4int Pa = GetZ();
     75  // Number of neutrons in emitted fragment
     76  G4int Na = GetA() - Pa;
    3977
     78  G4int TargetZ = GetRestZ();
     79  G4int TargetA = GetRestA();
     80  G4double r = G4double(TargetZ)/G4double(TargetA);
    4081 
    41   G4double P = aFragment.GetNumberOfParticles();
    42   G4double H = aFragment.GetNumberOfHoles();
     82  G4int P = aFragment.GetNumberOfParticles();
     83  G4int H = aFragment.GetNumberOfHoles();
    4384
    4485  G4double result = 0.0;
     
    4788      result = 2.0* (H*(H-1.0)*r*(r-1.0)+H*(Na*r+Pa*(1.0-r)) + Pa*Na)/(P*(P-1.0));
    4889
    49       result /= (TargetZ/TargetA)*((TargetA-TargetZ)/TargetA);
     90      result /= r*(1.0 - r);
    5091    }
    51 
    5292  return std::max(0.0,result);
    53 
    5493}
Note: See TracChangeset for help on using the changeset viewer.