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

GRB Package: simulating a transient source

The GRB package has been developed to provide the Glast simulator software with a full fledged simulator of a physical transient source. As such it has been designed to correctly interface FluxSvc, by providing spectrum classes derived from ISpectrum. This package is also developed to study the physics of bursts and the capability of Glast in the observation of rapid transient signals. It is interfaced to ROOT for possible visualization.

This package contains four parts related to Gamma-Ray Bursts:

  1. The full physical simulator of GRB, based on the fireball model in the internal shocks configuration.
  2. The phenomenological simulator of GRB signal.
  3. The algorithm describing the LAT alert.
  4. The Transient Data Store reading utility.

Very short introduction to the physical model


We adopted a physical model based on the fireball model of Gamma Ray Burst, because it is able to well reproduce the fast time variability observed in the GRB signal: a series of shells is injected in the circum burst medium with different Lorentz factors. When a faster shell reaches a slower one a shock occurs, and an accelerated electron distribution is obtained due to the shock acceleration process. Some of the energy dissipated during the shock is converted into a randomly oriented magnetic field. The electrons can loose their energy via synchrotron emission. The characteristic synchrotron spectrum is boosted (and beamed) thanks to the Lorentz factor of the emitting material. The higher energy part of a GRB spectrum can be obtained keeping into account the possibility of Compton scattering of the synchrotron photons against the electron accelerated by the shock (Inverse Compton Scattering).

A short list of articles regarding the physics of GRB, observations and theories can be found here.


Parameters for the GRB physical model


The file GRBParam.txt holds information used for the description of the GRB. It can be changed without recompiling the entire package.
It MUST be in /src/test directory of the GRB package.
Depending on how GRBengine works, the sequence of shock that give up the GRB can be formed in different ways. The File GRBParam.txt contains information about:

Very short introduction to the phenomenological model

Very short introduction to the alert algorithm


How-to use the test programs

The GRB simulator can be use with several test program:

How-to use the GRB spectrum in Gleam


GRB is an independent package, it is an external service and it has to be declared in the joboption file of FluxSvc. For example, here are the two lines that add GRBSvc in the external services available and add the GRB shared library. They could be added, for example, to the "defaultOptions.txt" of FluxSvc
 
//================================================== 
ApplicationMgr.ExtSvc += { "GRBSvc" };
ApplicationMgr.DLLs   += { "GRB" };
//==================================================


At this point GRB is available from an external application (as Gleam). To have the item "GRB" in the sources menu of the GUI one can just edit the xml file containing the source definition adding the following lines:

 
<source name="GRB" >
<spectrum> <SpectrumClass name="GRBSpectrum"/> <use_spectrum/> </spectrum>
</source>

The /src/test/jobOptions.txt file holds information used for the implementation of GRB algorithm. It doesn't contain any information regarding the physics of the GRB (that are all included in the GRBParam file), but it manages some options available for the GRB Algorithm.

jobOptions files

There are two different jobOptions.txt file:
Parameters:
GRBTestAlg.source_name  passes the name of the GRB source, to be chosen among the ones defined in GRB_user_library.xml
GRBTestAlg.background_name  passes the name of the background source, to be added on top of the GRB signal. It can be any spectrum defined in FluxSvc xml files.
GRBTestAlg.EvtMax  Maximum number of photon generated. Default is 100000
GRBTestAlg.savefile  "root" saves data in ROOT format, "ascii" in ASCII text file. Saving in both is also possible

Parameters:
TDSreadFluxAlg.savefile  "root" saves data in ROOT format, "ascii" in ASCII text file. Saving in both is also possible

Parameters:
LatGRBAlertAlg.nbckoff  Region threshold; determines when to start testing for false triggers. Default is 5.
LatGRBAlertAlg.mix  A value of 0 indicates that background mix has already been generated in file named by mixedFile field. Default is 0.
LatGRBAlertAlg.grbFile  Name of file listing events data.
LatGRBAlertAlg.backgroundFile  Name of file containing background data.
LatGRBAlertAlg.grbOffsetTime  Value to be used to offset events times. Default is 0.
LatGRBAlertAlg.mixedFile  Name of file containing background mixed data.

CMT requirements

package GRB

use FluxSvc
use ROOT
use RootIo
use GlastSvc

apply_pattern packageShr

# This needs to be fixed (?)
#=============================================================
path_append LD_LIBRARY_PATH ${GRBROOT}/${BINDIR}
path_append LD_LIBRARY_PATH ${FLUXSVCROOT}/${BINDIR}
#=============================================================

private

apply_pattern package_Cshlibflags
apply_pattern package_headers

apply_pattern package_stamps
macro_append GRB_stamps " $(GRBDir)/GRB_lib.stamp"


# component library, with GRB, GRBmaker, GRBUtil, and LatGRBAlert
macro_append GRB_headers        ""  \
                          WIN32 "../xml/*.xml test/*.xml GRBmaker/*.h LatGRBAlert/*.h GRB/*.h"

library GRB_lib -no_share       *.cxx GRB/*.cxx \
                                GRBmaker/*.cxx  LatGRBAlert/*.cxx \
                                ${GRB_headers}

macro libs ""   WIN32 " $(GRBDir)/GRB_lib.lib "

macro GRB_linkopts "-L $(GRBDir) -lGRB_lib" \
                       WIN32 ""

macro_append ROOT_linkopts " -lHist  -lMatrix -lGraf -lGraf3d -lGpad " \
       WIN32 " $(ROOT_PATH)/lib/libHist.lib $(ROOT_PATH)/lib/libMatrix.lib $(ROOT_PATH)/lib/libGraf.lib $(ROOT_PATH)/lib/libGraf3d.lib $(ROOT_PATH)/lib/libGpad.lib "

library GRB  Dll/*.cxx $(libs)

macro GRB_extrastamps "$(GRBDir)/GRB_lib.stamp"

#
#       Executables:
#

# this executable provides visualization with ROOT at runtime
#
application test_GRBROOT  test/other/GRBROOTtest.cxx $(libs)
public set JOBOPTIONS ${GRBROOT}/src/test/jobOptions.txt


# builds batch job (no ROOT visualization) for nightly builds, 
# and sets its jobOptions file
#
apply_pattern package_test
set TESTJOBOPTIONS ${GRBROOT}/src/test/test_jobOptions.txt


Release Notes



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