Classes | Public Member Functions | Static Public Member Functions | List of all members
SourceModel Class Reference

Classes

struct  Restriction
 

Public Member Functions

 SourceModel (const char *model_name)
 
void setUpWeights (double t0, double t1, double minE=1e9, double maxE=1e12, int N=1e6)
 
void addSource (Source *source)
 
double getTimeWeight (double t, bool use_average_nonzero_flux=true) const
 
double getPerSourceTimeWeight (double t, int i, bool use_average_nonzero_flux=true) const
 
const char * getName () const
 
int getDirectionAndEnergy (Vector *nudir, double t, double &nuE, double minE=1e9, double maxE=1e12)
 
int getDirection (Vector &nudir, double t, double nuE=1e10)
 
TH1 * estimateFlux (double tmin, double tmax, double Emin, double Emax, int nbins=100, int Ntrials=1e6)
 
const SourcegetSource (int i) const
 
unsigned getNSources () const
 
void computeFluxTimeChanges (std::vector< double > *changes) const
 

Static Public Member Functions

static SourceModelgetSourceModel (const char *key, Restriction r=Restriction())
 

Detailed Description

Definition at line 27 of file source.hh.

Member Function Documentation

void SourceModel::addSource ( Source source)
inline

Add a source to our model. This class will then own the source (it will release its memory).

Definition at line 65 of file source.hh.

void SourceModel::computeFluxTimeChanges ( std::vector< double > *  changes) const

fills a vector with the times that sources turn on and off

Definition at line 552 of file source.cc.

int SourceModel::getDirection ( Vector nudir,
double  t,
double  nuE = 1e10 
)
inline

Returns the index of the source used !

Definition at line 74 of file source.hh.

int SourceModel::getDirectionAndEnergy ( Vector nudir,
double  t,
double &  nuE,
double  minE = 1e9,
double  maxE = 1e12 
)

Returns the index of the source used !

Definition at line 568 of file source.cc.

SourceModel * SourceModel::getSourceModel ( const char *  key,
SourceModel::Restriction  r = Restriction() 
)
static

Afterglow

Definition at line 99 of file source.cc.

void SourceModel::setUpWeights ( double  t0,
double  t1,
double  minE = 1e9,
double  maxE = 1e12,
int  N = 1e6 
)

this must be called before asking for a time weight

Definition at line 684 of file source.cc.


The documentation for this class was generated from the following files: