27 #ifndef GSPIMODELDATASPACE_HPP
28 #define GSPIMODELDATASPACE_HPP
63 const std::string&
name,
64 const std::string& method,
74 virtual void clear(
void);
76 virtual std::string
classname(
void)
const;
77 virtual std::string
type(
void)
const;
81 const bool& gradients =
false)
const;
99 std::vector<int>* indices,
100 std::vector<std::string>* names);
102 std::vector<int>* indices,
103 std::vector<std::string>* names);
105 std::vector<int>* indices,
106 std::vector<std::string>* names);
108 std::vector<int>* indices,
109 std::vector<std::string>* names);
111 std::vector<int>* indices,
112 std::vector<std::string>* names);
114 std::vector<int>* indices,
115 std::vector<std::string>* names,
118 std::vector<int>* indices,
119 std::vector<std::string>* names);
121 std::vector<int>* indices,
122 std::vector<std::string>* names);
124 std::vector<int>* indices,
125 std::vector<std::string>* names);
127 std::vector<int>* indices,
128 std::vector<std::string>* names);
130 std::vector<int>* indices,
131 std::vector<std::string>* names);
134 std::vector<int>* indices,
135 std::vector<std::string>* names,
137 const std::string& reason)
const;
157 return (
"GSPIModelDataSpace");
171 return (
"DataSpace");
void setup_orbit(GSPIEventCube *cube, std::vector< int > *indices, std::vector< std::string > *names)
Setup pointing indices and names for "orbit" method.
int * m_map
Parameter map.
int m_map_size
Size of parameter map.
void split_pointing_indices(GSPIEventCube *cube, std::vector< int > *indices, std::vector< std::string > *names, const GTime &time, const std::string &reason) const
Split pointing indices and names at given time.
void setup_pointing_indices(GSPIEventCube *cube, std::vector< int > *indices, std::vector< std::string > *names)
Setup pointing indices.
virtual GSPIModelDataSpace * clone(void) const
Clone instance.
void setup_point(GSPIEventCube *cube, std::vector< int > *indices, std::vector< std::string > *names)
Setup pointing indices and names for "point" method.
std::vector< GModelPar > m_parameters
Model parameters.
Abstract interface for the event classes.
virtual bool is_constant(void) const
Signal if model is temporally constant.
void setup_energy_indices(GSPIEventCube *cube, std::vector< int > *indices, std::vector< std::string > *names)
Setup energy indices.
Random number generator class.
INTEGRAL/SPI event bin container class definition.
std::string m_method
Fitting method.
void add_gedanneal(GSPIEventCube *cube, std::vector< int > *indices, std::vector< std::string > *names)
Modify pointing indices and names for "gedanneal" method.
virtual GSPIEventCube * mc(const GObservation &obs, GRan &ran) const
Return simulated list of events.
INTEGRAL/SPI instrument direction class.
virtual void write(GXmlElement &xml) const
Write model into XML element.
virtual void read(const GXmlElement &xml)
Read model from XML element.
Model parameter class interface definition.
GSPIObservation * m_obs
SPI observation.
INTEGRAL/SPI event bin container class.
void add_gedfail(GSPIEventCube *cube, std::vector< int > *indices, std::vector< std::string > *names)
Modify pointing indices and names for "gedfail" method.
INTEGRAL/SPI data space model.
const std::string & name(void) const
Return parameter name.
virtual GSPIModelDataSpace & operator=(const GSPIModelDataSpace &model)
Assignment operator.
Abstract data model base class interface definition.
virtual std::string type(void) const
Return model type.
GSPIModelDataSpace(void)
Void constructor.
Abstract data model class.
double get_date_time(const std::string &method) const
Get time scale from method string.
virtual double npred(const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const
Return spatially integrated data model.
void copy_members(const GSPIModelDataSpace &model)
Copy class members.
Abstract observation base class.
void free_members(void)
Delete class members.
void init_members(void)
Initialise class members.
INTEGRAL/SPI observation class.
void setup_model(const GObservation &obs) const
Setup model.
int m_index
Index of model in event bins.
virtual ~GSPIModelDataSpace(void)
Destructor.
void setup_ebin(GSPIEventCube *cube, std::vector< int > *indices, std::vector< std::string > *names)
Setup energy indices and names for "ebin" method.
virtual double eval(const GEvent &event, const GObservation &obs, const bool &gradients=false) const
Evaluate function.
void setup_date(GSPIEventCube *cube, std::vector< int > *indices, std::vector< std::string > *names, const double &time)
Setup pointing indices and names for "date" method.
virtual std::string classname(void) const
Return class name.
void setup_evtclass(GSPIEventCube *cube, std::vector< int > *indices, std::vector< std::string > *names)
Setup detector indices and names for "evtclass" method.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print model information.
void setup_pars(GSPIEventCube *cube)
Setup parameters.
void setup_dete(GSPIEventCube *cube, std::vector< int > *indices, std::vector< std::string > *names)
Setup detector indices and names for "dete" method.
void set_pointers(void)
Set pointers.
virtual void clear(void)
Clear instance.
Class that handles energies in a unit independent way.
void setup_detector_indices(GSPIEventCube *cube, std::vector< int > *indices, std::vector< std::string > *names)
Setup detector indices.