From c000d5df9868cf53868d85c8bf35d266492e8bb0 Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Thu, 11 Dec 2008 15:16:28 +0100 Subject: [PATCH] More header pruning, use of cmath constants, etc. --- AstroToolbox/Lambert.cpp | 10 ++++++---- AstroToolbox/Lambert.h | 5 +---- AstroToolbox/mga_dsm.cpp | 5 +---- AstroToolbox/propagateKEP.cpp | 10 +++++----- AstroToolbox/propagateKEP.h | 6 +++--- AstroToolbox/time2distance.cpp | 4 ---- 6 files changed, 16 insertions(+), 24 deletions(-) diff --git a/AstroToolbox/Lambert.cpp b/AstroToolbox/Lambert.cpp index 3029eb2..47d8457 100644 --- a/AstroToolbox/Lambert.cpp +++ b/AstroToolbox/Lambert.cpp @@ -58,14 +58,16 @@ iter=number of iteration made by the newton solver (usually 6) */ -#include -#include +#include +#include + +#include "Astro_Functions.h" #include "Lambert.h" using namespace std; -void LambertI (const double *r1_in, const double *r2_in, double t, const double mu, //INPUT - const int lw, //INPUT +void LambertI (const double *r1_in, const double *r2_in, double t, const double &mu, //INPUT + const int &lw, //INPUT double *v1, double *v2, double &a, double &p, double &theta, int &iter)//OUTPUT { double V,T, diff --git a/AstroToolbox/Lambert.h b/AstroToolbox/Lambert.h index 2c10780..aaaf971 100644 --- a/AstroToolbox/Lambert.h +++ b/AstroToolbox/Lambert.h @@ -13,10 +13,7 @@ #ifndef LAMBERT_H #define LAMBERT_H - -#include "Astro_Functions.h" - -void LambertI (const double*, const double*, double, const double, const int, //INPUT +void LambertI (const double*, const double*, double, const double &, const int &, //INPUT double*, double*, double&, double&, double& , int&);//OUTPUT #endif diff --git a/AstroToolbox/mga_dsm.cpp b/AstroToolbox/mga_dsm.cpp index 50f08f2..86e2490 100644 --- a/AstroToolbox/mga_dsm.cpp +++ b/AstroToolbox/mga_dsm.cpp @@ -8,12 +8,9 @@ // Copyright (c) 2004-2007 European Space Agency // // ------------------------------------------------------------------------ // - #include -#include -#include -#include +#include "Astro_Functions.h" #include "Lambert.h" #include "mga_dsm.h" #include "propagateKEP.h" diff --git a/AstroToolbox/propagateKEP.cpp b/AstroToolbox/propagateKEP.cpp index b9b044b..585f59a 100644 --- a/AstroToolbox/propagateKEP.cpp +++ b/AstroToolbox/propagateKEP.cpp @@ -36,7 +36,7 @@ using namespace std; -void propagateKEP(const double *r0_in, const double *v0_in, double t, double mu, +void propagateKEP(const double *r0_in, const double *v0_in, const double &t, const double &mu, double *r, double *v) { @@ -110,7 +110,7 @@ void propagateKEP(const double *r0_in, const double *v0_in, double t, double mu, } else { - M0 = E[1]*tan(E[5]) - log(tan(0.5*E[5] + 0.25*M_PI)); + M0 = E[1]*tan(E[5]) - log(tan(0.5*E[5] + M_PI_4)); M=M0+sqrt(mu/pow(-E[0],3))*t; } @@ -159,7 +159,7 @@ void propagateKEP(const double *r0_in, const double *v0_in, double t, double mu, Mueller and White. It goes singular for zero inclination */ -void IC2par(const double *r0, const double *v0, double mu, double *E) +void IC2par(const double *r0, const double *v0, const double &mu, double *E) { double k[3]; double h[3]; @@ -260,7 +260,7 @@ void IC2par(const double *r0, const double *v0, double mu, double *E) This function does work for hyperbolas as well. */ -void par2IC(const double *E, double mu, double *r0, double *v0) +void par2IC(const double *E, const double &mu, double *r0, double *v0) { double a = E[0]; double e = E[1]; @@ -290,7 +290,7 @@ void par2IC(const double *E, double mu, double *r0, double *v0) b = -a*sqrt(e*e-1); n = sqrt(-mu/(a*a*a)); - dNdZeta = e * (1+tan(EA)*tan(EA))-(0.5+0.5*pow(tan(0.5*EA + 0.25*M_PI),2))/tan(0.5*EA+ 0.25*M_PI); + dNdZeta = e * (1+tan(EA)*tan(EA))-(0.5+0.5*pow(tan(0.5*EA + M_PI_4),2))/tan(0.5*EA+ M_PI_4); xper = a/cos(EA) - a*e; yper = b*tan(EA); diff --git a/AstroToolbox/propagateKEP.h b/AstroToolbox/propagateKEP.h index 752c59c..2841ef8 100644 --- a/AstroToolbox/propagateKEP.h +++ b/AstroToolbox/propagateKEP.h @@ -11,12 +11,12 @@ #ifndef PROPAGATEKEP_H #define PROPAGATEKEP_H -void propagateKEP(const double *, const double *, double, double, +void propagateKEP(const double *, const double *, const double &, const double &, double *, double *); -void IC2par(const double*, const double*, double, double*); +void IC2par(const double*, const double*, const double &, double*); -void par2IC(const double*, double, double*, double*); +void par2IC(const double*, const double &, double*, double*); // Returns the cross product of the vectors X and Y. // That is, z = X x Y. X and Y must be 3 element diff --git a/AstroToolbox/time2distance.cpp b/AstroToolbox/time2distance.cpp index 7226f4a..be10f34 100644 --- a/AstroToolbox/time2distance.cpp +++ b/AstroToolbox/time2distance.cpp @@ -21,10 +21,6 @@ */ #include -//#include -//#include -//#include -//#include #include "Astro_Functions.h" #include "propagateKEP.h" -- 2.11.4.GIT