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

RadiationProcess Class Reference

This class describes a generic radiative process. More...

#include <RadiationProcess.h>

Inheritance diagram for RadiationProcess::

GRBICompton GRBSynchrotron List of all members.

Public Methods

 RadiationProcess ()
 RadiationProcess (SpectObj)
virtual ~RadiationProcess ()
virtual double processFlux (double E, double ec, double em)
 Represents the power law description for a GRB spectrum. More...

virtual double electronNumber (double gi, double gamma_min, double gamma_max, double dr, double ComovingTime, double CoolingTime, double N0)
 Evolution of the number of electron of given energy. This method describes the evolution of the number of electron of energy in function of the ComovingTime. The particles have a power law spectral distribution (of index p) from gamma_min to gamma_max. The thickness of the region they live is dr. Their total number is N0. A particular cooling time has to be assign at the particular radiation process. The cooling time corresponds to the time that a particle takes to emit its energy with this type of radiation process. Different evolution of the number of particle with respect to the time are considered depending on the variable cst::pulse_shape.

double timeShiftForDispersion (const double time, const double E, const double distance_to_source)
 Calculates the time shift due to Quantum Gravity. More...

double comovingTime (const double time, const double gamma, const double E, const double distance_to_source)
 Calculates the time in the frame where the radiation is emitted. More...

SpectObj getSpectrumObj ()
 return the Spectrum object.

SpectObj setSpectrumObj (SpectObj spectrum_IN)
virtual double Umag (const double B)
 Helper function. /param B is in Gauss, Umag is in erg.


Protected Attributes

SpectObj m_spectrumObj

Detailed Description

This class describes a generic radiative process.

Synchrotron Radiation and Inverse Compton scattering inherit from here

Author:
Nicola Omodei nicola.omodei@pi.infn.it , Johann Cohen-Tanugi johann.cohen@pi.infn.it


Member Function Documentation

double RadiationProcess::comovingTime const double    time,
const double    gamma,
const double    E,
const double    distance_to_source
 

Calculates the time in the frame where the radiation is emitted.

This method calculates the Lorentz transformation for the time from a frame that is moving with the radiative region (wich is moving with a Lorentz factor gamma) and our reference frame. It also consider the time shift due to QG effect.

Parameters:
time  Time in the comoving frame of the emitting region
gamma  Lorentz factor of the emitting region
E  Observed photon energy (eV)
distance_to_source  Distance of the source, in cm
Return values:
shifted_time  = gamma * timeShiftForDispersion

virtual double RadiationProcess::processFlux double    E,
double    ec,
double    em
[virtual]
 

Represents the power law description for a GRB spectrum.

The value it returns is adimensional.

Parameters:
E  is the energy which the flux is returned
ec  is the cooling energy. (depends on the process)
em  is the minimum energy. (depends on the process)
Two different regimes are considered : The fast cooling regime appends when ec is less then em. This means that all the particle can rapidly cool by this process. The slow cooling regime is when ec is greater the em, and not all the particles can fast radiate their energy.

double RadiationProcess::timeShiftForDispersion const double    time,
const double    E,
const double    distance_to_source
 

Calculates the time shift due to Quantum Gravity.

The theory of QG preview a dispersion law for the observed photons that depends on the distance where thay have been produced, on their observed energy, and on an energy scale that is of the order of the Plank Energy. In formula:

Parameters:
time  Time without the effect of QG
E  Observed photon energy (eV)
distance_to_source  Distance of the source, in cm
Return values:
shifted_time 


The documentation for this class was generated from the following file:
Generated on Mon Jan 27 11:43:33 2003 by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001