00001 // ============================================================================ 00003 // ============================================================================ 00020 // ============================================================================ 00021 #ifndef GIGA_IGIGASETUPSVC_H 00022 #define GIGA_IGIGASETUPSVC_H 00023 // ============================================================================ 00024 // Include files 00025 #include "GaudiKernel/Kernel.h" 00026 #include "GaudiKernel/StatusCode.h" 00027 #include "GaudiKernel/IService.h" 00030 class G4VUserDetectorConstruction ; 00031 class G4VUserPrimaryGeneratorAction ; 00032 class G4VUserPhysicsList ; 00033 class G4UserRunAction ; 00034 class G4UserEventAction ; 00035 class G4UserStackingAction ; 00036 class G4UserSteppingAction ; 00037 class G4UserTrackingAction ; 00038 class G4VisManager ; 00039 class G4VPhysicalVolume ; 00040 00049 class IGiGaSetUpSvc : virtual public IService 00050 { 00051 public: 00052 00054 static const InterfaceID& interfaceID() ; 00055 00059 virtual StatusCode initialize() = 0 ; 00060 00064 virtual StatusCode finalize () = 0 ; 00065 00066 public: 00067 00073 virtual IGiGaSetUpSvc& operator << ( G4VUserDetectorConstruction * ) = 0 ; 00074 00075 00081 virtual IGiGaSetUpSvc& operator << ( G4VPhysicalVolume * ) = 0 ; 00082 00088 virtual IGiGaSetUpSvc& operator << ( G4VUserPrimaryGeneratorAction * ) = 0 ; 00089 00095 virtual IGiGaSetUpSvc& operator << ( G4VUserPhysicsList * ) = 0 ; 00096 00102 virtual IGiGaSetUpSvc& operator << ( G4UserRunAction * ) = 0 ; 00103 00109 virtual IGiGaSetUpSvc& operator << ( G4UserEventAction * ) = 0 ; 00110 00116 virtual IGiGaSetUpSvc& operator << ( G4UserStackingAction * ) = 0 ; 00117 00123 virtual IGiGaSetUpSvc& operator << ( G4UserTrackingAction * ) = 0 ; 00124 00130 virtual IGiGaSetUpSvc& operator << ( G4UserSteppingAction * ) = 0 ; 00131 00137 virtual StatusCode setConstruction ( G4VUserDetectorConstruction * ) = 0 ; 00138 00144 virtual StatusCode setDetector ( G4VPhysicalVolume * ) = 0 ; 00145 00151 virtual StatusCode setGenerator ( G4VUserPrimaryGeneratorAction * ) = 0 ; 00152 00158 virtual StatusCode setPhysics ( G4VUserPhysicsList * ) = 0 ; 00159 00165 virtual StatusCode setRunAction ( G4UserRunAction * ) = 0 ; 00166 00172 virtual StatusCode setEvtAction ( G4UserEventAction * ) = 0 ; 00173 00179 virtual StatusCode setStacking ( G4UserStackingAction * ) = 0 ; 00180 00186 virtual StatusCode setTracking ( G4UserTrackingAction * ) = 0 ; 00187 00193 virtual StatusCode setStepping ( G4UserSteppingAction * ) = 0 ; 00194 00195 protected: 00196 00198 virtual ~IGiGaSetUpSvc() ; 00199 00200 00201 }; 00202 00203 // ============================================================================ 00204 #endif 00205 // ============================================================================