00001 // $Id: IGiGaSvc.h,v 1.6 2004/02/20 18:58:18 ibelyaev Exp $ 00002 // ============================================================================ 00003 // CVS tag $Name: v19r4 $ 00004 // ============================================================================ 00005 // $Log: IGiGaSvc.h,v $ 00006 // Revision 1.6 2004/02/20 18:58:18 ibelyaev 00007 // update in IGiGaXXX and IIDIGiGaXXX 00008 // 00009 // Revision 1.5 2002/12/07 21:05:31 ibelyaev 00010 // see $GIGAROOT/doc/release.notes 2002-12-07 00011 // 00012 // Revision 1.4 2002/12/07 14:27:51 ibelyaev 00013 // see $GIGAROOT/cmt/requirements file 00014 // 00015 // ============================================================================ 00016 #ifndef GIGA_IGIGASVC_H 00017 #define GIGA_IGIGASVC_H 1 00019 #include <utility> 00021 #include "GaudiKernel/Kernel.h" 00022 #include "GaudiKernel/StatusCode.h" 00023 #include "GaudiKernel/IService.h" 00025 00026 // Forward declarations from GiGa 00027 class GiGaHitsByID ; 00028 class GiGaHitsByName ; 00029 00030 // Forward declaration from G4 00031 class G4Event ; 00032 class G4PrimaryVertex ; 00033 class G4HCofThisEvent ; 00034 class G4VHitsCollection ; 00035 class G4VTrajectory ; 00036 class G4TrajectoryContainer ; 00037 00046 class IGiGaSvc : virtual public IService 00047 { 00048 public: 00049 00051 static const InterfaceID& interfaceID() ; 00052 00056 virtual StatusCode initialize() = 0 ; 00057 00061 virtual StatusCode finalize () = 0 ; 00062 00063 public: 00064 00070 virtual IGiGaSvc& operator << ( G4PrimaryVertex * vertex ) = 0 ; 00071 00072 00078 virtual IGiGaSvc& operator >> ( const G4Event* & event ) = 0 ; 00079 00085 virtual IGiGaSvc& operator >> ( G4HCofThisEvent* & collections ) = 0 ; 00086 00092 virtual IGiGaSvc& operator >> ( GiGaHitsByID & collection ) = 0 ; 00093 00099 virtual IGiGaSvc& operator >> ( GiGaHitsByName & collection ) = 0 ; 00100 00109 virtual IGiGaSvc& operator >> ( G4TrajectoryContainer* & trajectories ) = 0 ; 00110 00116 virtual StatusCode addPrimaryKinematics( G4PrimaryVertex * vertex ) = 0 ; 00117 00118 00124 virtual StatusCode retrieveEvent ( const G4Event* & ) = 0 ; 00125 00126 00133 virtual StatusCode retrieveHitCollections ( G4HCofThisEvent* & ) = 0 ; 00134 00135 00142 virtual StatusCode retrieveHitCollection ( GiGaHitsByID & ) = 0 ; 00143 00150 virtual StatusCode retrieveHitCollection ( GiGaHitsByName & ) = 0 ; 00151 00160 virtual StatusCode retrieveTrajectories ( G4TrajectoryContainer* & ) = 0 ; 00161 00162 protected: 00163 00165 virtual ~IGiGaSvc(); 00166 00167 }; 00168 00169 // ============================================================================ 00170 #endif 00171 // ============================================================================ 00172 00173 00174 00175 00176 00177 00178 00179 00180 00181 00182 00183 00184 00185 00186 00187 00188 00189 00190 00191 00192 00193 00194 00195 00196 00197 00198 00199 00200 00201 00202 00203 00204 00205 00206 00207 00208 00209 00210