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

GRBSpectrum.h

00001 #ifndef GRBSpectrum_H
00002 #define GRBSpectrum_H
00003 
00004 #include <vector>
00005 #include <string>
00006 #include <map>
00007 #include <cmath>
00008 #include "FluxSvc/ISpectrum.h"
00009 #include "facilities/Observer.h"
00010 #include "src/GPS.h"
00011 #include "CLHEP/Random/RandomEngine.h"
00012 #include "GRBSim.h"
00013 
00025 class GRBSpectrum : public ISpectrum
00026 {
00027   friend class GRBmanager;  
00028  public:
00048   GRBSpectrum(const std::string& params);
00049  
00050   virtual  ~GRBSpectrum()
00051     {
00052       delete m_grbsim;
00053     }  
00057   double flux(double time)const;
00058   
00064   double interval(double time);
00065 
00067   inline std::pair<double,double> 
00068     dir(double, HepRandomEngine*){return m_grbsim->GRBdir();} 
00069 
00073   float operator() (float u ) const ;  
00082   double energySrc(HepRandomEngine* engine, double time);
00083 
00084   std::string title() const {return "GRBSpectrum";}
00085 
00086   const char * particleName() const {return "gamma";}
00087 
00088   const char * nameOf() const {return "GRBSpectrum";}
00089   
00090  private:
00091   
00093   GRBSim*              m_grbsim;
00094   
00099   std::vector<double>  m_spectrum;
00100 };
00101 #endif

Generated on Mon Jan 27 11:43:32 2003 by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001