Pulse Times of Arrival (TOAs)
The TOA is the fundamental measurable quantity in conventional pulsar timing. They are measured my folding the time series observations using a known pulsar ephemeris, and then matching the resulting integrated pulse profile against a template. This procedure produces a TOA measurement (usually expressed as an MJD measured against the observatory clock) along with an uncertainty which is assumed to be Gaussian. The TOA measurements and uncertainties, along with some metadata (such as observing frequency, observatory name, observatory reciever and backend information, etc) is saved in a text file known as a tim
file. Often, multiple TOAs are measured from the same observation by splitting it into multiple frequency sub-bands. This is known as narrowband timing.
Alternatively, we can measure a TOA and a dispersion measure simultaneously from an observation using the wideband timing method (Pennucci 2019). This is useful for dealing with frequency-dependent profile evolution more accurately. It also helps reduce the number of TOAs significantly, thus reducing the computational cost of analyzing them.
In Vela.jl
, all TOAs are represented by the abstract type TOABase
. Narrowband TOAs are represented using the TOA
type and wideband TOAs are represented by the WidebandTOA
type. The latter is a composition of a TOA
object and a DMInfo
object that represents a wideband DM measurement.
Vela.TOABase
— TypeTOABase
Abstract base type of all TOAs.
Vela.TOA
— TypeTOA
A single narrowband TOA observation.
value
is the TOA in the TDB timescale incorporating the clock corrections. ephem
contains the solar system ephemerides. These are computed using PINT
.
References: Hobbs+ 2006, Luo+ 2021
Vela.DMInfo
— TypeVela.WidebandTOA
— TypeWidebandTOA
A single wideband TOA observation.
toa.value
is the wideband TOA measurement in the TDB frame incorporating the clock corrections. toa.ephem
contains the solar system ephemerides. These are computed using PINT
.
References: Pennucci+ 2014, Pennucci 2019, Luo+ 2021
A TOA
object contains the clock-corrected TOA value in the TDB timescale, uncertainty, and observing frequency, along with the solar system ephemeris evaluated at that instance. The clock corrections from the observatory timescale to TDB and the solar system ephemeris computations are precomputed using PINT
, which in turn uses astropy
underneath. The evaluated solar system ephemerides are represented using the SolarSystemEphemeris
type.
Vela.SolarSystemEphemeris
— TypeSolarSystemEphemeris
Struct containing solar system ephemeris vectors corresponding to a TOA.
These are computed using PINT
, which uses the JPL ephemerides internally.
References: Hobbs+ 2006, Luo+ 2021
The TOA
objects do not contain any other metadata unlike the PINT
TOAs
objects or the tempo2
observation
objects. Everything that depend on the metadata are precomputed and stored elsewhere. This helps with computational efficiency by avoiding repeated string operations.
A performance-critical assumption made in Vela.jl
is that the TOAs are immutable. This assumption is not possible in general pulsar timing packages such as tempo2
and PINT
since they allow interactive removal and flagging of TOAs. Vela.jl
does not have this use case since it is only meant to do pulsar timing & noise analysis on TOAs that have already gone through data combination & timing stages.