00001
00021 #include <vector>
00022 #include"GRBConstants.h"
00023 #include "SpectObj.h"
00024 #include "RadiationProcess.h"
00025 #include "GRBShock.h"
00026
00027 #ifndef GRBICOMPTON_H
00028 #define GRBICOMPTON_H 1
00029
00030 class GRBICompton : virtual public RadiationProcess
00031 {
00032 public:
00033 GRBICompton();
00034 GRBICompton(SpectObj spectrumObj);
00035 ~GRBICompton(){;}
00036
00044 void load(const GRBShock *Shock,
00045 const double time = 0.0,
00046 const double angle = 0.0,
00047 const double distance_to_source =0.0);
00048
00051 void load(const double time = 0.0,
00052 const double angle = 0.0,
00053 const double distance_to_source =0.0,
00054 const double GAMMAF = 500.,
00055 const double B = 1.0e+6,
00056 const double N0 = 1.0e+50,
00057 const double gamma_min = 1.,
00058 const double gamma_max = 1.0e+10,
00059 const double Vol = 1.0e+40,
00060 const double dr = 1.0e+10);
00075 double InverseComptonFunction(double g0,double e0,double energy);
00076 private:
00077 };
00078 #endif
00079
00080