11#include <TGraphAsymmErrors.h>
49 SpecTime(
const int aNt,
const double *aTimeBins,
50 const int aNe,
const double *aEnergyBins);
65 SpecTime(
const int aNt,
const double aTimeMin,
const double aTimeMax,
const bool aUseTimeLog,
66 const int aNe,
const double aEnergyMin,
const double aEnergyMax,
const bool aUseEnergyLog);
77 SpecTime(TH2D* aFlux, TH2D* aRate=NULL);
113 void SetFlux(TH2D *aFlux, TGraph *aArea=NULL);
170 int GetParticleN(
const ULong64_t aTime,
const UInt_t aDuration,
const double aCosTheta=1.0);
197 TH1D*
GetLightCurve(
const double aEnergyMin=0.0,
const double aEnergyMax=-1.0);
219 double GetMagnitude(
const double aTimeMin,
const double aTimeMax, TGraph *aEnergyTransmission);
240 TH1D*
GetSpectrum(
const double aTimeMin=0.0,
const double aTimeMax=-1.0,
const bool aObserved=
false);
255 void MakeUniform(
const double aFlux, TGraph *aArea=NULL);
277 const double aEnergyMin,
const double aEnergyMax,
302 const double aEnergyMin,
const double aEnergyMax,
347 const double aTime0,
const double aAlpha,
348 const double aEnergy0,
const double aBeta,
375 void MakeGRBModel1(
const double aFlux,
const double aEnergy0,
376 const double aAlpha,
const double aBeta,
439 const double aE1,
const double aE2,
440 const double aPhotonIndex,
441 const double aNint,
const double aNgal,
442 const double aZ, TGraph *aAreaExp,
483 const int aNe,
const double *aEnergyBins);
This module is used to model extinction processes.
Model extinction processes.
Definition Extinction.h:30
Astrophysical source spectra and light curves.
Definition SpecTime.h:31
void MakeCum(void)
Computes cumulative rate.
Definition SpecTime.cc:811
TH1D * GetLightCurve(const double aEnergyMin=0.0, const double aEnergyMax=-1.0)
Returns the source light curve between two energies.
Definition SpecTime.cc:310
double DrawEnergy(const double aTime)
Draws an energy value at a given time.
Definition SpecTime.cc:786
double GetTimeMax(void)
Returns the maximum time defining the SpecTime object.
Definition SpecTime.h:176
TH2D * rate
Source rate .
Definition SpecTime.h:473
virtual ~SpecTime(void)
SpecTime class destructor.
Definition SpecTime.cc:147
TH2D * GetRate(void)
Returns a pointer to the flux TH2D object.
Definition SpecTime.h:467
void MakeGRBModel0(const double aFlux, const double aTime0, const double aAlpha, const double aEnergy0, const double aBeta, TGraph *aArea=NULL)
Makes a SpecTime object using a GRB model (0).
Definition SpecTime.cc:582
void ConstructHistos(const int aNt, const double *aTimeBins, const int aNe, const double *aEnergyBins)
for constructors.
void MakeUniform(const double aFlux, TGraph *aArea=NULL)
Makes a uniform flux SpecTime object.
Definition SpecTime.cc:456
TH2D * GetFlux(void)
Returns a pointer to the flux TH2D object.
Definition SpecTime.h:460
void MakeGRBModel1(const double aFlux, const double aEnergy0, const double aAlpha, const double aBeta, TGraph *aArea=NULL)
Makes a SpecTime object using a GRB model (I).
Definition SpecTime.cc:615
void MakeGRBData(TH1D *aLightCurveExp, const double aE1, const double aE2, const double aPhotonIndex, const double aNint, const double aNgal, const double aZ, TGraph *aAreaExp, TGraph *aArea=NULL)
Makes a SpecTime object using GRB data.
Definition SpecTime.cc:654
int GetParticleN(const ULong64_t aTime, const UInt_t aDuration, const double aCosTheta=1.0)
Computes the number of particles generated between 2 times.
Definition SpecTime.cc:277
void MakeRate(const double aArea)
Computes the rate given a constant integration area.
Definition SpecTime.cc:231
void MakeExpDecayTime(const double aFlux, const double aTimeDecay, const double aEnergyMin, const double aEnergyMax, TGraph *aArea=NULL)
Makes a time exponential decay flux SpecTime object.
Definition SpecTime.cc:510
TH1D * GetMagnitude(TGraph *aEnergyTransmission)
Returns the magnitude light curve.
Definition SpecTime.cc:346
TRandom3 * randgen
Random generator.
Definition SpecTime.h:474
void ApplyExtinction(TGraph *aArea=NULL)
Applies extinction processes to the flux.
Definition SpecTime.cc:213
void SetFlux(TH2D *aFlux, TGraph *aArea=NULL)
Defines a new flux fonction.
Definition SpecTime.cc:160
double ** rate_cum
Cumulative rate (over ).
Definition SpecTime.h:478
TH2D * flux_x
Source flux after extinction.
Definition SpecTime.h:472
void SetPhotoElectricCrossSection(TGraph *aGraph)
Sets the photo-electric cross-section.
Definition SpecTime.h:95
void MakeBandLimited(const double aFlux, const double aEnergyMin, const double aEnergyMax, TGraph *aArea=NULL)
Makes a band-limited flux SpecTime object.
Definition SpecTime.cc:472
double GetTimeMin(void)
Returns the minimum time defining the SpecTime object.
Definition SpecTime.h:182
TH2D * flux
Source flux .
Definition SpecTime.h:471
void MakeExpDecayEnergy(const double aFlux, const double aEnergyDecay, TGraph *aArea=NULL)
Makes an energy exponential decay flux SpecTime object.
Definition SpecTime.cc:554
TGraph * photoelectric_xsec
Photo-electric cross-section.
Definition SpecTime.h:477
TH1D * GetSpectrum(const double aTimeMin=0.0, const double aTimeMax=-1.0, const bool aObserved=false)
Returns the source energy spectrum between two times.
Definition SpecTime.cc:412