SpectrumEnergyGroups

class gammapy.spectrum.SpectrumEnergyGroups(initlist=None)[source]

Bases: collections.UserList

List of SpectrumEnergyGroup objects.

A helper class used by the gammapy.spectrum.SpectrumEnergyMaker.

Attributes Summary

bin_idx_range Tuple (left, right) with range of bin indices (both edges inclusive).
energy_bounds Energy group bounds (Quantity).
energy_range Total energy range (Quantity of length 2).

Methods Summary

append(item)
apply_energy_binning(ebounds) Apply an energy binning.
apply_energy_max(energy)
apply_energy_max_old(energy) Modify list in-place to apply a max energy cut.
apply_energy_min(energy)
apply_energy_min_old(energy) Modify list in-place to apply a min energy cut.
clear()
clip_to_valid_range(list_idx) TODO: document
copy() Deep copy
count(item)
extend(other)
find_list_idx(energy) Find the list index corresponding to a given energy.
find_list_idx_range(energy_min, energy_max) TODO: document.
from_group_table(table) Create from energy groups in Table format.
from_total_table(table) Create list of SpectrumEnergyGroup objects from table.
index(item, *args)
insert(i, item)
make_and_replace_merged_group(list_idx_min, …) Merge energy groups and update indexes
make_merged_group(list_idx_min, …) Merge group according to indexes
pop([i])
reindex_groups() Re-index groups
remove(item)
reverse()
sort(*args, **kwds)
to_group_table() Table with one energy group per row (Table).
to_total_table() Table with one energy bin per row (Table).

Attributes Documentation

bin_idx_range

Tuple (left, right) with range of bin indices (both edges inclusive).

energy_bounds

Energy group bounds (Quantity).

energy_range

Total energy range (Quantity of length 2).

Methods Documentation

append(item)
apply_energy_binning(ebounds)[source]

Apply an energy binning.

apply_energy_max(energy)[source]
apply_energy_max_old(energy)[source]

Modify list in-place to apply a max energy cut.

apply_energy_min(energy)[source]
apply_energy_min_old(energy)[source]

Modify list in-place to apply a min energy cut.

clear()
clip_to_valid_range(list_idx)[source]

TODO: document

copy()[source]

Deep copy

count(item)
extend(other)
find_list_idx(energy)[source]

Find the list index corresponding to a given energy.

find_list_idx_range(energy_min, energy_max)[source]

TODO: document.

  • Min index is the bin that contains energy_range.min
  • Max index is the bin that is below the one that contains energy_range.max
  • This way we don’t loose any bins or count them twice.
  • Containment is checked for each bin as [min, max)
classmethod from_group_table(table)[source]

Create from energy groups in Table format.

classmethod from_total_table(table)[source]

Create list of SpectrumEnergyGroup objects from table.

index(item, *args)
insert(i, item)
make_and_replace_merged_group(list_idx_min, list_idx_max, bin_type)[source]

Merge energy groups and update indexes

make_merged_group(list_idx_min, list_idx_max, bin_type)[source]

Merge group according to indexes

pop(i=-1)
reindex_groups()[source]

Re-index groups

remove(item)
reverse()
sort(*args, **kwds)
to_group_table()[source]

Table with one energy group per row (Table).

Columns:

  • energy_group_idx - Energy group index (int)
  • energy_group_n_bins - Number of bins in the energy group (int)
  • bin_idx_min - First bin index in the energy group (int)
  • bin_idx_max - Last bin index in the energy group (int)
  • bin_type - Bin type {‘normal’, ‘underflow’, ‘overflow’} (str)
  • energy_min - Energy group start energy (Quantity)
  • energy_max - Energy group end energy (Quantity)
to_total_table()[source]

Table with one energy bin per row (Table).

Columns:

  • energy_group_idx - Energy group index (int)
  • bin_idx - Energy bin index (int)
  • bin_type - Bin type {‘normal’, ‘underflow’, ‘overflow’} (str)

There are no energy columns, because the per-bin energy info was lost during grouping.