Skip to content
This repository was archived by the owner on Aug 12, 2024. It is now read-only.

Commit a3124ce

Browse files
author
kettenis
committed
Add acceleration.
git-svn-id: svn+ssh://jop91.astron.nl/auto/home/jive_cvs/SOFTC/svn/trunk/sfxc@1740 5736e3ea-d426-0410-8aaf-93e336ac3372
1 parent bbc9563 commit a3124ce

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

include/delay_table_akima.h

+1
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ class Delay_table_akima {
6868
// delay is in seconds
6969
double delay(const Time &time, int phase_center=0);
7070
double rate(const Time &time, int phase_center=0);
71+
double accel(const Time &time, int phase_center=0);
7172
double phase(const Time &time, int phase_center=0);
7273
double amplitude(const Time &time, int phase_center=0);
7374

src/delay_table_akima.cc

+11
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,17 @@ double Delay_table_akima::rate(const Time &time, int phase_center) {
349349
return result + clock_rates[clock_nr];
350350
}
351351

352+
double Delay_table_akima::accel(const Time &time, int phase_center) {
353+
while (scans[scan_nr].end < time){
354+
if (!initialise_next_scan()) break;
355+
}
356+
357+
SFXC_ASSERT(splineakima.size() > 0);
358+
double sec = (time - scans[scan_nr].begin).get_time();
359+
double result = gsl_spline_eval_deriv2(splineakima[phase_center], sec, acc[phase_center]);
360+
return result + clock_rates[clock_nr];
361+
}
362+
352363
double Delay_table_akima::phase(const Time &time, int phase_center){
353364
while (scans[scan_nr].end < time){
354365
if (!initialise_next_scan()) break;

0 commit comments

Comments
 (0)