27 #ifndef GSPIEVENTCUBE_HPP
28 #define GSPIEVENTCUBE_HPP
71 virtual void clear(
void);
73 virtual std::string
classname(
void)
const;
74 virtual int size(
void)
const;
75 virtual int dim(
void)
const;
76 virtual int naxis(
const int& axis)
const;
79 const bool& clobber =
false)
const;
82 virtual int number(
void)
const;
90 const std::string&
ptid(
const int& ipt)
const;
110 void set_bin(
const int& index);
147 return (
"GSPIEventCube");
const GGti & gti(void) const
Return Good Time Intervals.
virtual void read(const GFits &file)
Read INTEGRAL/SPI event cube from Observation Group FITS file.
double * m_livetime
Livetime array.
const GSkyDir & spi_z(const int &ipt) const
Return SPI Z direction.
double * m_models
Models array.
const GSkyDir & spi_x(const int &ipt) const
Return SPI X direction (pointing direction)
virtual std::string print(const GChatter &chatter=NORMAL) const
Print INTEGRAL/SPI event cube information.
int m_num_pt
Number of pointings.
const GSPIInstDir & dir(const int &ipt, const int &idet) const
Return instrument direction.
virtual GSPIEventCube * clone(void) const
Clone event cube.
GSPIInstDir * m_dir
Event direction array.
GTime * m_time
Time array.
GSPIEventCube(void)
Void constructor.
void read_models(const GFits &file)
Read models from INTEGRAL/SPI Observation Group.
void init_bin(void)
Initialise event bin.
Abstract event bin container class interface definition.
int m_num_bgm
Number of background models.
int m_model_size
Size of model arrays.
GSPIEventBin m_bin
Actual event bin.
double * m_counts
Counts array.
void read_dsp(const GFitsTable *dsp)
Read data from INTEGRAL/SPI "SPI.-OBS.-DSP" extension.
virtual void load(const GFilename &filename)
Load INTEGRAL/SPI event cube from Observation Group.
int m_dsp_size
Size of DSP arrays.
GEnergy * m_ewidth
Energy bin width array.
void copy_members(const GSPIEventCube &cube)
Copy class members.
INTEGRAL/SPI instrument direction class.
int m_gti_size
Size of GTI arrays.
int models(void) const
Return number of models.
void free_members(void)
Delete class members.
INTEGRAL/SPI event bin container class.
void read_gti(const GFitsTable *gti)
Read data from INTEGRAL/SPI "SPI.-OBS.-GTI" extension.
void read_pnt(const GFitsTable *pnt, const GFitsTable *gti)
Read pointing information.
GSkyDir * m_spix
SPI X axis array.
Energy boundaries container class.
virtual GSPIEventBin * operator[](const int &index)
Event bin access operator.
void read_ebds(const GFitsTable *ebds)
Read data from INTEGRAL/SPI "SPI.-EBDS-SET" extension.
std::vector< std::string > m_modnames
Model names.
virtual void set_times(void)
Set times.
virtual void clear(void)
Clear INTEGRAL/SPI event cube.
Abstract interface for FITS table.
double livetime(void) const
Return total livetime.
virtual void save(const GFilename &filename, const bool &clobber=false) const
Save INTEGRAL/SPI event cube into FITS file.
virtual GSPIEventCube & operator=(const GSPIEventCube &cube)
Assignment operator.
double * m_size
Event bin size array.
virtual int size(void) const
Return event cube size.
Good Time Interval class.
double * m_ontime
Ontime array.
void init_members(void)
Initialise class members.
void read_dti(const GFitsTable *dti)
Read data from INTEGRAL/SPI "SPI.-OBS.-DTI" extension.
const std::string & ptid(const int &ipt) const
Return pointing identifier.
GSkyDir * m_spiz
SPI Z axis array.
void alloc_data(void)
Allocate data.
virtual void write(GFits &file) const
Write INTEGRAL/SPI event cube into FITS file.
int m_num_sky
Number of sky models.
virtual std::string classname(void) const
Return class name.
INTEGRAL/SPI event bin class.
double ontime(void) const
Return total ontime.
std::string * m_ptid
Pointing identifiers.
virtual int naxis(const int &axis) const
Return number of bins in axis.
GEnergy * m_energy
Energy array.
int m_num_ebin
Number of energy bins.
virtual void set_energies(void)
Set energies.
virtual int number(void) const
Return number of events in cube.
virtual ~GSPIEventCube(void)
Destructor.
INTEGRAL/SPI event bin class definition.
Abstract event bin container class.
void set_bin(const int &index)
Set event bin.
double * m_stat_err
Statistical error array.
int m_num_det
Number of detectors.
double model_counts(const int &index) const
Return number of events in model.
virtual int dim(void) const
Return event cube dimension.
Class that handles energies in a unit independent way.