48#define G_READ "GCTAModelSpatialGradient::read(GXmlElement&)"
49#define G_WRITE "GCTAModelSpatialGradient::write(GXmlElement&)"
85 const double& dety_gradient) :
168 if (
this != &model) {
263 const bool& gradients)
const
280 #if defined(G_NAN_CHECK)
282 std::cout <<
"*** ERROR: GCTAModelSpatialGradient::eval";
283 std::cout <<
"(detx=" << detx <<
", dety=" << dety;
284 std::cout <<
"): NaN/Inf encountered";
285 std::cout <<
" (value=" << value;
286 std::cout <<
")" << std::endl;
310 double detx_min = detx_centre - radius;
311 double detx_max = detx_centre + radius;
312 double dety_min = dety_centre - radius;
313 double dety_max = dety_centre + radius;
318 double valuex = (value_min > value_max) ? value_min : value_max;
321 double valuey = (value_min > value_max) ? value_min : value_max;
322 double value = 1.0 + valuex + valuey;
391 result.append(
"=== GCTAModelSpatialGradient ===");
396 for (
int i = 0; i <
size(); ++i) {
CTA instrument direction class interface definition.
const GCTAModelSpatialGradient g_cta_spatial_gradient_seed
Spatial gradient CTA interface definition.
Spatial model registry class definition.
CTA observation class interface definition.
Exception handler interface definition.
Mathematical function definitions.
Random number generator class definition.
CTA instrument direction class.
void dety(const double &y)
Set DETY coordinate (in radians)
void detx(const double &x)
Set DETX coordinate (in radians)
Spatial gradient CTA model class.
void free_members(void)
Delete class members.
virtual double mc_max_value(const GCTAObservation &obs) const
Return maximum function value for Monte Carlo simulations.
virtual GCTAModelSpatialGradient & operator=(const GCTAModelSpatialGradient &model)
Assignment operator.
double dety_gradient(void) const
Return DETY gradient.
GModelPar m_detx_gradient
DETX gradient.
virtual void read(const GXmlElement &xml)
Read model from XML element.
virtual void clear(void)
Clear instance.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print point source information.
virtual double eval(const GCTAInstDir &dir, const GEnergy &energy, const GTime &time, const bool &gradients=false) const
Evaluate function.
void init_members(void)
Initialise class members.
virtual GCTAModelSpatialGradient * clone(void) const
Clone instance.
virtual std::string type(void) const
Return model type.
virtual ~GCTAModelSpatialGradient(void)
Destructor.
virtual void write(GXmlElement &xml) const
Write model into XML element.
GModelPar m_dety_gradient
DETY gradient.
double detx_gradient(void) const
Return DETX gradient.
GCTAModelSpatialGradient(void)
Void constructor.
void copy_members(const GCTAModelSpatialGradient &model)
Copy class members.
Interface definition for the spatial model registry class.
Abstract spatial model class.
void init_members(void)
Initialise class members.
std::vector< GModelPar * > m_pars
Parameter pointers.
int size(void) const
Return number of model parameters.
virtual GCTAModelSpatial & operator=(const GCTAModelSpatial &model)
Assignment operator.
void free_members(void)
Delete class members.
GCTARoi roi(void) const
Get Region of Interest.
const double & radius(void) const
Returns radius of region of interest in degrees.
const GCTAInstDir & centre(void) const
Returns region of interest centre.
Class that handles energies in a unit independent way.
void write(GXmlElement &xml) const
Set or update parameter attributes in XML element.
void read(const GXmlElement &xml)
Extract parameter attributes from XML element.
void free(void)
Free a parameter.
const double & scale(void) const
Return parameter scale.
bool has_grad(void) const
Signal if parameter gradient is computed analytically.
const std::string & unit(void) const
Return parameter unit.
const double & factor_gradient(void) const
Return parameter factor gradient.
double gradient(void) const
Return parameter gradient.
void clear(void)
Clear parameter.
double value(void) const
Return parameter value.
const std::string & name(void) const
Return parameter name.
std::string parformat(const std::string &s, const int &indent=0)
Convert string in parameter format.
bool is_infinite(const double &x)
Signal if argument is infinite.
bool is_notanumber(const double &x)
Signal if argument is not a number.
std::string str(const unsigned short int &value)
Convert unsigned short integer value into string.
const GXmlElement * xml_get_par(const std::string &origin, const GXmlElement &xml, const std::string &name)
Return pointer to parameter with given name in XML element.
GXmlElement * xml_need_par(const std::string &origin, GXmlElement &xml, const std::string &name)
Return pointer to parameter with given name in XML element.
void xml_check_type(const std::string &origin, GXmlElement &xml, const std::string &type)
Checks the model type.