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)
Model for the LISA Constellation
This includes sensitivity information computed in
lisatools.sensitivity
and orbital information contained in anOrbits
class object.This class is used to house high-level methods useful to various needed computations.
- class lisatools.detector.LISAModelSettings(Soms_d: float, Sa_a: float, orbits: Orbits, name: str)
Bases:
object
Required LISA model settings:
- Parameters:
Soms_d – OMS displacement noise.
Sa_a – Acceleration noise.
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, use_gpu: bool = False, armlength: float | None = 2500000000.0, **kwargs)
Bases:
LISAToolsParallelModule
,ABC
LISA Orbit Base Class
- Parameters:
filename – File name. File should be in the style of LISAOrbits
use_gpu – If
True
, use a gpu.armlength – Armlength of detector.
- 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.