class MissileInputData
{
public:
float maxTof;
float mslpk;
float wm0;
float wp0;
float totalImpulse;
float area;
float nozzleArea;
float length;
float aoamax;
float aoamin;
float betmax;
float betmin;
float mslVmin;
float gimlim;
float gmdmax;
float atamax;
float guidanceDelay;
float mslBiasn;
float mslGnav;
float mslBwap;
float mslLoftTime;
float mslActiveTtg;
int
seekerType, seekerVersion;
int
displayType;
};
// Gains
float kp01, kp02,
kp03, kp04, kp05, kp06, kp07;
float tp01, tp02,
tp03, tp04;
float wp01;
float zp01;
float ky01, ky02,
ky03, ky04, ky05, ky06, ky07;
float ty01, ty02,
ty03, ty04;
float wy01;
float zy01;
// Geometry
float alpdot,
betdot;
float gamma, sigma,
mu;
ObjectGeometry geomData;
// Guidance
struct { float
yaw, pitch; } augCommand;
// State
int burnIndex;
float rstab, qstab;
float e1, e2,
e3, e4;
// Save Arrays
SAVE_ARRAY olddx;
SAVE_ARRAY olde1,
olde2, olde3, olde4, oldx, oldy, oldz;
SAVE_ARRAY oldimp,
oldvt, olddu;
SAVE_ARRAY oldp01,
oldp02, oldp03, oldp04, oldp05;
SAVE_ARRAY oldy01,
oldy02, oldy03, oldy04, oldy05;
int oldalp, oldalpdt,
oldbet, oldbetdt;
// Aero data
int lastmach,
lastalpha;
float qsom, qovt,
qbar;
// Accels
float xaero, yaero,
zaero;
float xsaero,
ysaero, zsaero;
float xwaero,
ywaero, zwaero;
float xprop, yprop,
zprop;
float xsprop,
ysprop, zsprop;
float xwprop,
ywprop, zwprop;
float nxcgw, nycgw,
nzcgw;
float nxcgb, nycgb,
nzcgb;
float nxcgs, nycgs,
nzcgs;
float clalph, cybeta;
// Closest Approach
long lastCMDeployed;
};