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/cascade/cascade/src/bindingEnergy.cc

    r819 r1340  
    2323// * acceptance of all terms of the Geant4 Software license.          *
    2424// ********************************************************************
     25// $Id: bindingEnergy.cc,v 1.10 2010/09/14 17:51:36 mkelsey Exp $
    2526//
     27// 20100622 M. Kelsey -- Replace all functionally with call-through to
     28//              G4NucleiProperties.  Check for valid A/Z and return zero
     29//              without warning message.
     30// 20100914 M. Kelsey -- Migrate to integer A and Z
     31
    2632#include "G4InuclSpecialFunctions.hh"
     33#include "G4NucleiProperties.hh"
    2734
    28 G4double G4InuclSpecialFunctions::bindingEnergy(G4double A, G4double Z) {
    29   G4int verboseLevel = 2;
    3035
    31   if (verboseLevel > 3) {
    32     G4cout << " >>> G4InuclSpecialFunctions::bindingEnergy" << G4endl;
    33   }
     36G4double G4InuclSpecialFunctions::bindingEnergy(G4int A, G4int Z) {
     37  // NOTE:  Test condition copied from G4NucleiProperties.cc; not encapsulated
     38  if (A < 1 || Z < 0 || Z > A) return 0.;
    3439
    35   // calculates the nuclei binding energy using Kummel or exact or asymptotic
    36   // high temperature
    37   G4double DM;
    38   G4double AN = A - Z;
    39 
    40   if (AN < 0.1 || Z < 0.1) {
    41     DM = 0.0;
    42 
    43   } else {
    44 
    45     if (A <= 256.0) {
    46 
    47       if (AN >= 20. && Z >= 20) {
    48 
    49         if (Z < 1.7 * AN && Z > 0.3 * AN) { // standard
    50           DM = bindingEnergyKummel(A, Z);
    51 
    52         } else { // bad case
    53           DM = bindingEnergyAsymptotic(A, Z);
    54         };
    55 
    56       } else {
    57 
    58         if (A > 60.0 || Z > 21) { // bad case
    59           DM = bindingEnergyAsymptotic(A, Z);
    60 
    61         } else { // exact case
    62           DM = bindingEnergyExact(A, Z);
    63         };
    64       };
    65 
    66     } else {
    67       DM = bindingEnergyAsymptotic(A, Z);
    68     };
    69   }; 
    70 
    71   // G4cout << " A " << A << " Z " << Z << " DM " << DM << G4endl;
    72 
    73   return DM;
     40  return G4NucleiProperties::GetBindingEnergy(A, Z);
    7441}
Note: See TracChangeset for help on using the changeset viewer.