Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4LeptonHadronProcess.hh
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4LeptonHadronProcess.hh	(revision 1201)
+++ trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4LeptonHadronProcess.hh	(revision 1228)
@@ -45,17 +45,8 @@
 
       G4LeptonHadronProcess(const G4String &processName = "LeptonHadron");
-      ~G4LeptonHadronProcess();
+      virtual ~G4LeptonHadronProcess();
 
-      G4VParticleChange *PostStepDoIt( const G4Track &leptonTrack,
-                                       const G4Step &aStep )
-      {
-        return G4LeptonHadronProcess::GeneralPostStepDoIt(leptonTrack, aStep);
-      }
-
-      G4VParticleChange *GeneralPostStepDoIt( const G4Track &leptonTrack,
-                                              const G4Step &aStep );
-
-      virtual G4LeptonHadronInteractionModel *chooseInteractionModel() = 0;
-
+      virtual G4VParticleChange *PostStepDoIt( const G4Track &leptonTrack,
+					       const G4Step &aStep );
 
     protected:
Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuNuclearInteraction.hh
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuNuclearInteraction.hh	(revision 1201)
+++ trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuNuclearInteraction.hh	(revision 1228)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4MuNuclearInteraction.hh,v 1.6 2008/10/02 21:04:35 dennis Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
+// $Id: G4MuNuclearInteraction.hh,v 1.7 2009/03/04 19:09:20 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-03 $
 //
 // $Id: 
@@ -66,7 +66,7 @@
   virtual ~G4MuNuclearInteraction();
 
+  void SetPhysicsTableBining(G4double lowE, G4double highE, G4int nBins);
+
   virtual G4bool IsApplicable(const G4ParticleDefinition&);
-
-  void SetPhysicsTableBining(G4double lowE, G4double highE, G4int nBins);
 
   virtual void PreparePhysicsTable(const G4ParticleDefinition& ParticleType);
@@ -76,8 +76,4 @@
   virtual void PrintInfoDefinition() ;
 
-  virtual G4double GetMeanFreePath(const G4Track& track,
-				   G4double previousStepSize,
-				   G4ForceCondition* condition ) ;
- 
   virtual G4VParticleChange *PostStepDoIt(const G4Track& track,
 					  const G4Step& Step  ) ;
@@ -85,4 +81,8 @@
 protected:
 
+  virtual G4double GetMeanFreePath(const G4Track& track,
+				   G4double previousStepSize,
+				   G4ForceCondition* condition ) ;
+ 
   virtual G4double ComputeMeanFreePath( const G4ParticleDefinition* ParticleType,
 					G4double KineticEnergy,
@@ -142,6 +142,4 @@
   G4ParametrizedHadronicVertex theHadronicVertex;
 };
-
-#include "G4MuNuclearInteraction.icc"
   
 #endif
Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuonNucleusInteractionModel.hh
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuonNucleusInteractionModel.hh	(revision 1201)
+++ trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuonNucleusInteractionModel.hh	(revision 1228)
@@ -53,5 +53,5 @@
 
       G4MuonNucleusInteractionModel();
-      ~G4MuonNucleusInteractionModel();
+      virtual ~G4MuonNucleusInteractionModel();
 
       void makePhysicsVector();
Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuonNucleusProcess.hh
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuonNucleusProcess.hh	(revision 1201)
+++ trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuonNucleusProcess.hh	(revision 1228)
@@ -41,19 +41,9 @@
 
       G4MuonNucleusProcess(const G4String& processName ="MuonNucleus");
-      ~G4MuonNucleusProcess();
-
+      virtual ~G4MuonNucleusProcess();
 
       G4double GetMeanFreePath(const G4Track &muonTrack,
                                G4double previousStepSize,
                                G4ForceCondition *condition);
-
-      G4LeptonHadronInteractionModel *chooseInteractionModel();
-
-      G4VParticleChange *PostStepDoIt(const G4Track &muonTrack,
-                                      const G4Step &aStep)
-      { 
-        return G4LeptonHadronProcess::GeneralPostStepDoIt(muonTrack, aStep);
-      }
-
 
     private:
Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4ParametrizedHadronicVertex.hh
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4ParametrizedHadronicVertex.hh	(revision 1201)
+++ trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4ParametrizedHadronicVertex.hh	(revision 1228)
@@ -28,32 +28,33 @@
 
 #include "globals.hh"
-#include "G4ParticleChange.hh"
+#include "G4VParticleChange.hh"
+#include "G4HEInelastic.hh"
 #include "G4Nucleus.hh"
-#include "G4ReactionProduct.hh"
-#include "G4LEPionPlusInelastic.hh"
-#include "G4LEPionMinusInelastic.hh"
-#include "G4HEPionPlusInelastic.hh"
-#include "G4HEPionMinusInelastic.hh"
 #include "G4Track.hh"
+
+class G4LEPionPlusInelastic;
+class G4LEPionMinusInelastic;
+class G4HEPionPlusInelastic;
+class G4HEPionMinusInelastic;
 
 class G4ParametrizedHadronicVertex
 {
-  public:
-   G4ParametrizedHadronicVertex()
-   {
-     theLowEPionPlus = new G4LEPionPlusInelastic;
-     theLowEPionMinus = new G4LEPionMinusInelastic;
-     theHighEPionPlus = new G4HEPionPlusInelastic;
-     theHighEPionMinus = new G4HEPionMinusInelastic;
-   }
-   G4VParticleChange * ApplyYourself(G4Nucleus & theTarget, 
-                                     const G4Track &thePhoton);
+public:
 
-  private:
-   G4LEPionPlusInelastic  *theLowEPionPlus;
-   G4LEPionMinusInelastic *theLowEPionMinus;
-   G4HEPionPlusInelastic  *theHighEPionPlus;
-   G4HEPionMinusInelastic *theHighEPionMinus;
+  G4ParametrizedHadronicVertex();
+
+  ~G4ParametrizedHadronicVertex();
+
+  G4VParticleChange * ApplyYourself(G4Nucleus & theTarget, 
+				    const G4Track &thePhoton);
+
+private:
+
+  G4LEPionPlusInelastic  *theLowEPionPlus;
+  G4LEPionMinusInelastic *theLowEPionMinus;
+  G4HEPionPlusInelastic  *theHighEPionPlus;
+  G4HEPionMinusInelastic *theHighEPionMinus;
   
+  G4VParticleChange theTotalResult;
 };
 #endif
