27#ifndef GMODELTEMPORALLIGHTCURVE_HPP
28#define GMODELTEMPORALLIGHTCURVE_HPP
69 const double&
norm = 1.0);
77 virtual void clear(
void);
79 virtual std::string
classname(
void)
const;
80 virtual std::string
type(
void)
const;
82 const bool& gradients =
false)
const;
92 double norm(
void)
const;
133 return (
"GModelTemporalLightCurve");
Filename class interface definition.
Model parameter class interface definition.
Abstract temporal model base class interface definition.
Node array class interface definition.
Time reference class interface definition.
Time class interface definition.
double norm(const GVector &vector)
Computes vector norm.
virtual void read(const GXmlElement &xml)
Read model from XML element.
virtual GModelTemporalLightCurve & operator=(const GModelTemporalLightCurve &model)
Assignment operator.
virtual std::string type(void) const
Return model type.
std::vector< double > m_mc_time
Start time of interval.
void copy_members(const GModelTemporalLightCurve &model)
Copy class members.
std::vector< double > m_mc_dt
Length of interval.
std::vector< double > m_mc_cum
Cumulative distribution.
virtual void write(GXmlElement &xml) const
Write model into XML element.
virtual std::string classname(void) const
Return class name.
virtual GModelTemporalLightCurve * clone(void) const
Clone light curve model.
virtual ~GModelTemporalLightCurve(void)
Destructor.
virtual double eval(const GTime &srcTime, const bool &gradients=false) const
Evaluate function.
GTime m_mc_tmax
Maximum time.
virtual void clear(void)
Clear light curve model.
GFilename m_filename
Name of file function.
std::vector< double > m_mc_slope
Slope of interval.
GTime m_tmin
Minimum time of model.
GModelPar m_norm
Normalization factor.
void free_members(void)
Delete class members.
void init_members(void)
Initialise class members.
std::vector< double > m_values
Function values at nodes.
const GFilename & filename(void) const
Return file name.
double m_mc_norm
Light curve normalisation.
GTime m_tmax
Maximum time of model.
double norm(void) const
Return normalization factor.
GNodeArray m_nodes
Time nodes of function.
void load_nodes(const GFilename &filename)
Load nodes from file.
virtual GTimes mc(const double &rate, const GTime &tmin, const GTime &tmax, GRan &ran) const
Returns vector of random event times.
void mc_update(const GTime &tmin, const GTime &tmax) const
Set MC pre-computation cache.
std::vector< double > m_mc_offset
Offset of interval.
GTime m_mc_tmin
Minimum time.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print light curve information.
GTimeReference m_timeref
Time reference.
double m_mc_eff_duration
Effective duration.
GModelTemporalLightCurve(void)
Void constructor.
Abstract temporal model base class.
double value(void) const
Return parameter value.
Random number generator class.
Implements a time reference.