\section{Introduction} \label{em_disc} All processes of gamma interaction with media in Geant4 are happen at the end of the step, so are following $G4VDiscreteProcess$ interface. There are a number of similar functions for discrete electromagnetic processes and in the Standard electromagnetic (EM) package an additional base classes are designed to provide common computations \cite{discrete.em}. \subsection{General Interfaces} Common calculations are performed in the class $G4VEmProcess$ in which the following public methods are implemented: \begin{itemize} \item PrintInfoDefinition; \item PreparePhysicsTable; \item BuildPhysicsTable; \item PostStepDoIt; \item StorePhysicsTable; \item RetrievePhysicsTable; \item MeanFreePath; \item PostStepGetPhysicalInteractionLength; \item MicroscopicCrossSection; \item AddEmModel; \item SetEmModel; \item UpdateEmModel; \item SelectModelForMaterial; \item LambdaTable; \end{itemize} There are many Get/Set and other accessors methods implemented for this base class. Any derive class need to have an implementation of pure virtual methods: \begin{itemize} \item IsApplicable; \item PrintInfo; \item InitialiseProcess; \end{itemize} This interface is used by the following processes: \begin{itemize} \item G4ComptonScattering; \item G4CoulombScattering; \item G4GammaConversion; \item G4eplusAnnihilation (additionally AtRest methods are provided); \item G4eeToHadrons; \item G4PolarizedCompton; \item G4PolarizedGammaConversion; \item G4PolarizedPhotoElectricEffect; \item G4eplusPolarizedAnnihilation (additionally AtRest methods are provided); \end{itemize} These processes mainly provide initialization and also some generic functions like $PostStepDoIt$. The physics models are implemented using the $G4VEmModel$ interface. Because a model is defined to be active over a given energy range and for a defined set of $G4Region$s, an energy loss process can have one or several models defined for a particle and $G4Region$. The following models from {\it standard, lowenergy, and polarisation} libraries are available for above list of processes: \begin{itemize} \item G4BetheHeitlerModel; \item G4CoulombScatteringModel; \item G4eCoulombScatteringModel; \item G4eeToHadronsModel; \item G4DummyModel (zero cross section, no secondaries); \item G4KleinNishinaCompton; \item G4LivermoreComptonModel; \item G4LivermoreGammaConversionModel; \item G4LivermorePhotoElectricModel; \item G4LivermorePolarizedComptonModel; \item G4LivermorePolarizedRayleighModel; \item G4LivermoreRayleighModel; \item G4PenelopePhotoElectricModel; \item G4PenelopeRayleighModel; \item G4PEEffectModel; \item G4PenelopeAnnihilationModel; \item G4PenelopeComptonModel; \item G4PenelopeGammaConversionModel; \item G4PolarizedAnnihilationModel; \item G4PolarizedComptonModel; \item G4PolarizedGammaConversionModel; \item G4PolarizedPEEffectModel; \item G4WentzelVIModel; \end{itemize} Some processes from {\it standard} library do not follow described interfaces but provide direct implementations of the basic $G4VDiscreteProcess$ process: \begin{itemize} \item G4GammaConversionToMuons; \item G4AnnihiToMuPair; \item G4ScreenedNuclearRecoil; \item G4Cerenkov; \item G4Scintillation; \item G4SynchrotronRadiation; \end{itemize} \subsection{Status of this document} 06.12.07 created by V.Ivanchenko \\ 11.12.08 extended list of models by V.Ivanchenko \\ \begin{latexonly} \begin{thebibliography}{99} \bibitem{discrete.em} H.~Burkhardt et al., Geant4 standard electromagnetic package for HEP applications. {\em Nuclear Science Symposium Conference Record 2004, IEEE, Volume 3, Oct 2004. pp. 1907-1910.} \end{thebibliography} \end{latexonly} \begin{htmlonly} \subsection{Bibliography} \begin{enumerate} \item H.~Burkhardt et al., Geant4 standard electromagnetic package for HEP applications. {\em Nuclear Science Symposium Conference Record 2004, IEEE, Volume 3, Oct 2004. pp. 1907-1910.} \end{enumerate} \end{htmlonly}