exorad.models.instruments.instrument module

class Instrument(name, description, payload=None)[source]

Bases: Logger

Abstract Instrument class. Contains the basic function that every instrument needs.

Parameters:
  • name (str) – instrument name

  • description (dict) – instrument description dictionary

  • payload (dict) – main payload. Default is None

Variables:
  • name (str) – instrument name

  • description (dict) – instrument description dictionary

  • payload (dict) – main payload. Default is None

  • table (QTable) – contain the output grid for the instrument

  • built_instr (dict) – contains the instrument parameters needed to propagate the signal

Raises:

ValueError: – if you try to build a loaded payload.

build()[source]

check if it can build the instrument and populate the output table and dict. Then run the builder

build_optical_path()[source]

it builds the instrument optical path

abstract builder()[source]

build the instrument and populate the output table and dict

load(table, built_instr)[source]

it loads the instrument parameters already processed from a file

propagate_diffuse_foreground(target)[source]

propagate diffuse foreground sources, starting from zodiacal background

abstract propagate_target(target)[source]

propagates the target light through the instrument

write(output)[source]

it writes the instrument parameters already processed from a file