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

FluxSvc.h

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/FluxSvc/FluxSvc/FluxSvc.h,v 1.11 2001/10/31 23:21:03 srobinsn Exp $
00002 // 
00003 //  Original author: Toby Burnett tburnett@u.washington.edu
00004 
00005 #ifndef _H_FluxSvc_
00006 #define _H_FluxSvc_
00007 
00008 // includes
00009 #include "GaudiKernel/Service.h"
00010 #include "FluxSvc/IFluxSvc.h"
00011 #include <list>
00012 
00013 
00014 //forward declarations
00015 template <class TYPE> class SvcFactory;
00016 class IFlux;  // interface
00017 class FluxMgr;  // actual manager
00018 
00021 class FluxSvc : virtual public Service, virtual public IFluxSvc
00022 {  
00023 public:
00024     
00026     StatusCode source(std::string name, IFlux*&);
00027     
00029     std::list<std::string> fluxNames()const;
00030     
00032     virtual void addFactory(std::string name, const ISpectrumFactory* factory );
00033     
00035     virtual HepRandomEngine* getEngine();
00036     
00037     
00038     //------------------------------------------------------------------
00039     //  stuff required by a Service
00040     
00042     virtual StatusCode initialize ();
00043     
00045     virtual StatusCode finalize ();
00046     
00047     
00049     virtual StatusCode queryInterface( const IID& riid, void** ppvUnknown );
00050     
00051 protected: 
00052     
00054     FluxSvc ( const std::string& name, ISvcLocator* al );
00055     
00057     virtual ~FluxSvc ();
00058     
00059 private:
00061     friend class SvcFactory<FluxSvc>;
00062     
00063     FluxMgr * m_fluxMgr;
00065     //std::string m_source_lib;
00066     std::vector<std::string> m_source_lib;
00068     std::string m_source_lib_default;
00069     
00070 };
00071 
00072 
00073 #endif // _H_FluxSvc

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