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

GRBmanager.h

00001 
00011 #ifndef GRBmanager_H
00012 #define GRBmanager_H
00013 
00014 #include <vector>
00015 #include <string>
00016 #include <map>
00017 #include <cmath>
00018 #include "FluxSvc/ISpectrum.h"
00019 #include "facilities/Observer.h"
00020 #include "src/GPS.h"
00021 #include "CLHEP/Random/RandomEngine.h"
00022 #include "GRBSpectrum.h"
00023 
00024 class ISpectrum;
00025 
00026 class GRBmanager : public ISpectrum
00027 {
00028   
00029  public:
00046   GRBmanager(const std::string& params);
00047   
00048   virtual  ~GRBmanager(); 
00051   double flux(double time)const;
00057   double interval(double time);
00059   inline double solidAngle() const{return 1.0;}
00061   inline std::pair<double,double> 
00062     dir(double energy, HepRandomEngine* engine)
00063     {return m_GRB->dir(energy, engine);} 
00065   float operator() (float u) const;
00067   double energySrc(HepRandomEngine*, double time);
00068   
00069   std::string title() const {return "GRBmanager";} 
00070   const char * particleName() const {return "gamma";}
00071   const char * nameOf() const {return "GRBmanager";}
00072   
00079   float parseParamList(std::string input, int index);  
00080   
00081  private:
00082   
00083   GRBSpectrum* m_GRB;
00084   const std::string& m_params;
00085   float m_FirstTime;
00086   float m_initialTime;
00087   float m_timeToWait;
00088   float m_endTime;
00089 };
00090 #endif

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