00001 // $Id: GiGaPhysConstructorBase.h,v 1.4 2004/04/20 04:26:05 ibelyaev Exp $ 00002 // ============================================================================ 00003 // CVS tag $Name: v19r4 $ 00004 // ============================================================================ 00005 // $Log: GiGaPhysConstructorBase.h,v $ 00006 // Revision 1.4 2004/04/20 04:26:05 ibelyaev 00007 // fix bad interference between tools and Geant4 00008 // 00009 // Revision 1.3 2003/04/06 18:49:45 ibelyaev 00010 // see $GIGAROOT/doc/release.notes 00011 // 00012 // ============================================================================ 00013 #ifndef GIGA_GiGaPhysConstructorBase_H 00014 #define GIGA_GiGaPhysConstructorBase_H 1 00015 // ============================================================================ 00017 #include "GiGa/IGiGaPhysConstructor.h" 00018 #include "GiGa/GiGaPhysicsConstructorBase.h" 00019 00020 class GiGaPhysConstructorBase: 00021 public virtual IGiGaPhysConstructor , 00022 public GiGaPhysicsConstructorBase 00023 { 00024 public: 00025 00032 virtual StatusCode initialize () ; 00033 00040 virtual StatusCode finalize () ; 00041 00048 virtual G4VPhysicsConstructor* physicsConstructor () const ; 00049 00050 virtual unsigned long release() ; 00051 00052 protected: 00053 00061 GiGaPhysConstructorBase( const std::string& type , 00062 const std::string& name , 00063 const IInterface* parent ) ; 00065 virtual ~GiGaPhysConstructorBase(); 00066 00067 private: 00068 00069 // the default constructor is disabled 00070 GiGaPhysConstructorBase() ; 00071 // the copy constructor is disabled 00072 GiGaPhysConstructorBase ( const GiGaPhysConstructorBase& ) ; 00073 // the assigenemtn operator is disabled 00074 GiGaPhysConstructorBase& operator=( const GiGaPhysConstructorBase& ) ; 00075 00076 private: 00077 00078 mutable G4VPhysicsConstructor* m_self ; 00079 00080 }; 00081 // ============================================================================ 00082 00083 // ============================================================================ 00084 #endif 00085 // ============================================================================ 00086 00087 00088 00089 00090