/////////////////////////////////////////////////////////////////////////
// G4Tutorial:
//
// PhysicsEMPhotonEPDL.hh
// 
// Assembling electromagnetic physics processes for photons.
// 
// The considered processes are G4LowEnergyPhotoElectric, G4LowEnergyCompton
// G4LowEnergyGammaConversion and G4LowEnergyRayleigh
//
/////////////////////////////////////////////////////////////////////////


#ifndef PHYSICSEMPHOTONEPDL_HH
#define PHYSICSEMPHOTONEPDL_HH

#include "G4VPhysicsConstructor.hh"
#include "globals.hh"


// G4VPhysicsConstructor is the abstract base class for physics constructors:

class PhysicsEMPhotonEPDL : public G4VPhysicsConstructor {

 public: 
   PhysicsEMPhotonEPDL(const G4String& name = "Photon-EPDL"); 
   virtual ~PhysicsEMPhotonEPDL();
  
 

   // G4VPhysicsConstructor has two pure virtual methods which must be 
   // implemented by the user: ConstructParticle and ConstructProcess.
   // Since only physics processes are dealt with here, ConstructParticle
   // is irrelevant and performs no action. ConstructProcess is used to
   // instantiate all physics processes relevant for the considered particle
   // and type of interaction.
   void ConstructParticle() { };
   void ConstructProcess();
};

#endif // PHYSICSEMPHOTONEPDL_HH