hera_sim.sigchain.Bandpass

class hera_sim.sigchain.Bandpass(gain_spread: float | np.ndarray = 0.1, dly_rng: tuple = (-20, 20), bp_poly: str | callable | np.ndarray | None = None, taper: str | callable | np.ndarray | None = None, taper_kwds: dict | None = None, rng: np.random.Generator | None = None)[source]

Generate bandpass gains.

Parameters:
  • gain_spread – Standard deviation of random gains. Default is about 10% variation across antennas.

  • dly_rng – Lower and upper range of delays which are uniformly sampled, in nanoseconds. Default is -20 ns to +20 ns.

  • bp_poly – Either an array of polynomial coefficients, a callable object that provides the bandpass amplitude as a function of frequency (in GHz), or a string providing a path to a file that can be read into an interpolation object. By default, the HERA Phase One bandpass is used.

  • taper – Taper to apply to the simulated gains. Default is to not apply a taper.

  • taper_kwds – Keyword arguments used in generating the taper.

  • rng – Random number generator.

Methods

__call__(freqs, ants, **kwargs)

Generate the bandpass.

get_aliases()

Get all the aliases by which this model can be identified.

get_model(mdl)

Get a model with a particular name (including aliases).

get_models([with_aliases])

Get a dictionary of models associated with this component.

Attributes

attrs_to_pull

Mapping between parameter names and Simulator attributes

is_multiplicative

Whether this systematic multiplies existing visibilities

is_randomized

Whether this systematic contains a randomized component

return_type

Whether the returned value is per-antenna, per-baseline, or the full array