00001 // $Header: /nfs/slac/g/glast/ground/cvs/GaudiKernel/GaudiKernel/IGiGaSvc.h,v 1.1.1.1 2001/04/18 18:14:18 tlindner Exp $ 00002 #ifndef GAUDIKERNEL_IGIGASVC_H 00003 #define GAUDIKERNEL_IGIGASVC_H 00004 00005 00006 // Include files from the Framework 00007 #include "GaudiKernel/Kernel.h" 00008 #include "GaudiKernel/StatusCode.h" 00009 #include "GaudiKernel/IService.h" 00010 00011 // Forward declarations 00012 class MCVertex; 00013 class MCParticle; 00014 00015 // Forward declaration from Geant4 00016 class G4Event ; 00017 class G4PrimaryVertex ; 00018 class G4HCofThisEvent ; 00019 class G4VHitsCollection ; 00020 class G4VTrajectory ; 00021 // class G4TrajectoryContainer ; 00022 00023 template <class TYPE> class G4RWTPtrOrderedVector; 00024 typedef class G4RWTPtrOrderedVector<G4VTrajectory> G4TrajectoryContainer; 00025 00026 // Declaration of the interface ID ( interface id, major version, minor version) 00027 static const InterfaceID IID_IGiGaSvc(211, 1 , 0); 00028 00036 class IGiGaSvc : virtual public IService 00037 { 00038 public: 00040 static const InterfaceID& interfaceID() { return IID_IGiGaSvc; } 00041 00042 // Usefull typedefs 00043 typedef std::pair<const int, G4VHitsCollection*> CollectionPair; 00044 00045 public: 00046 00048 virtual IGiGaSvc& operator << ( G4PrimaryVertex * vertex ) = 0 ; 00049 00051 virtual StatusCode addPrimaryKinematics( G4PrimaryVertex * vertex ) = 0 ; 00052 00056 virtual IGiGaSvc& operator >> ( const G4Event* & event ) = 0 ; 00057 virtual IGiGaSvc& operator >> ( G4HCofThisEvent* & collections ) = 0 ; 00058 virtual IGiGaSvc& operator >> ( CollectionPair & collection ) = 0 ; 00059 virtual IGiGaSvc& operator >> ( G4TrajectoryContainer* & trajectories ) = 0 ; 00060 00064 virtual StatusCode retrieveEvent ( const G4Event* & ) = 0 ; 00065 virtual StatusCode retrieveHitCollections ( G4HCofThisEvent* & ) = 0 ; 00066 virtual StatusCode retrieveHitCollection ( CollectionPair & ) = 0 ; 00067 virtual StatusCode retrieveTrajectories ( G4TrajectoryContainer* & ) = 0 ; 00068 00070 virtual StatusCode initialize() = 0 ; 00071 virtual StatusCode finalize () = 0 ; 00072 00074 virtual ~IGiGaSvc(){}; 00075 00077 virtual StatusCode queryInterface ( const IID& riid, void** ppvI ) = 0; 00078 00079 }; 00080 00081 00082 #endif // GAUDIKERNEL_GIGASVC_H 00083 00084 00085 00086 00087 00088 00089 00090 00091 00092 00093 00094 00095 00096 00097 00098 00099 00100 00101 00102 00103 00104 00105 00106 00107 00108 00109 00110 00111 00112 00113 00114 00115 00116 00117 00118 00119 00120 00121
1.2.3 written by Dimitri van Heesch,
© 1997-2000