| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

GiGaExternalPhysList.h

Go to the documentation of this file.
00001 // $Id: GiGaExternalPhysList.h,v 1.5 2007/03/26 09:01:39 gcorti Exp $
00002 #ifndef GIGA_GIGAEXTERNALPHYSLIST_H 
00003 #define GIGA_GIGAEXTERNALPHYSLIST_H 1
00004 
00005 // Include files
00006 // GiGa 
00007 #include "GiGa/GiGaPhysListBase.h"
00008 
00021 template<class PHYSLIST>
00022 class GiGaExternalPhysList : 
00023   virtual public GiGaPhysListBase ,
00024   virtual public PHYSLIST
00025 { 
00027   typedef GiGaExternalPhysList<PHYSLIST>   MyType ;
00028 
00029 public:
00030   
00032   virtual void ConstructParticle () { PHYSLIST::ConstructParticle () ; }
00033   
00035   virtual void ConstructProcess  () { PHYSLIST::ConstructProcess  () ; }
00036   
00038   virtual void SetCuts           () { PHYSLIST::SetCuts () ; }
00039   
00040 protected:
00041   
00056   GiGaExternalPhysList
00057   (  const std::string& type   , 
00058      const std::string& name   , 
00059      const IInterface*  parent )
00060     : GiGaPhysListBase   ( type , name , parent )
00061     , PHYSLIST           () 
00062   {
00063     // check for virtual inheritance 
00064     // the following line COULD produce compiler warning
00065     // for CORRECT  inheritance schema and 
00066     // it MUST produce the compiler error 
00067     // for INCORECT inheritance schema  
00068     G4ParticleTable* tt = theParticleTable ;
00069   };
00070   
00072   virtual ~GiGaExternalPhysList(){};
00073   
00074 private:
00075   
00077   GiGaExternalPhysList() ; 
00078 
00079   GiGaExternalPhysList ( const MyType& ) ; 
00081   MyType& operator=    ( const MyType& ) ; 
00083 };
00084 
00085 #endif // GIGA_GIGAEXTERNALPHYSLIST_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:01:14 2011 for GiGa by doxygen 1.4.7