Detector Information

The detector information contains the sensitivity and orbits for a given LISA configuration.

LISA Models

class lisatools.detector.LISAModel(Soms_d, Sa_a, orbits, name)[source]

Model for the LISA Constellation

This includes sensitivity information computed in lisatools.sensitivity and orbital information contained in an Orbits class object.

This class is used to house high-level methods useful to various needed computations.

class lisatools.detector.LISAModelSettings(Soms_d, Sa_a, orbits, name)[source]

Bases: object

Required LISA model settings:

Parameters:
  • Soms_d (float) – OMS displacement noise.

  • Sa_a (float) – Acceleration noise.

  • orbits (Orbits) – Orbital information.

  • name (str) – Name of model.

Soms_d: float
Sa_a: float
orbits: Orbits
name: str

LISA Models Stock Options

lisatools.detector.get_available_default_lisa_models()[source]

Get list of default LISA models

Return type:

List[LISAModel]

Returns:

List of LISA models.

lisatools.detector.get_default_lisa_model_from_str(model)[source]

Return a LISA model from a str input.

Parameters:

model (str) – Model indicated with a str.

Return type:

LISAModel

Returns:

LISA model associated to that str.

lisatools.detector.check_lisa_model(model)[source]

Check input LISA model.

Parameters:

model (Any) – LISA model to check.

Return type:

LISAModel

Returns:

LISA Model checked. Adjusted from str if str input.

Orbits

class lisatools.detector.Orbits(filename, use_gpu=False, armlength=2500000000.0)[source]

Bases: ABC

LISA Orbit Base Class

Parameters:
  • filename (str) – File name. File should be in the style of LISAOrbits

  • use_gpu (bool, default: False) – If True, use a gpu.

  • armlength (Optional[float], default: 2500000000.0) – Armlength of detector.

property xp

numpy or cupy based on self.use_gpu

property armlength: float

Armlength parameter.

Link order.

property SC: List[int]

Spacecraft order.

Receiver (first) spacecraft

Sender (second) spacecraft

property filename: str

Orbit file name.

open()[source]

Opens the h5 file in the proper mode.

Returns:

Opened file.

Return type:

H5 file object

Raises:

RuntimeError – If backend is opened for writing when it is read-only.

property t_base: ndarray

Time array from file.

property ltt_base: ndarray

Light travel times along links from file.

property n_base: ndarray

Normal unit vectors towards receiver along links from file.

property x_base: ndarray

Spacecraft position from file.

property v_base: ndarray

Spacecraft velocities from file.

property t: ndarray

Configured time array.

property ltt: ndarray

Light travel time.

property n: ndarray

Normal vectors along links.

property x: ndarray

Spacecraft positions.

property v: ndarray

Spacecraft velocities.

configure(t_arr=None, dt=None, linear_interp_setup=False)[source]

Configure the orbits to match the signal response generator time basis.

The base orbits will be scaled up or down as needed using Cubic Spline interpolation. The higherarchy of consideration to each keyword argument if multiple are given: linear_interp_setup, t_arr, dt.

If nothing is provided, the base points are used.

Parameters:
  • t_arr (Optional[ndarray], default: None) – New time array.

  • dt (Optional[float], default: None) – New time step. Will take the time duration to be that of the input data.

  • linear_interp_setup (Optional[bool], default: False) – If True, it will create a dense grid designed for linear interpolation with a constant time step.

Return type:

None

property dt: float

new time step if it exists

property pycppdetector: pycppDetector | None

C++ class

property pycppdetector_args: tuple

args for the c++ class.

property size: int

Number of time points.

get_light_travel_times(t, link)[source]

Compute light travel time as a function of time.

Computes with the c++ backend.

Parameters:
  • t (float | ndarray) – Time array in seconds.

  • link (int | ndarray) – which link. Must be in self.LINKS.

Return type:

float | ndarray

Returns:

Light travel times.

get_pos(t, sc)[source]

Compute light travel time as a function of time.

Computes with the c++ backend.

Parameters:
  • t (float | ndarray) – Time array in seconds.

  • sc (int | ndarray) – which spacecraft. Must be in self.SC.

Return type:

ndarray

Returns:

Position of spacecraft.

get_normal_unit_vec(t, link)[source]

Compute link normal vector as a function of time.

Computes with the c++ backend.

Parameters:
  • t (float | ndarray) – Time array in seconds.

  • link (int | ndarray) – which link. Must be in self.LINKS.

Return type:

ndarray

Returns:

Link normal vectors.

property ptr: int

pointer to c++ class

Stock Orbit Options

class lisatools.detector.EqualArmlengthOrbits(*args, **kwargs)[source]

Bases: Orbits

Equal Armlength Orbits

Orbit file: equalarmlength-orbits.h5

Parameters:
class lisatools.detector.ESAOrbits(*args, **kwargs)[source]

Bases: Orbits

ESA Orbits

Orbit file: esa-trailing-orbits.h5

Parameters:
  • *args – Arguments for Orbits.

  • **kwargs – Kwargs for Orbits.