27#ifndef GCOSEVENTCUBE_HPP
28#define GCOSEVENTCUBE_HPP
67 const std::string& order,
80 virtual void clear(
void);
82 virtual std::string
classname(
void)
const;
83 virtual int size(
void)
const;
84 virtual int dim(
void)
const;
85 virtual int naxis(
const int& axis)
const;
88 const bool& clobber =
false)
const;
91 virtual double number(
void)
const;
95 void set(
const std::string& coords,
97 const std::string& order,
104 const double&
ontime(
void)
const;
118 void set_bin(
const int& index);
153 return (
"GCOSEventCube");
Boundaries class interface definition.
COSI event bin class definition.
COSI instrument direction class definition.
Energy value class definition.
Abstract event bin container class interface definition.
Sky direction class interface definition.
Sky map class definition.
Time class interface definition.
Boundaries container class.
COSI event bin container class.
void init_members(void)
Initialise class members.
std::vector< GEnergy > m_ewidths
Cube energy bin widths.
virtual int naxis(const int &axis) const
Return number of bins in axis.
virtual void clear(void)
Clear COSI event cube.
void free_members(void)
Delete class members.
virtual GCOSEventCube & operator=(const GCOSEventCube &cube)
Assignment operator.
GCOSEventBin m_bin
Current event bin.
virtual std::string classname(void) const
Return class name.
virtual int size(void) const
Return number of bins in event cube.
void set(const std::string &coords, const int &nside, const std::string &order, const GBounds &phibounds, const GEbounds &ebounds, const GGti >i)
Set event cube.
virtual GCOSEventBin * operator[](const int &index)
Event bin access operator.
int m_num_outside_ebounds
Number of events outside energy boundaries.
std::vector< double > m_phiwidths
Array of scatter angles bin widths.
void init_bin(void)
Initialise event bin.
int m_num_outside_phibounds
Number of events outside scatter angle bounds.
virtual void read(const GFits &fits)
Read COSI event cube from FITS file.
void copy_members(const GCOSEventCube &cube)
Copy class members.
virtual ~GCOSEventCube(void)
Destructor.
virtual void set_energies(void)
Set log mean energies and energy widths of energy bins.
const GSkyMap & cube(void) const
Return event cube.
GBounds m_phibounds
Phi layer boundaries.
void set_scatter_angles(void)
Set Compton scatter angles of event cube.
int m_num_outside_gti
Number of events outside GTI.
GCOSEventCube(void)
Void constructor.
double m_ontime
Event cube ontime (sec)
virtual GCOSEventCube * clone(void) const
Clone event cube.
const GBounds & phibounds(void) const
Return Phi boundaries.
void set_scatter_directions(void)
Set scatter directions of all events cube pixels.
int m_num_events_checked
Number of checked events.
const double & solidangle(void) const
Return event cube pixels solid angles.
virtual double number(void) const
Return number of events in cube.
int m_npix
Number of HealPix pixels.
GCOSInstDir m_dir
Current event direction.
void fill(const GCOSEventList &list)
Fill event cube with events from event list.
const double & ontime(void) const
Return event cube ontime.
GTime m_time
Event cube mean time.
virtual void load(const GFilename &filename)
Load COSI event cube from FITS file.
GSkyMap m_cube
Event cube.
double m_solidangle
Event bin solid angle (sr)
const GTime & time(void) const
Return event cube time.
virtual int dim(void) const
Return dimension of event cube.
virtual void write(GFits &fits) const
Write COSI event cube into FITS file.
int m_num_events_used
Number of used events.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print COSI event cube information.
virtual void save(const GFilename &filename, const bool &clobber=false) const
Save COSI event cube into FITS file.
std::vector< GEnergy > m_energies
Cube energy bin mean energies.
virtual void set_times(void)
Set mean event time and ontime of event cube.
std::vector< GSkyDir > m_dirs
Cube pixel scatter directions.
std::vector< double > m_phis
Array of scatter angles.
void set_bin(const int &index)
Set event bin.
int m_nphi
Number of Phi layers.
COSI instrument direction class.
Energy boundaries container class.
Abstract event bin container class.
const GGti & gti(void) const
Return Good Time Intervals.
const GEbounds & ebounds(void) const
Return energy boundaries.
Good Time Interval class.