37 #define G_GET_PARAMETERS "ctedispcube::get_parameters()"
198 this->GApplication::clear();
231 log_header1(TERSE,
"Generate energy dispersion cube");
234 GLog* logger = (logNormal()) ? &log : NULL;
256 log_header1(TERSE,
"Save energy dispersion cube");
260 if ((*
this)[
"outcube"].is_valid() && !
m_edispcube.cube().is_empty()) {
263 m_outcube = (*this)[
"outcube"].filename();
276 fname.append(
" (cube is empty, no file created)");
278 log_value(NORMAL,
"Energy dispersion cube file", fname);
351 double migramax = (*this)[
"migramax"].real();
352 int migrabins = (*this)[
"migrabins"].integer();
357 GCTAEventCube cube = (*this)[
"incube"].is_valid()
358 ? GCTAEventCube((*
this)[
"incube"].filename())
362 m_edispcube = GCTACubeEdisp(cube, migramax, migrabins);
366 m_chatter =
static_cast<GChatter
>((*this)[
"chatter"].integer());
370 (*this)[
"outcube"].query();
389 log_header1(TERSE,
"Initialise energy dispersion cube");
392 const GWcs* proj =
static_cast<const GWcs*
>(
m_edispcube.cube().projection());
393 std::string wcs =
m_edispcube.cube().projection()->code();
394 std::string coords =
m_edispcube.cube().projection()->coordsys();
395 double x = proj->crval(0);
396 double y = proj->crval(1);
397 double dx = proj->cdelt(0);
398 double dy = proj->cdelt(1);
401 double mmax = (*this)[
"migramax"].real();
402 int nmbins = (*this)[
"migrabins"].integer();
411 for (
int i = 0; i <
m_obs.size(); ++i) {
414 const GCTAObservation* cta =
dynamic_cast<const GCTAObservation*
>
423 if (cta->eventtype() !=
"EventList") {
435 m_edispcube = GCTACubeEdisp(wcs, coords, x, y, dx, dy, nx, ny, energies,
ctedispcube & operator=(const ctedispcube &app)
Assignment operator.
void init_members(void)
Initialise class members.
bool m_addbounds
Add energies at boundaries?
void save(void)
Save energy dispersion cube.
GFilename m_outcube
Output exposure cube file.
void init_cube(void)
Initialise energy dispersion cube.
Energy dispersion cube generation tool.
void free_members(void)
Delete class members.
void copy_members(const ctedispcube &app)
Copy class members.
void process(void)
Generate the energy dispersion cube.
Base class for observation tools.
void free_members(void)
Delete class members.
void clear(void)
Clear energy dispersion tool.
GChatter m_chatter
Chattiness.
void init_members(void)
Initialise class members.
Energy dispersion cube generation tool definition.
ctedispcube(void)
Void constructor.
GCTACubeEdisp m_edispcube
Energy dispersion cube.
ctobservation & operator=(const ctobservation &app)
Assignment operator.
GObservations m_obs
Observation container.
void get_parameters(void)
Get application parameters.
virtual ~ctedispcube(void)
Destructor.