27 #ifndef GCTAMODELSPATIALMULTIPLICATIVE_HPP
28 #define GCTAMODELSPATIALMULTIPLICATIVE_HPP
66 virtual void clear(
void);
68 virtual std::string
classname(
void)
const;
69 virtual std::string
type(
void)
const;
73 const bool& gradients =
false)
const;
81 const std::string& name=
"");
107 return (
"GCTAModelSpatialMultiplicative");
void free_members(void)
Delete class members.
Abstract spatial model class.
int components(void) const
Return number of spatial components.
virtual void clear(void)
Clear instance.
Multiplicative spatial model class.
const GCTAModelSpatial * component(const int &index) const
Return spatial model component by index.
Random number generator class.
virtual double eval(const GCTAInstDir &dir, const GEnergy &energy, const GTime &time, const bool &gradients=false) const
Evaluate function (in units of sr^-1)
void copy_members(const GCTAModelSpatialMultiplicative &model)
Copy class members.
virtual void write(GXmlElement &xml) const
Write model into XML element.
virtual double mc_max_value(const GCTAObservation &obs) const
Return maximum function value for Monte Carlo simulations.
std::vector< std::string > m_components
Names of components.
virtual void read(const GXmlElement &xml)
Read model from XML element.
std::string m_type
Model type.
void init_members(void)
Initialise class members.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print multiplicative spatial model information.
virtual GCTAModelSpatialMultiplicative & operator=(const GCTAModelSpatialMultiplicative &model)
Assignment operator.
virtual GCTAModelSpatialMultiplicative * clone(void) const
Clone instance.
virtual ~GCTAModelSpatialMultiplicative(void)
Destructor.
virtual std::string type(void) const
Return model type.
Abstract spatial model class interface definition.
virtual std::string classname(void) const
Return class name.
void append(const GCTAModelSpatial &spatial, const std::string &name="")
Append spatial component.
GCTAModelSpatialMultiplicative(void)
Void constructor.
CTA instrument direction class.
std::vector< GCTAModelSpatial * > m_spatial
Container of spatial models.
Class that handles energies in a unit independent way.