Index: trunk/source/processes/hadronic/util/src/G4ReactionDynamics.cc
===================================================================
--- trunk/source/processes/hadronic/util/src/G4ReactionDynamics.cc	(revision 962)
+++ trunk/source/processes/hadronic/util/src/G4ReactionDynamics.cc	(revision 1315)
@@ -184,6 +184,6 @@
       veryForward = true;
     }
-    const G4double atomicWeight = targetNucleus.GetN();
-    const G4double atomicNumber = targetNucleus.GetZ();
+    const G4double atomicWeight = G4double(targetNucleus.GetA_asInt());
+    const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
     const G4double protonMass = aProton->GetPDGMass()/MeV;
 
@@ -1124,7 +1124,7 @@
 
     G4int PinNucleus = std::max(0, 
-      G4int(targetNucleus.GetZ()) - protonsInFinalState);
+      targetNucleus.GetZ_asInt() - protonsInFinalState);
     G4int NinNucleus = std::max(0,
-      G4int(targetNucleus.GetN()-targetNucleus.GetZ()) - neutronsInFinalState);
+      targetNucleus.GetN_asInt() - neutronsInFinalState);
 
     pseudoParticle[3].SetMomentum( 0.0, 0.0, pOriginal*GeV );
@@ -1356,6 +1356,6 @@
     for (G4int i = 0; i < vecLen; i++) eAvailable -= vec[i]->GetMass()/GeV;
 
-    const G4double atomicWeight = targetNucleus.GetN();
-    const G4double atomicNumber = targetNucleus.GetZ();
+    const G4double atomicWeight = G4double(targetNucleus.GetA_asInt());
+    const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
     const G4double pOriginal = modifiedOriginal.GetTotalMomentum()/GeV;
     
@@ -1502,6 +1502,6 @@
     }
 
-    const G4double atomicWeight = targetNucleus.GetN();
-    const G4double atomicNumber = targetNucleus.GetZ();
+    const G4double atomicWeight = G4double(targetNucleus.GetA_asInt());
+    const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
     //
     // particles have been distributed in forward and backward hemispheres
@@ -2033,7 +2033,7 @@
 
     G4int PinNucleus = std::max(0, 
-      G4int(targetNucleus.GetZ()) - protonsInFinalState);
+      targetNucleus.GetZ_asInt() - protonsInFinalState);
     G4int NinNucleus = std::max(0,
-      G4int(targetNucleus.GetN()-targetNucleus.GetZ()) - neutronsInFinalState);
+      targetNucleus.GetN_asInt() - neutronsInFinalState);
     //
     //  for various reasons, the energy balance is not sufficient,
@@ -2270,5 +2270,5 @@
 
     targetMass = targetParticle.GetMass()/GeV;
-    const G4double atomicWeight = targetNucleus.GetN();
+    const G4double atomicWeight = G4double(targetNucleus.GetA_asInt());
     
     G4double etCurrent = currentParticle.GetTotalEnergy()/GeV;
@@ -2430,7 +2430,7 @@
 
     G4int PinNucleus = std::max(0, 
-      G4int(targetNucleus.GetZ()) - protonsInFinalState);
+      targetNucleus.GetZ_asInt() - protonsInFinalState);
     G4int NinNucleus = std::max(0,
-      G4int(targetNucleus.GetN()-targetNucleus.GetZ()) - neutronsInFinalState);
+      targetNucleus.GetN_asInt() - neutronsInFinalState);
 
       // DEBUGGING --> DumpFrames::DumpFrame(vec, vecLen);
@@ -2820,5 +2820,5 @@
     //    inclusive distributions, but it is necessary for momentum conservation
     //
-    const G4double atomicWeight = targetNucleus.GetN();
+    const G4double atomicWeight = G4double(targetNucleus.GetA_asInt());
     const G4double logWeight = std::log(atomicWeight);
     
@@ -3096,6 +3096,6 @@
     
     const G4double ekOriginal = modifiedOriginal.GetKineticEnergy()/MeV;
-    const G4double atomicWeight = targetNucleus.GetN();
-    const G4double atomicNumber = targetNucleus.GetZ();
+    const G4double atomicWeight = G4double(targetNucleus.GetA_asInt());
+    const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
     
     const G4double ika1 = 3.6;
@@ -3836,5 +3836,5 @@
     if( currentParticle.GetDefinition() == aNeutron )
     {
-      const G4double A = targetNucleus.GetN();    // atomic weight
+      const G4double A = G4double(targetNucleus.GetA_asInt());    // atomic weight
       if( G4UniformRand() > ((A-1.0)/230.0)*((A-1.0)/230.0) )
         qval[0] = 0.0;
