Action #1785

Add GSkyMap::flux methods that integrate the flux over one or several sky regions

Added by Knödlseder Jürgen over 8 years ago. Updated over 3 years ago.

Status:ClosedStart date:06/04/2016
Priority:NormalDue date:
Assigned To:Knödlseder Jürgen% Done:

100%

Category:-
Target version:2.0.0
Duration:

Description

Methods

double flux(const GRegion& region, const int& map = 0) const;
double flux(const GRegions& region, const int& map = 0) const;
should be added that integrate the flux over one or several sky regions.


Recurrence

No recurrence.

History

#1 Updated by Knödlseder Jürgen over 8 years ago

Note that SExtractor does this kind of aperture photometry by dividing each pixel into 5x5 sub-pixels. We may use here a similar approach.

#2 Updated by Knödlseder Jürgen over 8 years ago

  • Target version set to 1.2.0

#3 Updated by Knödlseder Jürgen over 7 years ago

  • Target version changed from 1.2.0 to 1.3.0

#4 Updated by Knödlseder Jürgen over 7 years ago

  • Target version deleted (1.3.0)

#5 Updated by Knödlseder Jürgen over 3 years ago

  • Assigned To set to Knödlseder Jürgen
  • Target version set to 2.0.0

We should also add equivalent solidangle methods to get the corresponding solid angle:

double solidangle(const GRegion& region) const;
double solidangle(const GRegions& region) const;

#6 Updated by Knödlseder Jürgen over 3 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 50

I added the methods

double flux(const GSkyRegion& region, const int& map = 0) const;
double flux(const GSkyRegions& regions, const int& map = 0) const;
double solidangle(const GSkyRegion& region) const;
double solidangle(const GSkyRegions& regions) const;
that evaluate the flux or the solid angle for all pixels that are contained within the specified sky region(s). Containment is tested using the GSkyRegion::contains() or GSkyRegions::contains() methods. The flux is as usually the sky map value multiplied with the solid angle of the pixel.

Unit tests were added for the new methods.

#7 Updated by Knödlseder Jürgen over 3 years ago

  • % Done changed from 50 to 70
I implemented the methods
  • GModelSpatialComposite::flux(GSkyRegion&, GEnergy&, GTime&)
  • GModelSpatialDiffuseConst::flux(GSkyRegion&, GEnergy&, GTime&)
  • GModelSpatialDiffuseCube::flux(GSkyRegion&, GEnergy&, GTime&)
  • GModelSpatialDiffuseMap::flux(GSkyRegion&, GEnergy&, GTime&)
  • GModelSpatialPointSource::flux(GSkyRegion&, GEnergy&, GTime&)

to compute the model fluxes for all possible sky regions. The base class method GModelSpatial::flux(GSkyRegion&, GEnergy&, GTime&) now only handles the remaining spatial models. The base class method currently only works for circular sky regions.

#8 Updated by Knödlseder Jürgen over 3 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 70 to 100

Merged into devel.

Also available in: Atom PDF