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

RadiationProcess.h

00001 
00012 #ifndef RadiationProcess_H
00013 #define RadiationProcess_H 1
00014 
00015 #include "SpectObj.h"
00016 #include"GRBConstants.h"
00017 
00018 class RadiationProcess
00019 {
00020 
00021  public:
00022   RadiationProcess(){;}
00023   RadiationProcess(SpectObj);
00024   virtual ~RadiationProcess(){;}
00038   virtual double processFlux(double E, 
00039                              double ec, 
00040                              double em);
00041   
00042   
00054   virtual double electronNumber(double gi,
00055                                 double gamma_min, 
00056                                 double gamma_max,
00057                                 double dr,
00058                                 double ComovingTime, 
00059                                 double CoolingTime,
00060                                 double N0);
00074   double timeShiftForDispersion(const double time, 
00075                                 const double E, 
00076                                 const double distance_to_source);
00077 
00091   double comovingTime(const double time, 
00092                       const double gamma, 
00093                       const double E, 
00094                       const double distance_to_source);
00095   
00097   inline SpectObj getSpectrumObj() {return m_spectrumObj;}
00098   inline SpectObj setSpectrumObj(SpectObj spectrum_IN){m_spectrumObj=spectrum_IN;}
00099 
00101   inline virtual double Umag(const double B)
00102     {
00103       return pow(B/1.0e+4,2.)/(200.0*M_PI*cst::mu0);
00104     }
00105  
00106  protected:
00107   SpectObj m_spectrumObj;
00108 
00109 };
00110 
00111 #endif;

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