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