Index: trunk/source/processes/electromagnetic/xrays/include/G4Cerenkov.hh
===================================================================
--- trunk/source/processes/electromagnetic/xrays/include/G4Cerenkov.hh	(revision 819)
+++ trunk/source/processes/electromagnetic/xrays/include/G4Cerenkov.hh	(revision 961)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4Cerenkov.hh,v 1.9 2007/09/30 22:17:04 gum Exp $
-// GEANT4 tag $Name:  $
+// $Id: G4Cerenkov.hh,v 1.10 2008/10/22 01:17:36 gum Exp $
+// GEANT4 tag $Name: geant4-09-02-ref-02 $
 //
 // 
@@ -60,5 +60,5 @@
 #include "G4ParticleMomentum.hh"
 #include "G4Step.hh"
-#include "G4VDiscreteProcess.hh"
+#include "G4VProcess.hh"
 #include "G4OpticalPhoton.hh"
 #include "G4DynamicParticle.hh"
@@ -77,5 +77,5 @@
 /////////////////////
 
-class G4Cerenkov : public G4VDiscreteProcess  
+class G4Cerenkov : public G4VProcess
 {
 
@@ -116,7 +116,38 @@
         // condition for the DoIt to be invoked at every step.
 
+        G4double PostStepGetPhysicalInteractionLength(const G4Track& aTrack,
+                                                      G4double ,
+                                                      G4ForceCondition* );
+        // Returns the discrete step limit and sets the 'StronglyForced'
+        // condition for the DoIt to be invoked at every step.
+
 	G4VParticleChange* PostStepDoIt(const G4Track& aTrack, 
 					const G4Step&  aStep);
         // This is the method implementing the Cerenkov process.
+
+        //  no operation in  AtRestDoIt and  AlongStepDoIt
+        virtual G4double AlongStepGetPhysicalInteractionLength(
+                               const G4Track&,
+                               G4double  ,
+                               G4double  ,
+                               G4double& ,
+                               G4GPILSelection*
+                              ) { return -1.0; };
+
+        virtual G4double AtRestGetPhysicalInteractionLength(
+                               const G4Track& ,
+                               G4ForceCondition*
+                              ) { return -1.0; };
+
+        //  no operation in  AtRestDoIt and  AlongStepDoIt
+        virtual G4VParticleChange* AtRestDoIt(
+                               const G4Track& ,
+                               const G4Step&
+                              ) {return 0;};
+
+        virtual G4VParticleChange* AlongStepDoIt(
+                               const G4Track& ,
+                               const G4Step&
+                              ) {return 0;};
 
 	void SetTrackSecondariesFirst(const G4bool state);
@@ -125,4 +156,8 @@
         // been tracked, the tracking of the primary resumes. 
 	
+        void SetMaxBetaChangePerStep(const G4double d);
+        // Set the maximum allowed change in beta = v/c in % (perCent)
+        // per step.
+
 	void SetMaxNumPhotonsPerStep(const G4int NumPhotons);
         // Set the maximum number of Cerenkov photons allowed to be 
@@ -166,5 +201,6 @@
 
 	G4bool fTrackSecondariesFirst;
-	G4int  fMaxPhotons;
+        G4double fMaxBetaChange;
+        G4int  fMaxPhotons;
 };
 
@@ -190,4 +226,10 @@
 
 inline
+void G4Cerenkov::SetMaxBetaChangePerStep(const G4double value)
+{
+        fMaxBetaChange = value*perCent;
+}
+
+inline
 void G4Cerenkov::SetMaxNumPhotonsPerStep(const G4int NumPhotons) 
 { 
@@ -208,5 +250,6 @@
 }
 
-inline G4PhysicsTable* G4Cerenkov::GetPhysicsTable() const
+inline
+G4PhysicsTable* G4Cerenkov::GetPhysicsTable() const
 {
   return thePhysicsTable;
Index: trunk/source/processes/electromagnetic/xrays/include/G4ForwardXrayTR.hh
===================================================================
--- trunk/source/processes/electromagnetic/xrays/include/G4ForwardXrayTR.hh	(revision 819)
+++ trunk/source/processes/electromagnetic/xrays/include/G4ForwardXrayTR.hh	(revision 961)
@@ -26,5 +26,5 @@
 //
 // $Id: G4ForwardXrayTR.hh,v 1.14 2006/06/29 19:55:33 gunter Exp $
-// GEANT4 tag $Name:  $
+// GEANT4 tag $Name: geant4-09-02-ref-02 $
 //
 // G4ForwardXrayTR -- header file
Index: trunk/source/processes/electromagnetic/xrays/include/G4GammaXTRadiator.hh
===================================================================
--- trunk/source/processes/electromagnetic/xrays/include/G4GammaXTRadiator.hh	(revision 819)
+++ trunk/source/processes/electromagnetic/xrays/include/G4GammaXTRadiator.hh	(revision 961)
@@ -26,5 +26,5 @@
 //
 // $Id: G4GammaXTRadiator.hh,v 1.4 2006/06/29 19:55:35 gunter Exp $
-// GEANT4 tag $Name:  $
+// GEANT4 tag $Name: geant4-09-02-ref-02 $
 //
 // 
Index: trunk/source/processes/electromagnetic/xrays/include/G4RegularXTRadiator.hh
===================================================================
--- trunk/source/processes/electromagnetic/xrays/include/G4RegularXTRadiator.hh	(revision 819)
+++ trunk/source/processes/electromagnetic/xrays/include/G4RegularXTRadiator.hh	(revision 961)
@@ -26,5 +26,5 @@
 //
 // $Id: G4RegularXTRadiator.hh,v 1.3 2006/06/29 19:55:37 gunter Exp $
-// GEANT4 tag $Name:  $
+// GEANT4 tag $Name: geant4-09-02-ref-02 $
 //
 // 
Index: trunk/source/processes/electromagnetic/xrays/include/G4Scintillation.hh
===================================================================
--- trunk/source/processes/electromagnetic/xrays/include/G4Scintillation.hh	(revision 819)
+++ trunk/source/processes/electromagnetic/xrays/include/G4Scintillation.hh	(revision 961)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4Scintillation.hh,v 1.13 2006/06/29 19:55:39 gunter Exp $
-// GEANT4 tag $Name: geant4-09-01-patch-02 $
+// $Id: G4Scintillation.hh,v 1.15 2008/06/13 01:04:49 gum Exp $
+// GEANT4 tag $Name: geant4-09-02-ref-02 $
 //
 // 
@@ -72,4 +72,6 @@
 #include "G4PhysicsOrderedFreeVector.hh"
 
+#include "G4EmSaturation.hh"
+
 // Class Description:
 // RestDiscrete Process - Generation of Scintillation Photons.
@@ -170,8 +172,14 @@
         // Returns the address of the slow scintillation integral table.
 
+        void AddSaturation(G4EmSaturation* sat) { emSaturation = sat; }
+        // Adds Birks Saturation to the process.
+
+        G4EmSaturation* GetSaturation() const { return emSaturation; }
+        // Returns the Birks Saturation.
+
         void DumpPhysicsTable() const;
         // Prints the fast and slow scintillation integral tables.
 
-private:
+protected:
 
         void BuildThePhysicsTable();
@@ -183,16 +191,19 @@
         ///////////////////////
 
-protected:
 
         G4PhysicsTable* theSlowIntegralTable;
         G4PhysicsTable* theFastIntegralTable;
 
+
+
+	G4bool fTrackSecondariesFirst;
+
+        G4double YieldFactor;
+
+        G4double ExcitationRatio;
+
 private:
 
-	G4bool fTrackSecondariesFirst;
-
-        G4double YieldFactor;
-
-        G4double ExcitationRatio;
+        G4EmSaturation* emSaturation;
 
 };
Index: trunk/source/processes/electromagnetic/xrays/include/G4StrawTubeXTRadiator.hh
===================================================================
--- trunk/source/processes/electromagnetic/xrays/include/G4StrawTubeXTRadiator.hh	(revision 819)
+++ trunk/source/processes/electromagnetic/xrays/include/G4StrawTubeXTRadiator.hh	(revision 961)
@@ -26,5 +26,5 @@
 //
 // $Id: G4StrawTubeXTRadiator.hh,v 1.4 2007/09/29 17:49:34 vnivanch Exp $
-// GEANT4 tag $Name:  $
+// GEANT4 tag $Name: geant4-09-02-ref-02 $
 //
 // 
Index: trunk/source/processes/electromagnetic/xrays/include/G4SynchrotronRadiation.hh
===================================================================
--- trunk/source/processes/electromagnetic/xrays/include/G4SynchrotronRadiation.hh	(revision 819)
+++ trunk/source/processes/electromagnetic/xrays/include/G4SynchrotronRadiation.hh	(revision 961)
@@ -26,5 +26,5 @@
 //
 // $Id: G4SynchrotronRadiation.hh,v 1.4 2006/06/29 19:55:43 gunter Exp $
-// GEANT4 tag $Name:  $
+// GEANT4 tag $Name: geant4-09-02-ref-02 $
 //
 // ------------------------------------------------------------
Index: trunk/source/processes/electromagnetic/xrays/include/G4SynchrotronRadiationInMat.hh
===================================================================
--- trunk/source/processes/electromagnetic/xrays/include/G4SynchrotronRadiationInMat.hh	(revision 819)
+++ trunk/source/processes/electromagnetic/xrays/include/G4SynchrotronRadiationInMat.hh	(revision 961)
@@ -26,5 +26,5 @@
 //
 // $Id: G4SynchrotronRadiationInMat.hh,v 1.2 2006/06/29 19:55:45 gunter Exp $
-// GEANT4 tag $Name:  $
+// GEANT4 tag $Name: geant4-09-02-ref-02 $
 //
 // ------------------------------------------------------------
Index: trunk/source/processes/electromagnetic/xrays/include/G4TransitionRadiation.hh
===================================================================
--- trunk/source/processes/electromagnetic/xrays/include/G4TransitionRadiation.hh	(revision 819)
+++ trunk/source/processes/electromagnetic/xrays/include/G4TransitionRadiation.hh	(revision 961)
@@ -26,5 +26,5 @@
 //
 // $Id: G4TransitionRadiation.hh,v 1.9 2006/06/29 19:55:47 gunter Exp $
-// GEANT4 tag $Name:  $
+// GEANT4 tag $Name: geant4-09-02-ref-02 $
 //
 // G4TransitionRadiation  -- header file
Index: trunk/source/processes/electromagnetic/xrays/include/G4TransparentRegXTRadiator.hh
===================================================================
--- trunk/source/processes/electromagnetic/xrays/include/G4TransparentRegXTRadiator.hh	(revision 819)
+++ trunk/source/processes/electromagnetic/xrays/include/G4TransparentRegXTRadiator.hh	(revision 961)
@@ -26,5 +26,5 @@
 //
 // $Id: G4TransparentRegXTRadiator.hh,v 1.2 2006/06/29 19:55:49 gunter Exp $
-// GEANT4 tag $Name:  $
+// GEANT4 tag $Name: geant4-09-02-ref-02 $
 //
 // 
Index: trunk/source/processes/electromagnetic/xrays/include/G4VTRModel.hh
===================================================================
--- trunk/source/processes/electromagnetic/xrays/include/G4VTRModel.hh	(revision 819)
+++ trunk/source/processes/electromagnetic/xrays/include/G4VTRModel.hh	(revision 961)
@@ -26,5 +26,5 @@
 //
 // $Id: G4VTRModel.hh,v 1.3 2006/06/29 19:55:51 gunter Exp $
-// GEANT4 tag $Name:  $
+// GEANT4 tag $Name: geant4-09-02-ref-02 $
 //
 // G4VTRModel  -- header file
Index: trunk/source/processes/electromagnetic/xrays/include/G4VTransitionRadiation.hh
===================================================================
--- trunk/source/processes/electromagnetic/xrays/include/G4VTransitionRadiation.hh	(revision 819)
+++ trunk/source/processes/electromagnetic/xrays/include/G4VTransitionRadiation.hh	(revision 961)
@@ -26,5 +26,5 @@
 //
 // $Id: G4VTransitionRadiation.hh,v 1.3 2006/06/29 19:55:53 gunter Exp $
-// GEANT4 tag $Name:  $
+// GEANT4 tag $Name: geant4-09-02-ref-02 $
 //
 // G4VTransitionRadiation  -- header file
Index: trunk/source/processes/electromagnetic/xrays/include/G4VXTRenergyLoss.hh
===================================================================
--- trunk/source/processes/electromagnetic/xrays/include/G4VXTRenergyLoss.hh	(revision 819)
+++ trunk/source/processes/electromagnetic/xrays/include/G4VXTRenergyLoss.hh	(revision 961)
@@ -26,5 +26,5 @@
 //
 // $Id: G4VXTRenergyLoss.hh,v 1.24 2007/09/29 17:49:34 vnivanch Exp $
-// GEANT4 tag $Name:  $
+// GEANT4 tag $Name: geant4-09-02-ref-02 $
 //
 // 
