Detector Information
The detector information contains the sensitivity and orbits for a given LISA configuration.
LISA Models
- class lisatools.detector.LISAModel(Soms_d: float, Sa_a: float, orbits: Orbits, name: str)
Bases:
LISAModelSettings,ABCModel for the LISA Constellation
This includes sensitivity information computed in
lisatools.sensitivityand orbital information contained in anOrbitsclass object.This class is used to house high-level methods useful to various needed computations.
- lisanoises(f: float | ndarray, unit: str | None = 'relative_frequency') CurrentNoises
Calculate both LISA noise terms based on input model. :param f: Frequency array. :param unit: Either
"relative_frequency"or"displacement".- Returns:
Current noise values at
f.
- class lisatools.detector.LISAModelSettings(Soms_d: float, Sa_a: float, orbits: Orbits, name: str)
Bases:
objectRequired LISA model settings:
- Parameters:
Soms_d – OMS displacement noise.
Sa_a – Acceleration noise.
orbits – Orbital information.
name – Name of model.
- class lisatools.detector.ExtendedLISAModel(isi_oms_level: float, rfi_oms_level: float, tmi_oms_level: float, tm_noise_level: float, rfi_backlink_noise_level: float, tmi_backlink_noise_level: float, orbits: Orbits, name: str)
Bases:
ExtendedLISAModelSettings,ABCModel for the LISA Constellation
This includes sensitivity information computed in
lisatools.sensitivityand orbital information contained in anOrbitsclass object.This class is used to house high-level methods useful to various needed computations.
- lisanoises(f: float | ndarray, unit: str | None = 'relative_frequency', method: str | None = 'modern') CurrentNoises
Calculate both LISA noise terms based on input model. :param f: Frequency array. :param unit: Either
"relative_frequency"or"displacement".- Returns:
Tuple with acceleration term as first value and oms term as second value.
- class lisatools.detector.ExtendedLISAModelSettings(isi_oms_level: float, rfi_oms_level: float, tmi_oms_level: float, tm_noise_level: float, rfi_backlink_noise_level: float, tmi_backlink_noise_level: float, orbits: Orbits, name: str)
Bases:
objectRequired Extended LISA model settings:
- Parameters:
isi_oms_noise – Interspacecraft OMS noise level.
rfi_oms_noise – Reference interferometer OMS noise level.
tmi_oms_noise – Test-mass interferometer OMS noise level.
tm_noise – Test-mass acceleration noise level.
rfi_backlink_noise – Reference interferometer backlink noise level.
tmi_backlink_noise – Test-mass interferometer backlink noise level.
orbits – Orbital information.
name – Name of model.
LISA Models Stock Options
- lisatools.detector.get_available_default_lisa_models() List[LISAModel]
Get list of default LISA models
- Returns:
List of LISA models.
Orbits
- class lisatools.detector.Orbits(filename: str, armlength: float | None = 2500000000.0, force_backend: str | None = None, **kwargs)
Bases:
LISAToolsParallelModule,ABCLISA Orbit Base Class
- Parameters:
filename – File name. File should be in the style of LISAOrbits
armlength – Armlength of detector.
force_backend – If
gpuorcuda, use a gpu.
- property xp
numpy or cupy based on self.use_gpu
- property armlength: float
Armlength parameter.
- property LINKS: List[int]
Link order.
- property SC: List[int]
Spacecraft order.
- property link_space_craft_r: List[int]
Receiver (first) spacecraft
- property link_space_craft_e: List[int]
Sender (second) spacecraft
- property filename: str
Orbit file name.
- open() File
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: ndarray | None = None, dt: float | None = None, linear_interp_setup: bool | None = False) None
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 – New time array.
dt – New time step. Will take the time duration to be that of the input data.
linear_interp_setup – If
True, it will create a dense grid designed for linear interpolation with a constant time step.
- property dt: float
new time step if it exists
- property pycppdetector: object
C++ class
- property pycppdetector_args: tuple
args for the c++ class.
- property size: int
Number of time points.
- get_light_travel_times(t: float | ndarray, link: int | ndarray) float | ndarray
Compute light travel time as a function of time.
Computes with the c++ backend.
- Parameters:
t – Time array in seconds.
link – which link. Must be
in self.LINKS.
- Returns:
Light travel times.
- get_pos(t: float | ndarray, sc: int | ndarray) ndarray
Compute light travel time as a function of time.
Computes with the c++ backend.
- Parameters:
t – Time array in seconds.
sc – which spacecraft. Must be
in self.SC.
- Returns:
Position of spacecraft.
- get_normal_unit_vec(t: float | ndarray, link: int | ndarray) ndarray
Compute link normal vector as a function of time.
Computes with the c++ backend.
- Parameters:
t – Time array in seconds.
link – which link. Must be
in self.LINKS.
- Returns:
Link normal vectors.
- property ptr: int
pointer to c++ class
- classmethod supported_backends()
List of backends supported by a parallel module by order of preference.