hera_sim.rfi.RFI

class hera_sim.rfi.RFI(**kwargs)[source]

Base class for RFI models.

This is an abstract class, and should not be directly instantiated. It represents a “component” – a modular part of a simulation for which several models may be defined. Models for this component may be defined by subclassing this abstract base class and implementing (at least) the __call__() method. Some of these are implemented within hera_sim already, but custom models may be implemented outside of hera_sim, and used on equal footing with the the internal models (as long as they subclass this abstract component).

As with all components, all parameters that define the behaviour of the model are accepted at class instantiation. The __call__() method actually computes the simulated effect of the component (typically, but not always, a set of visibilities or gains), by default using these parameters. However, these parameters can be over-ridden at call-time. Inputs such as the frequencies, times or baselines at which to compute the effect are specific to the call, and do not get passed at instantiation.

Methods

__call__(**kwargs)

Compute the component model.

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