Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

IGiGaSvc.h

Go to the documentation of this file.
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 

Generated at Wed Nov 21 12:22:04 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000