ctools  2.0.0
 All Classes Namespaces Files Functions Variables Macros Pages
ctmapcube Class Reference

Map cube generation tool. More...

#include <ctmapcube.hpp>

Inheritance diagram for ctmapcube:
ctool GApplication

Public Member Functions

 ctmapcube (void)
 Void constructor. More...
 
 ctmapcube (int argc, char *argv[])
 Command line constructor. More...
 
 ctmapcube (const ctmapcube &app)
 Copy constructor. More...
 
virtual ~ctmapcube (void)
 Destructor. More...
 
ctmapcubeoperator= (const ctmapcube &app)
 Assignment operator. More...
 
void clear (void)
 Clear ctmapcube tool. More...
 
void process (void)
 Generate map cube. More...
 
void save (void)
 Save map cube. More...
 
void publish (const std::string &name="")
 Publish map cube. More...
 
const GModelSpatialDiffuseCube & mapcube (void) const
 Return map cube. More...
 
void models (const GModels &models)
 Set models. More...
 
- Public Member Functions inherited from ctool
 ctool (const std::string &name, const std::string &version)
 Name constructor. More...
 
 ctool (const std::string &name, const std::string &version, const GApplicationPars &pars)
 Application parameter constructor. More...
 
 ctool (const std::string &name, const std::string &version, int argc, char *argv[])
 Command line constructor. More...
 
 ctool (const ctool &app)
 Copy constructor. More...
 
virtual ~ctool (void)
 Destructor. More...
 
ctooloperator= (const ctool &app)
 Assignment operator. More...
 
virtual void run (void)
 Run ctool. More...
 
virtual void execute (void)
 Execute ctool. More...
 

Protected Member Functions

void init_members (void)
 Initialise class members. More...
 
void copy_members (const ctmapcube &app)
 Copy class members. More...
 
void free_members (void)
 Delete class members. More...
 
void get_parameters (void)
 Get application parameters. More...
 
void create_cube (void)
 Generate map cube. More...
 
void add_model (GModelSky *model)
 Add one model to map cube. More...
 
void add_ptsrc_model (GModelSky *model)
 Add one point source model to map cube. More...
 
void get_bounding_circle (GModelSky *model, GSkyDir *dir, double *radius) const
 Get bounding circle for a sky model. More...
 
- Protected Member Functions inherited from ctool
void init_members (void)
 Initialise class members. More...
 
void copy_members (const ctool &app)
 Copy class members. More...
 
void free_members (void)
 Delete class members. More...
 
void sync_pfiles (void)
 Synchronise parameter files. More...
 
const bool & read_ahead (void) const
 Signal whether parameters should be read ahead. More...
 
void setup_observations (GObservations &obs, const bool &response=true, const bool &list=true, const bool &cube=true)
 Setup observation container. More...
 
void setup_models (GObservations &obs, const std::string &name="")
 Setup model container. More...
 
GEbounds create_ebounds (void)
 Create energy boundaries from user parameters. More...
 
GEnergies create_energies (void)
 Create energies from user parameters. More...
 
GSkyMap create_map (const GObservations &obs)
 Create a skymap from user parameters. More...
 
GCTAEventCube create_cube (const GObservations &obs)
 Create a CTA event cube from user parameters. More...
 
GCTAObservation create_cta_obs (void)
 Create a CTA observation from User parameters. More...
 
void require_inobs (const std::string &method)
 Throws exception if inobs parameter is not valid. More...
 
void require_inobs_nolist (const std::string &method)
 
void require_inobs_nocube (const std::string &method)
 Throws exception if inobs parameter is a counts cube. More...
 
GCTARoi get_roi (const GCTAPointing &pnt=GCTAPointing())
 Return RoI from User parameters. More...
 
GEbounds get_ebounds (void)
 Return energy boundaries from User parameters. More...
 
GGti get_gti (const GTimeReference &ref)
 Return Good Time Intervals from User parameter. More...
 
GCTAPointing get_pointing (void)
 Return CTA pointing from User parameters. More...
 
GSkyDir get_skydir (void)
 Return sky direction from User parameters. More...
 
std::string set_outfile_name (const std::string &filename)
 Set output file name. More...
 
bool is_stacked (void)
 Query user parameters for stacked analysis. More...
 
bool is_onoff (void)
 Query user parameters for On/Off analysis. More...
 
void log_parameters (const GChatter &chatter)
 Log application parameters. More...
 
void log_observations (const GChatter &chatter, const GObservations &obs, const std::string &what="Observation")
 Log observation container. More...
 
void log_models (const GChatter &chatter, const GModels &models, const std::string &what="Model")
 Log model container. More...
 
void set_response (GObservations &obs)
 Set response for all CTA observations in container. More...
 
std::vector< bool > set_edisp (GObservations &obs, const bool &edisp) const
 Set energy dispersion to CTA observations. More...
 
void restore_edisp (GObservations &obs, const std::vector< bool > &edisp) const
 Restore energy dispersion flags of CTA observations. More...
 
void set_obs_response (GCTAObservation *obs)
 Set response for CTA observation. More...
 
GObservations get_observations (const bool &get_response=true)
 Get observation container. More...
 
GSkyDir get_mean_pointing (const GObservations &obs)
 Derives mean pointing from CTA observations. More...
 
size_t get_current_rss (void)
 Get current resident set size (physical memory use) in Bytes. More...
 
std::string get_obs_header (const GObservation *obs) const
 Return observation header string. More...
 
GEnergies insert_energy_boundaries (const GEnergies &energies, const GCTAObservation &obs)
 Insert observation energy boundaries into list of energies. More...
 
std::vector< bool > cube_layer_usage (const GEbounds &cube_ebounds, const GEbounds &list_ebounds) const
 Determine the counts cube layer usage. More...
 
std::string get_gtiname (const std::string &filename, const std::string &evtname) const
 Get Good Time Intervals extension name. More...
 
void save_event_list (const GCTAObservation *obs, const std::string &infile, const std::string &evtname, const std::string &gtiname, const std::string &outfile) const
 Save event list into FITS file. More...
 
std::string warn_too_few_energies (const GEnergies &energies) const
 Set warning string if there are too few energies. More...
 
std::string warn_xml_suffix (const GFilename &filename) const
 Set warning string if file has no .xml suffix. More...
 
void provide_help (void) const
 Dump help text in the console. More...
 

Protected Attributes

GFilename m_outcube
 Output map cube filename. More...
 
double m_ptsrcsig
 Point source sigma (arcmin) More...
 
bool m_publish
 Publish map cube? More...
 
GChatter m_chatter
 Chattiness. More...
 
GModels m_models
 Model container. More...
 
GModelSpatialDiffuseCube m_cube
 Map cube. More...
 
- Protected Attributes inherited from ctool
bool m_read_ahead
 Read ahead output parameters. More...
 
bool m_use_xml
 Use XML file instead of FITS file for observations. More...
 

Detailed Description

Map cube generation tool.

Definition at line 44 of file ctmapcube.hpp.

Constructor & Destructor Documentation

ctmapcube::ctmapcube ( void  )

Void constructor.

Definition at line 53 of file ctmapcube.cpp.

References init_members().

ctmapcube::ctmapcube ( int  argc,
char *  argv[] 
)

Command line constructor.

Parameters
[in]argcNumber of arguments in command line.
[in]argvArray of command line arguments.

Definition at line 69 of file ctmapcube.cpp.

References init_members().

ctmapcube::ctmapcube ( const ctmapcube app)

Copy constructor.

Parameters
[in]appApplication.

Definition at line 85 of file ctmapcube.cpp.

References copy_members(), and init_members().

ctmapcube::~ctmapcube ( void  )
virtual

Destructor.

Definition at line 101 of file ctmapcube.cpp.

References free_members().

Member Function Documentation

void ctmapcube::add_model ( GModelSky *  model)
protected

Add one model to map cube.

Parameters
[in]modelPointer to point source sky model.

Adds one model to map cube.

Definition at line 440 of file ctmapcube.cpp.

References get_bounding_circle(), and m_cube.

Referenced by add_ptsrc_model(), and create_cube().

void ctmapcube::add_ptsrc_model ( GModelSky *  model)
protected

Add one point source model to map cube.

Parameters
[in]modelPointer to point source sky model.

Adds one point source model to map cube.

Definition at line 492 of file ctmapcube.cpp.

References add_model(), get_bounding_circle(), m_cube, and m_ptsrcsig.

Referenced by create_cube().

void ctmapcube::clear ( void  )
virtual

Clear ctmapcube tool.

Clears ctmapcube tool.

Implements ctool.

Definition at line 158 of file ctmapcube.cpp.

References free_members(), ctool::free_members(), init_members(), and ctool::init_members().

void ctmapcube::copy_members ( const ctmapcube app)
protected

Copy class members.

Parameters
[in]appApplication.

Definition at line 305 of file ctmapcube.cpp.

References m_chatter, m_cube, m_models, m_outcube, m_ptsrcsig, and m_publish.

Referenced by ctmapcube(), and operator=().

void ctmapcube::create_cube ( void  )
protected

Generate map cube.

Generate map cube by looping over all sky models in the container.

Definition at line 393 of file ctmapcube.cpp.

References add_model(), add_ptsrc_model(), and m_models.

Referenced by process().

void ctmapcube::free_members ( void  )
protected

Delete class members.

Definition at line 325 of file ctmapcube.cpp.

Referenced by clear(), operator=(), and ~ctmapcube().

void ctmapcube::get_bounding_circle ( GModelSky *  model,
GSkyDir *  dir,
double *  radius 
) const
protected

Get bounding circle for a sky model.

Parameters
[in]modelPointer to sky model.
[out]dirCentre of bounding circle.
[out]radiusRadius of bounding circle (degrees).

Determine for any spatial model the bounding circle. The bounding circle is a circular region that fully enclosed the model.

The method does not verify the validity of the pointer arguments.

Definition at line 583 of file ctmapcube.cpp.

Referenced by add_model(), and add_ptsrc_model().

void ctmapcube::get_parameters ( void  )
protected

Get application parameters.

Get all task parameters from parameter file or (if required) by querying the user.

Definition at line 338 of file ctmapcube.cpp.

References ctool::create_ebounds(), ctool::log_parameters(), m_chatter, m_cube, m_models, m_ptsrcsig, m_publish, and ctool::read_ahead().

Referenced by process().

void ctmapcube::init_members ( void  )
protected

Initialise class members.

Definition at line 283 of file ctmapcube.cpp.

References m_chatter, m_cube, m_models, m_outcube, m_ptsrcsig, and m_publish.

Referenced by clear(), ctmapcube(), and operator=().

const GModelSpatialDiffuseCube & ctmapcube::mapcube ( void  ) const
inline

Return map cube.

Returns
Map cube

Definition at line 95 of file ctmapcube.hpp.

References m_cube.

void ctmapcube::models ( const GModels &  models)
inline

Set models.

Parameters
[in]modelsModel container.

Set model container to be used for map cube generation.

Definition at line 109 of file ctmapcube.hpp.

References m_models.

ctmapcube & ctmapcube::operator= ( const ctmapcube app)

Assignment operator.

Parameters
[in]appApplication.
Returns
Application.

Definition at line 123 of file ctmapcube.cpp.

References copy_members(), free_members(), init_members(), and ctool::operator=().

void ctmapcube::process ( void  )
virtual

Generate map cube.

This method reads the task parameters from the parfile and generates the map cube.

Implements ctool.

Definition at line 185 of file ctmapcube.cpp.

References create_cube(), get_parameters(), ctool::log_models(), m_chatter, m_cube, m_models, m_publish, and publish().

void ctmapcube::publish ( const std::string &  name = "")

Publish map cube.

Parameters
[in]nameMap cube name.

Publishes the map cube on a VO Hub.

Definition at line 252 of file ctmapcube.cpp.

References CTMAPCUBE_NAME, and m_cube.

Referenced by process().

void ctmapcube::save ( void  )
virtual

Save map cube.

Saves the map cube into a FITS file.

Implements ctool.

Definition at line 215 of file ctmapcube.cpp.

References m_cube, and m_outcube.

Member Data Documentation

GChatter ctmapcube::m_chatter
protected

Chattiness.

Definition at line 81 of file ctmapcube.hpp.

Referenced by copy_members(), get_parameters(), init_members(), and process().

GModelSpatialDiffuseCube ctmapcube::m_cube
protected
GModels ctmapcube::m_models
protected

Model container.

Definition at line 84 of file ctmapcube.hpp.

Referenced by copy_members(), create_cube(), get_parameters(), init_members(), models(), and process().

GFilename ctmapcube::m_outcube
protected

Output map cube filename.

Definition at line 78 of file ctmapcube.hpp.

Referenced by copy_members(), init_members(), and save().

double ctmapcube::m_ptsrcsig
protected

Point source sigma (arcmin)

Definition at line 79 of file ctmapcube.hpp.

Referenced by add_ptsrc_model(), copy_members(), get_parameters(), and init_members().

bool ctmapcube::m_publish
protected

Publish map cube?

Definition at line 80 of file ctmapcube.hpp.

Referenced by copy_members(), get_parameters(), init_members(), and process().


The documentation for this class was generated from the following files: