icecube.clsim.tablemaker.photonics module

class icecube.clsim.tablemaker.photonics.Efficiency

Bases: object

Normalization types from photonics.h

AREA = 8
DIFFERENTIAL = 256
EMISSION = 64
NONE = 0
N_EVENT = 512
N_PHOTON = 32
RECEIVER = 1
SOURCE = 2
USER_DEFINED = 128
VOLUME = 16
WAVELENGTH = 4
class icecube.clsim.tablemaker.photonics.FITSTable(binedges, values, weights, header={'azimuth': 0.0, 'efficiency': 0, 'energy': 0.0, 'geometry': 1, 'level': 1, 'n_group': nan, 'n_phase': nan, 'n_photons': 0, 'parity': 0, 'type': 0, 'z': 0.0, 'zenith': 0.0})

Bases: Table

Same content as a photonics table, but using the FITS-based file format produced by the clsim tabulator.

empty_header = {'azimuth': 0.0, 'efficiency': 0, 'energy': 0.0, 'geometry': 1, 'level': 1, 'n_group': nan, 'n_phase': nan, 'n_photons': 0, 'parity': 0, 'type': 0, 'z': 0.0, 'zenith': 0.0}
classmethod load(fname)
normalize(kind='photon')

Normalize the table. If kind is ‘photon’, normalize such that the entries in the table are number of PE detected per Cherenkov photon emitted between 300 and 600 nm, as in Photonics. If kind is ‘event’, normalize such that the entries in the table are the number of PE detected per event (e.g. per minimum-ionizing muon).

raise_if_incompatible(other)

Check for generalized brokenness.

save(fname, overwrite=False)
classmethod stack(outfile, *fnames)
property values
property weights
class icecube.clsim.tablemaker.photonics.Geometry

Bases: object

CUBIC = 3
CYLINDRICAL = 2
SPHERICAL = 1
class icecube.clsim.tablemaker.photonics.GeometryType

Bases: object

INFINITEMUON = 1
POINTSOURCE = 0
class icecube.clsim.tablemaker.photonics.Header(fh)

Bases: object

Parse a packed representation of Header_type from photonics.h.

size = 328
write(fh)
class icecube.clsim.tablemaker.photonics.MetaHead(buf)

Bases: object

Parse a packed representation of MetaHead_type from photonics.h.

pack()
size = 85
class icecube.clsim.tablemaker.photonics.Parity

Bases: object

EVEN = 0
ODD = 1
class icecube.clsim.tablemaker.photonics.Table(filename=None, normalize=True, mmap=True)

Bases: object

bin_centers = None
bin_widths = None
convert_to_level1()
convert_to_level2()
filename = None
is_integral = False
level = -1
mirror(n_rho=0, n_phi=0)

Extend table to rho < 0 and 180 < phi < 360. This may be useful for surpressing edge effects while fitting.

property ndim
normalize()
property normed

Has this table been normalized?

open_file(filename, convert=False, mmap=False)
remove_nans_and_infinites(dovalues=True, doweights=True)
property shape
classmethod stack(outfile, *fnames)
table = None
table_shape_consistent()
weights = None
icecube.clsim.tablemaker.photonics.melonball(table, weights=None, radius=1)

Set weights inside a given radius to zero.

icecube.clsim.tablemaker.photonics.scalp(table, weights=None, low=-820, high=820)

Set weights outside of the given depth range to zero.