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

Flux.h

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/FluxSvc/src/Flux.h,v 1.9 2001/10/20 07:21:11 srobinsn Exp $
00002 
00003 #ifndef FLUXSVC_FLUX_H
00004 #define FLUXSVC_FLUX_H
00005 
00006 
00007 #include "FluxSvc/IFlux.h"
00008 
00009 
00010 // forward declarations
00011 class FluxMgr;
00012 class EventSource;
00013 class FluxSource;
00014 
00015 
00016 
00020 class Flux : public IFlux {
00021 public:
00023     Flux(std::string name);
00024     virtual ~Flux();
00025     
00027     virtual std::string name()const;
00028     
00030     virtual std::string title()const;
00031     
00033     virtual void generate();
00034     
00036     virtual std::string particleName()const;
00037     
00039     virtual double energy()const;
00040     
00042     virtual HepPoint3D launchPoint()const;
00043     
00045     virtual HepVector3D launchDir()const;
00046     
00048     virtual double time()const;
00049     
00050     
00052     virtual double rate()const;
00053     
00055     static void mgr(FluxMgr* );
00056     
00058     virtual void setTargetArea( double area);
00059     
00061     double targetArea()const;
00062     
00064     virtual std::string findSource()const;
00065     
00067     virtual int numSource()const;
00068     
00069     virtual void addFactory( const IFactory* factory );
00070     
00071     virtual void addFactory(std::string name, const ISpectrumFactory* factory );/* {
00072                                                                                 insert(std::make_pair<std::string, const ISpectrumFactory*>(name, factory));
00073 }*/
00074     
00075     
00076 private:
00077     
00078     EventSource* m_event;  
00079     double m_time;  // elapsed time: here for now.
00080     FluxSource* m_flux; // actual FluxSource used 
00081     
00082     static FluxMgr* s_mgr;
00083     
00084 };
00085 
00086 #endif

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