How to use the detgeom package

Overview

The detgeom package contains matlab routines which define and manipulate the geometry of Earth-based gravitational wave (GW) detectors. The functions take as arguments human-readable quantities such as locations specified by latitude and longitude in decimal degrees and height in meters above a reference ellipsoid (the WGS-84 Earth model), or orientations specified by azimuth (decimal degrees clockwise of local North) and an optional altitude (tilt) angle in decimal degrees. Major existing earth-based GW detectors are pre-defined. Internally, the geometry is manipulated via geographical structures which contain angles (latitude, longitude, azimuth, etc) in radians, as well as geometrical structures which describe the detector via a position vector and response tensor in Cartesian coördinates.

The routines were designed for use in stochastic analysis, and a routine is included to calculate the overlap reduction function from a pair of suitable detector structures, but they could also be useful for other searches. The detector response tensors included here can be contracted with polarization tensors to describe the response of a given detector to a given GW signal,

Examples

To produce a semilog plot of the overlap reduction function between LIGO Hanford and GEO-600

definedetectors method

definedetectors;
flog=10.^((0:400)./100);
gamma=overlapreductionfunction(flog,detector_LHO.det,detector_GEO600.det);
semilogx(flog,gamma);

getdetector method

flog=10.^((0:400)./100);
gamma=overlapreductionfunction(flog,getdetector('H'),getdetector('G'));
semilogx(flog,gamma);

To produce a plot of the overlap reduction function between Virgo and AURIGA (standard IGEC orientation)

definedetectors method

definedetectors;
f=(0:2000);
gamma=overlapreductionfunction(f,detector_VIRGO.det,detector_AURIGA.IGECdet);
plot(f,gamma);

getdetector method

f=(0:2000);
gamma=overlapreductionfunction(f,getdetector('VIRGO'),getdetector('AURIGA'));
plot(f,gamma);

To calculate the overlap reduction function for LIGO Livingston with ALLEGRO (oriented due East)

definedetectors method

definedetectors;
f=907+(-125:124);
eastAxis = createorientation(90);
ALLEGRO_east = buildbardetector(detector_ALLEGRO.loc,eastAxis);
gamma=overlapreductionfunction(f,detector_LLO.det,ALLEGRO_east);

getdetector method

f=907+(-125:124);
gamma=overlapreductionfunction(f,getdetector('LLO'),getdetector('ALLEGRO',90));

Routines

The package consists of a number of functions which manipulate detector geometry structures, and one script (definedetectors) which populates geometry structures corresponding to the five large-scale ground-based interferometers and the five IGEC (International Gravitational Event Collaboration) resonant bar detectors.

The functions are as follows.

Function Inputs Outputs Calls Synopsis
overlapreductionfunction f {vector of Hertz}
det1 {detector}
det2 {detector}
gamma {vector of dimensionless} sphericalbessel Calculate overlap reduction function between two detectors
sphericalbessel n {dimensionless}
z {vector of dimensionless}
y {vector of dimensionless} Calculate spherical Bessel functions
getdetector site {keyword or character}
azDeg {degrees}
detector {detector} getsitefromletter
createlocation
createorientation
buildifodetector
buildbardetector
Construct detector geometry structure for major detector
getsitefromletter site {character} site {keyword} Convert one-letter abbreviation to standard keyword for standard detector.
buildifodetector loc {location}
xarm {orientation}
yarm {orientation}
detector {detector} getcartesianposition
getiforesponse
Build Cartesian structure describing IFO geometry
buildbardetector loc {location}
axis {orientation}
detector {detector} getcartesianposition
getbarresponse
Build Cartesian structure describing bar geometry
getcartesianposition loc {location} r {[3x1] meters} Construct Cartesian position vector from geographic coordinates
getiforesponse loc {location}
xarm {orientation}
yarm {orientation}
d {[3x3] dimensionless} getcartesiandirection Construct Cartesian response tensor from geographic coordinates & IFO arm orientations
getbarresponse loc {location}
axis {orientation}
d {[3x3] dimensionless} getcartesiandirection Construct Cartesian response tensor from geographic coordinates & bar orientation
getcartesiandirection ori {orientation}
loc {location}
u {[3x1] dimensionless} Construct Cartesian unit vector from Earth-based orientation
createdetector r {[3x1] meters}
d {[3x3] dimensionless}
detector {detector} Create Cartesian detector structure from position and response
createlocation latDeg {degrees}
lonDeg {degrees}
h {meters}
loc {location} Create geodetic location structure (converting angles from degrees to radians)
createorientation azDeg {degrees}
altDeg {degrees}
orient {orientation} Create orientation structure (converting angles from degrees to radians)

Structures

The following structures are used by the routines in this package and passed between them as inputs and outputs.

detector

Fields

    r: [3x1 double{meters}]
    d: [3x3 double{dimensionless}]

Synopsis

The position vector and response tensor of a GW detector, in an Earth-fixed right-handed Cartesian coördinate system. The origin is at the center of the Earth, the z axis passes through the North Pole, and the x axis passes through the intersection of the Equator and the Prime Meridian. The response tensor can be contracted with a metric perturbation to give the GW strain measured in that detector.

location

Fields

       lat: {floating pt radians}
       lon: {floating pt radians}
    height: {floating pt meters}

Synopsis

A geographical location on the surface of the earth, specified by latitude, longitude, and height above the WGS-84 reference ellipsoid. (See LIGO Technical Document T980044 for details on the ellipsoidal coördinate system used.)

orientation

Fields

       az: {floating pt radians}
      alt: {floating pt radians}

Synopsis

A direction relative to the tangent plane to the WGS-84 reference ellipsoid (see LIGO Technical Document T980044 for details), specified by an azimuth angle measured clockwise from North, and an altitude (tilt) angle above the horizon.

bardetector

Fields

         loc: [1x1 struct{location}]
    IGECaxis: [1x1 struct{orientation}]
     IGECdet: [1x1 struct{detector}]

Synopsis

The observing geometry for a resonant bar GW detector. The loc field specifies its position on the Earth; the IGECaxis field specifies the orientation of its long axis when nearly parallel to the other IGEC bars; the IGECdet field gives the Cartesian detector geometry in this orientation.

ifodetector

Fields

     loc: [1x1 struct{location}]
    xarm: [1x1 struct{orientation}]
    yarm: [1x1 struct{orientation}]
     det: [1x1 struct{detector}]

Synopsis

The observing geometry for an interferometric GW detector. The loc field specifies its position on the Earth; the xarm and yarm fields specify the orientations of its arms; the det field gives the Cartesian detector geometry.


John T. Whelan / jtwhelan@loyno.edu

HTML 4.0 compliant