LAL  7.5.0.1-bede9b2
lal.antenna.AntennaResponse Class Reference

Detailed Description

Definition at line 174 of file antenna.py.

Inherits object.

Public Member Functions

def __init__ (self, detector, ra, dec, psi=0., times=None, tensor=True, vector=False, scalar=False, use_lal=False, lookup=False, lookuppair=None, bins1=100, bins2=100)
 Calculate the long-wavelength limit antenna response functions for a given ground-based gravitational wave detector. More...
 
def detector (self)
 
def detector (self, det)
 Set the detector for which to calculate the antenna response. More...
 
def laldetector (self)
 
def laldetector (self, det)
 Set the lal.Detector. More...
 
def ra (self)
 
def ra (self, raval)
 Set the right ascension. More...
 
def dec (self)
 
def costheta (self)
 
def sintheta (self)
 
def dec (self, decval)
 Set the declination. More...
 
def psi (self)
 
def cospsi (self)
 
def sinpsi (self)
 
def psi (self, psival)
 Set the value of the gravitational wave polarization angle psi. More...
 
def times (self)
 
def gmsttimes (self)
 
def times (self, timearr)
 Set array of times and GPS times. More...
 
def shape (self)
 
def cosphi (self)
 
def sinphi (self)
 
def tensor (self)
 
def tensor (self, tensorval)
 Set whether to include tensor polarizations. More...
 
def vector (self)
 
def vector (self, vectorval)
 Set whether to include vector polarizations. More...
 
def scalar (self)
 
def scalar (self, scalarval)
 Set whether to include scalar polarizations. More...
 
def use_lal (self)
 
def use_lal (self, val)
 Set whether to use LAL antenna response functions. More...
 
def lookup_pair (self)
 
def lookup_pair (self, pair)
 
def set_lookup_pair (self, pair=['psi', 'time'], bins1=100, bins2=100)
 Set the pair of parameters to use for the look-up table. More...
 
def bins1 (self)
 
def array1 (self)
 
def bins2 (self)
 
def array2 (self)
 
def lookup (self)
 
def lookup (self, val)
 Set the 2d look-up table. More...
 
def plus (self)
 
def tensor_plus (self)
 
def plus (self, resp)
 
def cross (self)
 
def tensor_cross (self)
 
def cross (self, resp)
 
def x (self)
 
def vector_x (self)
 
def x (self, resp)
 
def y (self)
 
def vector_y (self)
 
def y (self, resp)
 
def b (self)
 
def scalar_b (self)
 
def b (self, resp)
 
def l (self)
 
def scalar_l (self)
 
def l (self, resp)
 
def ra_mesh (self)
 
def ra_mesh (self, val)
 
def time_mesh (self)
 
def time_mesh (self, val)
 
def dec_mesh (self)
 
def dec_mesh (self, val)
 
def psi_mesh (self)
 
def psi_mesh (self, val)
 
def compute_response (self, times=None)
 Compute the detector response. More...
 
def __len__ (self)
 
def __call__ (self, times, ra=None, dec=None, psi=None, detector=None)
 Return the antenna response function as a dictionary. More...
 

Data Fields

 response
 
 parameters
 
 detector
 
 ra
 
 dec
 
 psi
 
 times
 
 tensor
 
 vector
 
 scalar
 
 use_lal
 
 lookup
 
 laldetector
 
 lookup_pair
 
 ra_mesh
 
 time_mesh
 
 dec_mesh
 
 psi_mesh
 
 plus
 
 cross
 
 x
 
 y
 
 b
 
 l
 

Constructor & Destructor Documentation

◆ __init__()

def lal.antenna.AntennaResponse.__init__ (   self,
  detector,
  ra,
  dec,
  psi = 0.,
  times = None,
  tensor = True,
  vector = False,
  scalar = False,
  use_lal = False,
  lookup = False,
  lookuppair = None,
  bins1 = 100,
  bins2 = 100 
)

Calculate the long-wavelength limit antenna response functions for a given ground-based gravitational wave detector.

The response can include tensor, vector, and scalar modes.

Parameters
detector(str) a valid detector name (e.g., 'H1') or lal.Detector object.
ra(array_like) the right ascension of the source in radians, or a string of the format 'hh:mm:ss.s'.
dec(array_like) the declination of the source in radians, or a string of the format 'dd:mm:ss.s'.
psi(array_like) the polarization angle in radians. Defaults to zero.
times(array_like) an array of GPS time values at which to calculate the response function.
tensor(bool) set to calculate and store the tensor polarization components (plus and cross). Defaults to True.
vector(bool) set to calculate and store the vector polarization components ("x" and "y"). Defaults to False.
scalar(bool) set to calculate and store the scalar polarization components (longitudinal and breathing). Defaults to False.
use_lal(bool) set to internally use the XLALComputeDetAMResponse() and XLALComputeDetAMResponseExtraModes() functions. Defaults to False.
lookup(bool) set to generate and use a look-up table in a pair of parameters for computing the antenna responses. Defaults to False. If using the look-up table, the arrays of values being "looked-up" must be in ascending order.
lookuppair(list, tuple) a list of the two parameters that will be used in the look-up table interpolation. Defaults to ['psi', 'time'] (allowed values are 'ra', 'dec', 'psi', or 'time')
bins1(int) the number of bins in the grid in the first look-up table parameter. Defaults to 100.
bins2(int) the number of bins in the grid in the second look-up table parameter. Defaults to 100.

Example usage for tensor polarizations:

>>> from lal.antenna import AntennaResponse
>>> # compute tensor response for a single time
>>> resp = AntennaResponse('H1', ra=1.2, dec=-0.3, psi=2.9,
...times=1000000000)
>>> print('Fplus: {}'.format(resp.plus))
Fplus: [0.32427018]
>>> print('Fcross: {}'.format(resp.cross))
Fcross: [-0.79809163]
>>> # re-use class to get response at multiple new times
>>> resp.compute_response([1010101010., 1234567890.])
>>> print('Fplus: {}'.format(resp.plus))
Fplus: [ 0.09498567 -0.45495654]
>>> print('Fcross: {}'.format(resp.cross))
Fcross: [0.1706959 0.21690418]

Example usage for tensor, vector and scalar polarizations (at a series of times):

>>> import numpy as np
>>> times = np.linspace(1000000000.0, 1000086340.0, 1440)
>>> resp = AntennaResponse('H1', ra=1.2, dec=-0.3, psi=2.9,
...scalar=True, vector=True, times=times)
>>> resp.plus
array([0.32427018, 0.32805983, 0.3318344 , ..., 0.32780195, 0.33157755,
0.33533786])
>>> resp.cross
array([-0.79809163, -0.79607858, -0.79404097, ..., -0.7962166 ,
-0.79418066, -0.79212028])
>>> resp.x # vector "x" polarization
array([-0.46915186, -0.46773594, -0.46627224, ..., -0.46783399,
-0.46637354, -0.46486538])
>>> resp.y # vector "y" polarization
array([-0.17075718, -0.17475991, -0.17875012, ..., -0.17448742,
-0.17847849, -0.18245689])
>>> resp.b # scalar "breathing" mode
array([0.05365678, 0.05573073, 0.05780282, ..., 0.05558939, 0.05766162,
0.05973181])
>>> resp.l # scalar "longitudinal mode"
array([-0.05365678, -0.05573073, -0.05780282, ..., -0.05558939,
-0.05766162, -0.05973181])

Definition at line 258 of file antenna.py.

Member Function Documentation

◆ detector() [1/2]

def lal.antenna.AntennaResponse.detector (   self)

Definition at line 300 of file antenna.py.

◆ detector() [2/2]

def lal.antenna.AntennaResponse.detector (   self,
  det 
)

Set the detector for which to calculate the antenna response.

Parameters
det(str) a valid detector name.

Definition at line 309 of file antenna.py.

◆ laldetector() [1/2]

def lal.antenna.AntennaResponse.laldetector (   self)

Definition at line 326 of file antenna.py.

◆ laldetector() [2/2]

def lal.antenna.AntennaResponse.laldetector (   self,
  det 
)

Set the lal.Detector.

Parameters
det(str) a valid detector name.

Definition at line 335 of file antenna.py.

◆ ra() [1/2]

def lal.antenna.AntennaResponse.ra (   self)

Definition at line 350 of file antenna.py.

◆ ra() [2/2]

def lal.antenna.AntennaResponse.ra (   self,
  raval 
)

Set the right ascension.

Definition at line 357 of file antenna.py.

◆ dec() [1/2]

def lal.antenna.AntennaResponse.dec (   self)

Definition at line 377 of file antenna.py.

◆ costheta()

def lal.antenna.AntennaResponse.costheta (   self)

Definition at line 381 of file antenna.py.

◆ sintheta()

def lal.antenna.AntennaResponse.sintheta (   self)

Definition at line 385 of file antenna.py.

◆ dec() [2/2]

def lal.antenna.AntennaResponse.dec (   self,
  decval 
)

Set the declination.

Definition at line 392 of file antenna.py.

◆ psi() [1/2]

def lal.antenna.AntennaResponse.psi (   self)

Definition at line 417 of file antenna.py.

◆ cospsi()

def lal.antenna.AntennaResponse.cospsi (   self)

Definition at line 421 of file antenna.py.

◆ sinpsi()

def lal.antenna.AntennaResponse.sinpsi (   self)

Definition at line 425 of file antenna.py.

◆ psi() [2/2]

def lal.antenna.AntennaResponse.psi (   self,
  psival 
)

Set the value of the gravitational wave polarization angle psi.

Parameters
psival(float) the polarization angle (radians)

Definition at line 434 of file antenna.py.

◆ times() [1/2]

def lal.antenna.AntennaResponse.times (   self)

Definition at line 453 of file antenna.py.

◆ gmsttimes()

def lal.antenna.AntennaResponse.gmsttimes (   self)

Definition at line 457 of file antenna.py.

◆ times() [2/2]

def lal.antenna.AntennaResponse.times (   self,
  timearr 
)

Set array of times and GPS times.

Definition at line 467 of file antenna.py.

◆ shape()

def lal.antenna.AntennaResponse.shape (   self)

Definition at line 489 of file antenna.py.

◆ cosphi()

def lal.antenna.AntennaResponse.cosphi (   self)

Definition at line 501 of file antenna.py.

◆ sinphi()

def lal.antenna.AntennaResponse.sinphi (   self)

Definition at line 505 of file antenna.py.

◆ tensor() [1/2]

def lal.antenna.AntennaResponse.tensor (   self)

Definition at line 509 of file antenna.py.

◆ tensor() [2/2]

def lal.antenna.AntennaResponse.tensor (   self,
  tensorval 
)

Set whether to include tensor polarizations.

Definition at line 516 of file antenna.py.

◆ vector() [1/2]

def lal.antenna.AntennaResponse.vector (   self)

Definition at line 524 of file antenna.py.

◆ vector() [2/2]

def lal.antenna.AntennaResponse.vector (   self,
  vectorval 
)

Set whether to include vector polarizations.

Definition at line 531 of file antenna.py.

◆ scalar() [1/2]

def lal.antenna.AntennaResponse.scalar (   self)

Definition at line 539 of file antenna.py.

◆ scalar() [2/2]

def lal.antenna.AntennaResponse.scalar (   self,
  scalarval 
)

Set whether to include scalar polarizations.

Definition at line 546 of file antenna.py.

◆ use_lal() [1/2]

def lal.antenna.AntennaResponse.use_lal (   self)

Definition at line 554 of file antenna.py.

◆ use_lal() [2/2]

def lal.antenna.AntennaResponse.use_lal (   self,
  val 
)

Set whether to use LAL antenna response functions.

Definition at line 561 of file antenna.py.

◆ lookup_pair() [1/2]

def lal.antenna.AntennaResponse.lookup_pair (   self)

Definition at line 569 of file antenna.py.

◆ lookup_pair() [2/2]

def lal.antenna.AntennaResponse.lookup_pair (   self,
  pair 
)

Definition at line 573 of file antenna.py.

◆ set_lookup_pair()

def lal.antenna.AntennaResponse.set_lookup_pair (   self,
  pair = ['psi', 'time'],
  bins1 = 100,
  bins2 = 100 
)

Set the pair of parameters to use for the look-up table.

Definition at line 600 of file antenna.py.

◆ bins1()

def lal.antenna.AntennaResponse.bins1 (   self)

Definition at line 628 of file antenna.py.

◆ array1()

def lal.antenna.AntennaResponse.array1 (   self)

Definition at line 632 of file antenna.py.

◆ bins2()

def lal.antenna.AntennaResponse.bins2 (   self)

Definition at line 636 of file antenna.py.

◆ array2()

def lal.antenna.AntennaResponse.array2 (   self)

Definition at line 640 of file antenna.py.

◆ lookup() [1/2]

def lal.antenna.AntennaResponse.lookup (   self)

Definition at line 644 of file antenna.py.

◆ lookup() [2/2]

def lal.antenna.AntennaResponse.lookup (   self,
  val 
)

Set the 2d look-up table.

Definition at line 651 of file antenna.py.

◆ plus() [1/2]

def lal.antenna.AntennaResponse.plus (   self)

Definition at line 763 of file antenna.py.

◆ tensor_plus()

def lal.antenna.AntennaResponse.tensor_plus (   self)

Definition at line 767 of file antenna.py.

◆ plus() [2/2]

def lal.antenna.AntennaResponse.plus (   self,
  resp 
)

Definition at line 771 of file antenna.py.

◆ cross() [1/2]

def lal.antenna.AntennaResponse.cross (   self)

Definition at line 776 of file antenna.py.

◆ tensor_cross()

def lal.antenna.AntennaResponse.tensor_cross (   self)

Definition at line 780 of file antenna.py.

◆ cross() [2/2]

def lal.antenna.AntennaResponse.cross (   self,
  resp 
)

Definition at line 784 of file antenna.py.

◆ x() [1/2]

def lal.antenna.AntennaResponse.x (   self)

Definition at line 789 of file antenna.py.

◆ vector_x()

def lal.antenna.AntennaResponse.vector_x (   self)

Definition at line 793 of file antenna.py.

◆ x() [2/2]

def lal.antenna.AntennaResponse.x (   self,
  resp 
)

Definition at line 797 of file antenna.py.

◆ y() [1/2]

def lal.antenna.AntennaResponse.y (   self)

Definition at line 802 of file antenna.py.

◆ vector_y()

def lal.antenna.AntennaResponse.vector_y (   self)

Definition at line 806 of file antenna.py.

◆ y() [2/2]

def lal.antenna.AntennaResponse.y (   self,
  resp 
)

Definition at line 810 of file antenna.py.

◆ b() [1/2]

def lal.antenna.AntennaResponse.b (   self)

Definition at line 815 of file antenna.py.

◆ scalar_b()

def lal.antenna.AntennaResponse.scalar_b (   self)

Definition at line 819 of file antenna.py.

◆ b() [2/2]

def lal.antenna.AntennaResponse.b (   self,
  resp 
)

Definition at line 823 of file antenna.py.

◆ l() [1/2]

def lal.antenna.AntennaResponse.l (   self)

Definition at line 828 of file antenna.py.

◆ scalar_l()

def lal.antenna.AntennaResponse.scalar_l (   self)

Definition at line 832 of file antenna.py.

◆ l() [2/2]

def lal.antenna.AntennaResponse.l (   self,
  resp 
)

Definition at line 836 of file antenna.py.

◆ ra_mesh() [1/2]

def lal.antenna.AntennaResponse.ra_mesh (   self)

Definition at line 862 of file antenna.py.

◆ ra_mesh() [2/2]

def lal.antenna.AntennaResponse.ra_mesh (   self,
  val 
)

Definition at line 866 of file antenna.py.

◆ time_mesh() [1/2]

def lal.antenna.AntennaResponse.time_mesh (   self)

Definition at line 882 of file antenna.py.

◆ time_mesh() [2/2]

def lal.antenna.AntennaResponse.time_mesh (   self,
  val 
)

Definition at line 886 of file antenna.py.

◆ dec_mesh() [1/2]

def lal.antenna.AntennaResponse.dec_mesh (   self)

Definition at line 902 of file antenna.py.

◆ dec_mesh() [2/2]

def lal.antenna.AntennaResponse.dec_mesh (   self,
  val 
)

Definition at line 906 of file antenna.py.

◆ psi_mesh() [1/2]

def lal.antenna.AntennaResponse.psi_mesh (   self)

Definition at line 917 of file antenna.py.

◆ psi_mesh() [2/2]

def lal.antenna.AntennaResponse.psi_mesh (   self,
  val 
)

Definition at line 921 of file antenna.py.

◆ compute_response()

def lal.antenna.AntennaResponse.compute_response (   self,
  times = None 
)

Compute the detector response.

Parameters
times(array_like) an array of GPS times at which to compute the response function. If not set the times set at initialization of the class, or using the times property.

Definition at line 938 of file antenna.py.

◆ __len__()

def lal.antenna.AntennaResponse.__len__ (   self)

Definition at line 1173 of file antenna.py.

◆ __call__()

def lal.antenna.AntennaResponse.__call__ (   self,
  times,
  ra = None,
  dec = None,
  psi = None,
  detector = None 
)

Return the antenna response function as a dictionary.

Definition at line 1179 of file antenna.py.

Field Documentation

◆ response

lal.antenna.AntennaResponse.response

Definition at line 263 of file antenna.py.

◆ parameters

lal.antenna.AntennaResponse.parameters

Definition at line 271 of file antenna.py.

◆ detector

lal.antenna.AntennaResponse.detector

Definition at line 274 of file antenna.py.

◆ ra

lal.antenna.AntennaResponse.ra

Definition at line 275 of file antenna.py.

◆ dec

lal.antenna.AntennaResponse.dec

Definition at line 276 of file antenna.py.

◆ psi

lal.antenna.AntennaResponse.psi

Definition at line 277 of file antenna.py.

◆ times

lal.antenna.AntennaResponse.times

Definition at line 278 of file antenna.py.

◆ tensor

lal.antenna.AntennaResponse.tensor

Definition at line 281 of file antenna.py.

◆ vector

lal.antenna.AntennaResponse.vector

Definition at line 282 of file antenna.py.

◆ scalar

lal.antenna.AntennaResponse.scalar

Definition at line 283 of file antenna.py.

◆ use_lal

lal.antenna.AntennaResponse.use_lal

Definition at line 286 of file antenna.py.

◆ lookup

lal.antenna.AntennaResponse.lookup

Definition at line 294 of file antenna.py.

◆ laldetector

lal.antenna.AntennaResponse.laldetector

Definition at line 313 of file antenna.py.

◆ lookup_pair

lal.antenna.AntennaResponse.lookup_pair

Definition at line 602 of file antenna.py.

◆ ra_mesh

lal.antenna.AntennaResponse.ra_mesh

Definition at line 856 of file antenna.py.

◆ time_mesh

lal.antenna.AntennaResponse.time_mesh

Definition at line 857 of file antenna.py.

◆ dec_mesh

lal.antenna.AntennaResponse.dec_mesh

Definition at line 858 of file antenna.py.

◆ psi_mesh

lal.antenna.AntennaResponse.psi_mesh

Definition at line 859 of file antenna.py.

◆ plus

lal.antenna.AntennaResponse.plus

Definition at line 985 of file antenna.py.

◆ cross

lal.antenna.AntennaResponse.cross

Definition at line 986 of file antenna.py.

◆ x

lal.antenna.AntennaResponse.x

Definition at line 1000 of file antenna.py.

◆ y

lal.antenna.AntennaResponse.y

Definition at line 1001 of file antenna.py.

◆ b

lal.antenna.AntennaResponse.b

Definition at line 1006 of file antenna.py.

◆ l

lal.antenna.AntennaResponse.l

Definition at line 1007 of file antenna.py.