38 #ifndef TAUPSITEFNCTNLS_H
39 #define TAUPSITEFNCTNLS_H
158 tpzRRcvr(0.0), tpzRRcvrSgn(1.0), tpzPLast(-1.0),
159 tpzDLast(-1.0), tpzD(0.0), tpzPT(0.0),
160 tpzRayLegDist(0.0), tpzRayLegTime(0.0),
161 tpzSrcLegDist(0.0), tpzSrcLegTime(0.0),
162 tpzRcvrLegDist(0.0), tpzRcvrLegTime(0.0),
163 tpzIsTurningZero(true), tpzIsRayLegValid(false),
164 tpzIsRcvrLegValid(false), tpzIsSrcLegValid(false),
165 tpzRadius(EARTH_RAD) {};
170 tpzTPS(tps), tpzRSrc(0.0), tpzRSrcSgn(1.0),
171 tpzRRcvr(0.0), tpzRRcvrSgn(1.0), tpzPLast(-1.0),
172 tpzDLast(-1.0), tpzD(0.0), tpzPT(0.0),
173 tpzRayLegDist(0.0), tpzRayLegTime(0.0),
174 tpzSrcLegDist(0.0), tpzSrcLegTime(0.0),
175 tpzRcvrLegDist(0.0), tpzRcvrLegTime(0.0),
176 tpzIsTurningZero(true), tpzIsRayLegValid(false),
177 tpzIsRcvrLegValid(false), tpzIsSrcLegValid(false),
178 tpzRadius(EARTH_RAD) {};
183 tpzRSrc(tpzf.tpzRSrc), tpzRSrcSgn(tpzf.tpzRSrcSgn),
184 tpzRRcvr(tpzf.tpzRRcvr), tpzRRcvrSgn(tpzf.tpzRRcvrSgn),
185 tpzPLast(tpzf.tpzPLast), tpzDLast(tpzf.tpzDLast),
186 tpzD(tpzf.tpzD), tpzPT(tpzf.tpzPT),
187 tpzRayLegDist(tpzf.tpzRayLegDist),
188 tpzRayLegTime(tpzf.tpzRayLegTime),
189 tpzSrcLegDist(tpzf.tpzSrcLegDist),
190 tpzSrcLegTime(tpzf.tpzSrcLegTime),
191 tpzRcvrLegDist(tpzf.tpzRcvrLegDist),
192 tpzRcvrLegTime(tpzf.tpzRcvrLegTime),
193 tpzIsTurningZero(tpzf.tpzIsTurningZero),
194 tpzIsRayLegValid(tpzf.tpzIsRayLegValid),
195 tpzIsRcvrLegValid(tpzf.tpzIsRcvrLegValid),
196 tpzIsSrcLegValid(tpzf.tpzIsSrcLegValid),
197 tpzRadius(tpzf.tpzRadius) {};
211 tpzRSrc = tpzf.tpzRSrc;
212 tpzRSrcSgn = tpzf.tpzRSrcSgn;
213 tpzRRcvr = tpzf.tpzRRcvr;
214 tpzRRcvrSgn = tpzf.tpzRRcvrSgn;
215 tpzPLast = tpzf.tpzPLast;
216 tpzDLast = tpzf.tpzDLast;
217 tpzRayLegDist = tpzf.tpzRayLegDist;
218 tpzRayLegTime = tpzf.tpzRayLegTime;
219 tpzSrcLegDist = tpzf.tpzSrcLegDist;
220 tpzSrcLegTime = tpzf.tpzSrcLegTime;
221 tpzRcvrLegDist = tpzf.tpzRcvrLegDist;
222 tpzRcvrLegTime = tpzf.tpzRcvrLegTime;
223 tpzRadius = tpzf.tpzRadius;
224 tpzTPS = tpzf.tpzTPS;
225 tpzIsTurningZero = tpzf.tpzIsTurningZero;
226 tpzIsRayLegValid = tpzf.tpzIsRayLegValid;
227 tpzIsRcvrLegValid = tpzf.tpzIsRcvrLegValid;
228 tpzIsSrcLegValid = tpzf.tpzIsSrcLegValid;
251 if (tpzIsTurningZero)
252 tpzDLast = getTurningZero();
254 tpzDLast = getUpGoingZero();
268 tpzIsTurningZero =
true;
275 return tpzIsTurningZero;
282 return (tpzD - (2.0 * tpzRayLegDist - tpzRSrcSgn * tpzSrcLegDist -
283 tpzRRcvrSgn * tpzRcvrLegDist));
290 return (tpzIsRayLegValid && tpzIsRcvrLegValid && tpzIsSrcLegValid);
297 tpzIsTurningZero =
false;
304 return !tpzIsTurningZero;
313 return (tpzD - tpzSrcLegDist);
320 return (tpzIsRcvrLegValid && tpzIsSrcLegValid);
356 tpzRSrcSgn = setRadius(r);
370 setSourceRadius(tpzRadius - d);
376 return tpzRadius - tpzRSrc;
382 tpzRRcvrSgn = setRadius(r);
396 setReceiverRadius(tpzRadius - d);
402 return tpzRadius - tpzRRcvr;
460 return tpzRRcvrSgn * tpzRcvrLegDist;
484 double setRadius(
double& r)
494 r = 2.0 * tpzRadius - r;
533 double tpzRayLegDist;
536 double tpzRayLegTime;
539 double tpzSrcLegDist;
542 double tpzSrcLegTime;
545 double tpzRcvrLegDist;
548 double tpzRcvrLegTime;
552 bool tpzIsTurningZero;
556 bool tpzIsRayLegValid;
560 bool tpzIsRcvrLegValid;
564 bool tpzIsSrcLegValid;
573 #endif // TAUPSITEFNCTNLS_H