JEphem Informatic Trail JEphem source code Pluto99.java
//*********************************************************************************
// class jephem.astro.solarsystem.Pluto99
// Software released under the General Public License (version 2 or later), available at
// http://www.gnu.org/copyleft/gpl.html
//*********************************************************************************
package jephem.astro.solarsystem;

import jephem.astro.Body;
import jephem.astro.solarsystem.SolarSystemConstants;
import jephem.astro.solarsystem.ComputationException;
import jephem.astro.solarsystem.PlanetaryTheory;
import jephem.astro.spacetime.UnitsConstants;
import jephem.astro.spacetime.SpaceConstants;
import jephem.astro.spacetime.TimeConstants;
import tig.GeneralConstants;
import tig.maths.Maths;
import tig.maths.Vector3; // just to set the Body coordinates.
/******************************************************************************
Calculation of Pluto coordinates, based on the work of J. Chapront and G. Francou, Bureau des Longitudes - France.
<BR>This work can be found at <A HREF="ftp://ftp.bdl.fr/pub/polac/solarsys/pluto">ftp://ftp.bdl.fr/pub/polac/solarsys/pluto</A>.
<BR>In particular, three files from this directory were used : <CODE>notice</CODE> <CODE>plutoxyz.for</CODE> and <CODE>plutoxyz.dat</CODE>.
<BR><CODE>Pluto99.java</CODE> contains the calculation method and the tables with the data.
<BR>Tested to match the values given in <CODE>notice</CODE>.

@author : Thierry Graff
@history Aug 11 2001 : creation
@todo
*********************************************************************************/

public abstract class Pluto99 implements PlanetaryTheory, TimeConstants{

  //=================================================================================
  //                            CONSTANTS
  //=================================================================================
  /** Validity start date (expressed in julian days) - corresponds to Apr 23 -2998 0h. */
  private static final double VALIDITY_START	= 626150.5;
  /** Validity end date (expressed in julian days) - corresponds to Jul 26 2984 0h. */
  private static final double VALIDITY_END	= 2811150.5;
  /** Validity interval (= VALIDITY_END - VALIDITY_START). */
  private static final double VALIDITY_INTERVAL	= VALIDITY_END - VALIDITY_START;

  /** Useful variable for velocities computation. */
  private static final double a = 2 * DAYS_PER_YEAR/VALIDITY_INTERVAL;
  /** Useful variable for velocities computation. */
  private static final double b = (2 * (JD2000 - VALIDITY_START) - VALIDITY_INTERVAL)/VALIDITY_INTERVAL;

  /** Number of coordinates; */
  private final static int NB_COORD = 3;
  /** Number of orders; */
  private final static int NB_ORDERS = 3;

  // Array 'term[][][][][]' located at the end of the class

  /** Secular terms A0 for X, Y, Z. */
  private static final double[] A0 = {9.922274, 10.016090, -3.947474};
  /** Secular terms A1 for X, Y, Z. */
  private static final double[] A1 = {0.154154, 0.064073, -0.042746};

  /** Number of Poisson terms */
  private static final int[][] nbTerms = {
    {193, 26, 13}, // Poisson terms for X, order 0, 1, 2
    {183, 29, 14}, // Poisson terms for Y, order 0, 1, 2
    {170, 20, 11}  // Poisson terms for Z, order 0, 1, 2
  }; // total 659 terms

  //=================================================================================
  //                            METHODS
  //=================================================================================

  /** Returns the precision of the calculation for a given julian day and a given body.
  @param bodyIndex Integer specifying for which Body the precision is asked ; use
  {@link jephem.astro.solarsystem.SolarSystemConstants}.
  @param jd The julian day for which the precision is asked.
  */
  public static double getPrecision(int bodyIndex, double jd){
    return 0.37; // TEMP CODE ; to implement precisely
  }// end getPrecision

  /****************************************************************
  Calculation of Pluto position and velocity.
  <BR>If the date asked for the computation is not handled by Pluto99 theory or if parameter 'precision' can't be
  handled by the theory, a {@link jephem.astro.Body#setComputationException(ComputationException)} is called.
  @param jd Julian day.
  @param body Body in which the results are stored
  @param precision Precision required for the positions (arc seconds).
  @param velocities Indicates wether velocities should be calculated.
  *************************************************************/
  public static void calcCoord(double jd, Body body, double precision, boolean velocities){

    // Parameter checking
    if(body.getIndex()!= SolarSystemConstants.PLUTO)
      throw new IllegalArgumentException("Parameter 'body' must represent Pluto");

    // ComputationException checking
    if (jd < VALIDITY_START || jd > VALIDITY_END)
      body.setComputationException(new ComputationException(ComputationException.DATE_LIMIT_ERROR,
                                                            body.getIndex(), jd, TimeConstants.TT_TDB));
    if (precision < getPrecision(SolarSystemConstants.PLUTO, jd))
      body.setComputationException(new ComputationException(ComputationException.PRECISION_ERROR,
                                                            body.getIndex(), jd, TimeConstants.TT_TDB));

    double[] res = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}; // contains the results, stored in body at the end

    // Variables for calculation
    double t = (jd - JD2000)/DAYS_PER_YEAR;
    double x[] = new double[3];
    x[0] = 1;
    x[1] = -1 + 2*(jd - VALIDITY_START)/(VALIDITY_INTERVAL);
    x[2] = x[1]*x[1];
    double ampli, nu, phi;
    int iCoord, iOrder, i; // variables for loop.
    double atb = a*t + b; // for velocities.

    for (iCoord = 0; iCoord < NB_COORD; iCoord ++){
      res[iCoord] = A0[iCoord] + A1[iCoord]*x[1]; // add secular terms
      if (velocities)
        res[iCoord + NB_COORD] = a*A1[iCoord];
      for (iOrder = 0; iOrder < NB_ORDERS; iOrder++){
        for (i = 0; i < nbTerms[iCoord][iOrder]; i++){
          ampli = terms[iCoord][iOrder][i][0];
          nu    = terms[iCoord][iOrder][i][1];
          phi   = terms[iCoord][iOrder][i][2];
          res[iCoord] += ampli*x[iOrder]*Math.sin(t * nu + phi); // add Poisson terms
          if (velocities){
            if (iOrder == 0)
              res[iCoord + NB_COORD] += ampli*nu*Math.cos(t * nu + phi);
            if (iOrder == 1)
              res[iCoord + NB_COORD] += ampli * (nu*atb*Math.cos(t * nu + phi) + a*Math.sin(t * nu + phi));
            if (iOrder == 2)
              res[iCoord + NB_COORD] += ampli * atb *(nu*atb*Math.cos(t * nu + phi) + 2*a*Math.sin(t * nu + phi));
          }
        }// end for (i = 0; i < nbTerms[iCoord][iOrder]; i++)
      }// end for (iOrder = 0; iOrder < NB_ORDERS; iOrder ++)
    }// end for (iCoord = 0; iCoord < NB_COORD; iCoord ++)

    // Set the fields of Body
    body.setPositionCoords(res[0], res[1], res[2]);
    if(velocities) body.setVelocityCoords(res[3]/DAYS_PER_YEAR, res[4]/DAYS_PER_YEAR, res[5]/DAYS_PER_YEAR);
    body.setCoordinateExpression(SpaceConstants.CARTESIAN);
    body.setFrame(SpaceConstants.FRAME_THEORY);
    body.setPositionUnits(UnitsConstants.UNITGROUP_AU_AU_AU);
    if(velocities) body.setVelocityUnits(UnitsConstants.UNITGROUP_AUD_AUD_AUD);

  }// end calcCoord()


  //*******************************************************************************
  //******************************** DATA *****************************************
  //*******************************************************************************

  // Array containing the terms for summation
  private static final double[][][][] terms = {
    { // Poisson terms for X
      { // X, order 0 - 193 terms
        { 0.00383668, 0.0015755335, 1.8286481 },
        { 0.01558618, 0.0030189105, 1.0711850 },
        { 0.01245892, 0.0032747384, 4.9857910 },
        { 0.00461769, 0.0039197826, 3.4165841 },
        { 0.00152236, 0.0050699235, 1.5985823 },
        { 0.00051675, 0.0063505889, 0.1127369 },
        { 0.00014703, 0.0080132610, 6.0395073 },
        { 0.00053495, 0.0101198791, 0.9620730 },
        { 0.00156462, 0.0110312447, 0.0218271 },
        { 0.01039711, 0.0119669067, 5.2867859 },
        { 0.00658988, 0.0127555821, 4.8438449 },
        { 0.00099529, 0.0144500970, 6.0136005 },
        { 0.00118273, 0.0152604788, 5.5635045 },
        { 0.00093241, 0.0167046390, 5.1174314 },
        { 0.00361802, 0.0184437224, 5.6288170 },
        { 0.01324105, 0.0194208507, 4.4837425 },
        { 0.40933408, 0.0207755164, 1.0765779 },
        { 0.44486864, 0.0210752393, 4.8171054 },
        { 0.03613380, 0.0223750052, 4.4557842 },
        { 0.05934799, 0.0235178975, 3.6782543 },
        { 36.70347369, 0.0254266726, 5.8334445 },
        { 0.14459892, 0.0266376252, 3.1156756 },
        { 0.09031454, 0.0274585346, 0.8879162 },
        { 0.01155503, 0.0290066741, 1.5344612 },
        { 0.03687493, 0.0303024336, 3.5736938 },
        { 0.02660160, 0.0308916374, 1.6415214 },
        { 0.00852775, 0.0317260479, 0.1379807 },
        { 0.00184105, 0.0326318176, 5.0408348 },
        { 0.00036883, 0.0346241178, 5.8558533 },
        { 0.00038492, 0.0363679436, 4.2785288 },
        { 0.00384996, 0.0380283753, 3.2253130 },
        { 0.00526712, 0.0388855124, 2.4190171 },
        { 0.00100384, 0.0396751429, 0.2788540 },
        { 0.00024250, 0.0414416901, 1.2724138 },
        { 0.00028434, 0.0430653466, 1.1379276 },
        { 0.00090244, 0.0444397678, 0.7320405 },
        { 0.00252741, 0.0454824044, 5.6851009 },
        { 0.00629821, 0.0465509264, 4.3168958 },
        { 0.02364561, 0.0475438751, 3.0745443 },
        { 0.03716251, 0.0480061483, 0.9044762 },
        { 0.02830938, 0.0488394805, 5.3991589 },
        { 4.51726393, 0.0508545104, 6.1910654 },
        { 0.06554000, 0.0522183295, 0.7069130 },
        { 0.06102463, 0.0527798297, 5.4625596 },
        { 0.02254502, 0.0535061113, 3.8175391 },
        { 0.00826952, 0.0545502775, 2.6979827 },
        { 0.00355241, 0.0556263379, 1.4503651 },
        { 0.00144258, 0.0565164798, 0.0430285 },
        { 0.00039977, 0.0574845986, 5.2496605 },
        { 0.00012128, 0.0594022404, 5.9038045 },
        { 0.00020901, 0.0611578209, 0.1531118 },
        { 0.00079448, 0.0622542072, 5.3301095 },
        { 0.00102507, 0.0631525416, 4.2966283 },
        { 0.00135974, 0.0634999990, 2.5306305 },
        { 0.00019024, 0.0643200234, 2.4512507 },
        { 0.00017639, 0.0658357828, 0.2703494 },
        { 0.00009633, 0.0674514843, 0.0685023 },
        { 0.00057057, 0.0694635401, 0.9468188 },
        { 0.01163275, 0.0708077853, 3.6751660 },
        { 0.01509389, 0.0713274081, 1.5762095 },
        { 0.00508504, 0.0724367273, 0.6510118 },
        { 0.00351617, 0.0735545369, 0.1487781 },
        { 0.01899854, 0.0749461283, 0.0155160 },
        { 0.84376237, 0.0762832697, 0.2296138 },
        { 0.01871795, 0.0777395028, 5.5374902 },
        { 0.00513490, 0.0788617188, 4.1551005 },
        { 0.00466082, 0.0799663728, 3.0315416 },
        { 0.03982588, 0.0814160370, 2.6946662 },
        { 0.03526913, 0.0817565750, 0.2376290 },
        { 0.00284625, 0.0828556267, 2.4140375 },
        { 0.00062321, 0.0838122416, 1.1691118 },
        { 0.00011542, 0.0851102446, 0.6021838 },
        { 0.00005307, 0.0867633840, 0.8285511 },
        { 0.00023751, 0.0881645279, 0.2440707 },
        { 0.00035004, 0.0889717498, 4.0432886 },
        { 0.00019300, 0.0900003205, 3.8568281 },
        { 0.00004738, 0.0911160446, 2.6232852 },
        { 0.00003714, 0.0921954285, 2.0991276 },
        { 0.00002009, 0.0933464235, 1.1250647 },
        { 0.00001272, 0.0948792882, 1.2033104 },
        { 0.00003919, 0.0967347334, 1.3915510 },
        { 0.00006619, 0.0975008199, 4.4513279 },
        { 0.00045188, 0.0985724537, 2.3293649 },
        { 0.00112254, 0.0996349240, 2.2440772 },
        { 0.00854194, 0.1004780056, 0.8031263 },
        { 0.19050728, 0.1017104358, 0.5671774 },
        { 0.00734703, 0.1029985337, 5.8569208 },
        { 0.00053055, 0.1039298462, 4.5675031 },
        { 0.00007649, 0.1049816228, 3.7071210 },
        { 0.00008459, 0.1060549232, 5.0640934 },
        { 0.00001845, 0.1076163159, 0.2483055 },
        { 0.00000246, 0.1095755642, 1.1086667 },
        { 0.00000184, 0.1110347323, 6.0370009 },
        { 0.00001563, 0.1118184209, 0.1055579 },
        { 0.00003383, 0.1132055729, 5.9900237 },
        { 0.00008192, 0.1143798703, 3.8536844 },
        { 0.00002664, 0.1155619373, 4.4251165 },
        { 0.00000535, 0.1165416196, 1.7607964 },
        { 0.00000305, 0.1191236695, 1.1215580 },
        { 0.00000484, 0.1203718017, 4.9154189 },
        { 0.00001326, 0.1217681139, 3.6883748 },
        { 0.00004703, 0.1228405854, 3.4548288 },
        { 0.00021743, 0.1239314363, 2.4381628 },
        { 0.00049765, 0.1249270801, 1.8466723 },
        { 0.00258922, 0.1257847792, 0.7110436 },
        { 0.04572990, 0.1271382113, 0.8966730 },
        { 0.00221397, 0.1285658757, 0.0115991 },
        { 0.00033909, 0.1294680530, 4.5698495 },
        { 0.00010677, 0.1306106438, 3.3056211 },
        { 0.00003090, 0.1316562606, 1.5088012 },
        { 0.00000401, 0.1328939334, 6.2591757 },
        { 0.00000185, 0.1359062857, 1.4722470 },
        { 0.00000913, 0.1368565334, 6.0287130 },
        { 0.00002068, 0.1392553808, 1.0986645 },
        { 0.00003626, 0.1397985312, 4.5434568 },
        { 0.00001528, 0.1404714801, 3.6191346 },
        { 0.00000194, 0.1444284984, 0.8677503 },
        { 0.00000409, 0.1455881839, 4.3185893 },
        { 0.00000730, 0.1470159327, 2.9481072 },
        { 0.00001030, 0.1482087208, 3.9782859 },
        { 0.00008870, 0.1495409766, 2.9814231 },
        { 0.00027448, 0.1506386376, 2.3564874 },
        { 0.00128851, 0.1513256735, 1.0532982 },
        { 0.01209727, 0.1525654203, 1.1847157 },
        { 0.00092821, 0.1539302037, 0.0503250 },
        { 0.00015685, 0.1548452229, 4.4616007 },
        { 0.00005117, 0.1559452781, 3.1483902 },
        { 0.00001937, 0.1567813517, 1.0569508 },
        { 0.00000290, 0.1572066000, 4.4427909 },
        { 0.00000353, 0.1623578884, 5.9696544 },
        { 0.00000190, 0.1634443589, 5.8772455 },
        { 0.00000195, 0.1646025801, 1.0407128 },
        { 0.00001039, 0.1652818871, 4.4839823 },
        { 0.00000203, 0.1695873384, 5.6340452 },
        { 0.00000418, 0.1707852223, 3.7778317 },
        { 0.00000332, 0.1732629954, 3.7262624 },
        { 0.00001770, 0.1747388447, 2.8548822 },
        { 0.00006584, 0.1759143661, 2.4656776 },
        { 0.00041294, 0.1767399707, 1.4031698 },
        { 0.00329998, 0.1779927509, 1.4993363 },
        { 0.00033066, 0.1793564454, 0.3428298 },
        { 0.00005922, 0.1802685061, 4.7710172 },
        { 0.00001749, 0.1812706257, 3.3727373 },
        { 0.00000388, 0.1821853742, 1.5684763 },
        { 0.00000294, 0.1907969543, 4.9813474 },
        { 0.00000213, 0.1971287434, 4.9403656 },
        { 0.00000177, 0.1976200122, 1.5581074 },
        { 0.00000591, 0.2002386791, 3.6480699 },
        { 0.00002391, 0.2012255805, 2.9339651 },
        { 0.00014089, 0.2020918264, 1.8697361 },
        { 0.00392423, 0.2031609976, 1.9125543 },
        { 0.00320525, 0.2034205768, 5.7380029 },
        { 0.00009731, 0.2047579983, 0.3356720 },
        { 0.00002597, 0.2060867014, 5.0605204 },
        { 0.00000626, 0.2070143827, 6.0173978 },
        { 0.00271807, 0.2132978353, 2.4396734 },
        { 0.00002399, 0.2135425184, 4.4812966 },
        { 0.00001300, 0.2138607972, 1.9038648 },
        { 0.00002011, 0.2199849507, 2.2975729 },
        { 0.00000257, 0.2231604897, 2.1656906 },
        { 0.00000427, 0.2256532316, 3.4095230 },
        { 0.00001274, 0.2265776375, 2.4711797 },
        { 0.00004327, 0.2274341644, 1.5352209 },
        { 0.00025318, 0.2288459373, 2.1106289 },
        { 0.00004222, 0.2303501344, 1.0181666 },
        { 0.00001802, 0.2311193720, 5.2986542 },
        { 0.00000655, 0.2317321123, 3.3548124 },
        { 0.00001704, 0.2485988933, 3.2337099 },
        { 0.00001717, 0.2489240697, 0.9829344 },
        { 0.00000916, 0.2528441493, 2.0988501 },
        { 0.00007206, 0.2542717740, 2.5110855 },
        { 0.00000882, 0.2557335928, 1.4898565 },
        { 0.00000605, 0.2740326133, 2.0767544 },
        { 0.00000193, 0.2783784786, 2.2597998 },
        { 0.00002027, 0.2796950957, 2.8249259 },
        { 0.00000669, 0.2994563917, 2.8673756 },
        { 0.00000678, 0.3051107045, 3.1440370 },
        { 0.00000142, 0.3164098245, 4.1416286 },
        { 0.00000612, 0.3248895486, 3.1568770 },
        { 0.00000333, 0.3503098350, 3.5733225 },
        { 0.00000359, 0.4197699918, 4.4219610 },
        { 0.00008394, 0.4264995999, 1.6555478 },
        { 0.00000279, 0.4269993867, 3.4794006 },
        { 0.00001608, 0.5229816866, 2.2780369 },
        { 0.00495552, 0.5296915421, 2.1708156 },
        { 0.00001561, 0.5363993402, 5.1764413 },
        { 0.00000342, 0.6396989474, 0.9772015 },
        { 0.00000211, 1.0335301024, 0.6733334 },
        { 0.00000328, 1.0583912650, 2.3694415 },
        { 0.00011225, 1.0593517488, 2.5797193 },
        { 0.00000875, 1.0600232507, 2.3187252 },
        { 0.00000388, 1.5890116298, 2.7874228 },
        { 0.00000362, 2.8966575128, 3.3686235 },
      },
      { // X, order 1 - 26 terms
        { 0.01795318, 0.0127555821, 2.1582715 },
        { 0.34052639, 0.0207755164, 2.6224221 },
        { 0.27827367, 0.0254266726, 5.5912680 },
        { 0.11432851, 0.0290066741, 5.6908659 },
        { 0.00922501, 0.0380283753, 5.4498185 },
        { 0.02670372, 0.0508545104, 1.6438464 },
        { 0.01491030, 0.0708077853, 5.2289958 },
        { 0.01401087, 0.0762832697, 6.1388461 },
        { 0.03856744, 0.0817565750, 4.9464085 },
        { 0.00423220, 0.1017104358, 0.0386582 },
        { 0.00029872, 0.1060549232, 2.7172076 },
        { 0.00120860, 0.1271382113, 0.2675635 },
        { 0.00043528, 0.1525654203, 5.9025995 },
        { 0.00014752, 0.1779927509, 0.2240313 },
        { 0.00279832, 0.2034205768, 4.0042642 },
        { 0.00001261, 0.2288459373, 1.3920675 },
        { 0.00001572, 0.2485988933, 4.9411315 },
        { 0.00000461, 0.2542717740, 2.1221343 },
        { 0.00000069, 0.2740326133, 3.4566506 },
        { 0.00000148, 0.2796950957, 2.4788787 },
        { 0.00000087, 0.2994563917, 4.2879164 },
        { 0.00000040, 0.3051107045, 2.4371153 },
        { 0.00001008, 0.4264995999, 5.0375702 },
        { 0.00000108, 0.5296915421, 0.5152460 },
        { 0.00000142, 0.6396989474, 4.0501069 },
        { 0.00000790, 1.0600232507, 0.4832457 },
      },
      { // X, order 2 - 13 terms
        { 6.83715619, 0.0254266726, 4.2014351 },
        { 1.88094335, 0.0508545104, 4.4200463 },
        { 0.43192580, 0.0762832697, 4.5418719 },
        { 0.13762952, 0.1017104358, 4.7133864 },
        { 0.03905150, 0.1271382113, 4.9849152 },
        { 0.01126430, 0.1525654203, 5.0878440 },
        { 0.00354224, 0.1779927509, 5.2963746 },
        { 0.00031334, 0.2288459373, 5.7470409 },
        { 0.00010939, 0.2542717740, 6.2579728 },
        { 0.00000927, 0.2740326133, 4.0941298 },
        { 0.00003085, 0.2796950957, 0.3806647 },
        { 0.00001235, 0.3051107045, 0.5381506 },
        { 0.00000667, 0.5296915421, 0.9366028 },
      }
    },
    { // Poisson terms for Y
      { // Y, order 0 - 183 terms
        { 0.00397670, 0.0015755335, 5.8822666 },
        { 0.00712636, 0.0030186412, 4.2053536 },
        { 0.01225685, 0.0037034447, 1.5792425 },
        { 0.00209910, 0.0051235633, 0.5441338 },
        { 0.00092501, 0.0067177990, 0.2103221 },
        { 0.00103865, 0.0079013381, 5.9267365 },
        { 0.00153949, 0.0090572972, 5.1367319 },
        { 0.00290146, 0.0103654752, 4.6113360 },
        { 0.01346560, 0.0115247437, 3.7501743 },
        { 0.02285350, 0.0121098086, 1.9351116 },
        { 0.02220301, 0.0127328391, 0.0335026 },
        { 0.01703128, 0.0129946901, 4.0185349 },
        { 0.00407479, 0.0152383706, 4.7786127 },
        { 0.00734331, 0.0163833603, 3.8593803 },
        { 0.00950023, 0.0172422273, 2.4152573 },
        { 0.01923645, 0.0186884464, 2.1193378 },
        { 0.09768359, 0.0198246853, 1.2159557 },
        { 0.50583722, 0.0207769457, 3.0174954 },
        { 0.63049092, 0.0211857679, 0.7070804 },
        { 0.07256594, 0.0224224674, 6.1412314 },
        { 0.02067650, 0.0235305318, 4.6333411 },
        { 38.01724260, 0.0254268311, 4.2532084 },
        { 0.05391037, 0.0272866646, 5.4090677 },
        { 0.37735778, 0.0285552595, 5.9148322 },
        { 0.28538169, 0.0290068740, 3.6911546 },
        { 0.06295436, 0.0299569919, 5.6317743 },
        { 0.01268598, 0.0311189298, 4.8123541 },
        { 0.00512069, 0.0319889900, 3.4513874 },
        { 0.00127325, 0.0329977909, 2.2856607 },
        { 0.00025018, 0.0351329832, 3.9355878 },
        { 0.00141396, 0.0366619187, 3.0309513 },
        { 0.00231572, 0.0379965875, 0.7475313 },
        { 0.00147100, 0.0392053525, 1.6373415 },
        { 0.00039598, 0.0404839934, 5.3682026 },
        { 0.00021765, 0.0413623563, 3.5871906 },
        { 0.00013944, 0.0424156466, 2.1882799 },
        { 0.00057512, 0.0454130394, 3.1528902 },
        { 0.00303090, 0.0465354979, 1.5985003 },
        { 0.01159791, 0.0475520275, 0.3151346 },
        { 0.01608159, 0.0480224560, 4.8056691 },
        { 0.01872477, 0.0488394852, 3.1623296 },
        { 4.63280503, 0.0508546316, 4.5976523 },
        { 0.06549133, 0.0521555619, 0.4186691 },
        { 0.08934291, 0.0527639263, 4.8023736 },
        { 0.03889206, 0.0533967701, 2.9339369 },
        { 0.01085855, 0.0545059613, 1.8076351 },
        { 0.00464001, 0.0555458970, 0.6617576 },
        { 0.00240212, 0.0564570316, 5.7516065 },
        { 0.00100455, 0.0573484085, 4.4474834 },
        { 0.00028257, 0.0588151136, 4.1651370 },
        { 0.00019344, 0.0603548826, 4.2868786 },
        { 0.00038107, 0.0617653898, 3.6848168 },
        { 0.00066842, 0.0626945146, 3.4811508 },
        { 0.00148047, 0.0635067614, 1.6394953 },
        { 0.00046247, 0.0645755744, 1.1962902 },
        { 0.00028934, 0.0657352901, 5.5292614 },
        { 0.00021721, 0.0672725506, 5.4158556 },
        { 0.00085560, 0.0689200267, 5.4865429 },
        { 0.00464404, 0.0699600592, 4.4155991 },
        { 0.00221670, 0.0708033325, 5.8413756 },
        { 0.00653469, 0.0714954907, 4.2591523 },
        { 0.00246934, 0.0734933865, 5.9581057 },
        { 0.01677354, 0.0749052005, 5.0206510 },
        { 0.87660505, 0.0762833837, 4.9334538 },
        { 0.01919592, 0.0777358143, 4.4105064 },
        { 0.00501968, 0.0789953911, 4.0037476 },
        { 0.00593291, 0.0801684695, 3.1550804 },
        { 0.01048964, 0.0817637646, 3.3007796 },
        { 0.00886333, 0.0829016014, 2.4711907 },
        { 0.00243053, 0.0838942965, 1.3297601 },
        { 0.00071298, 0.0848641870, 0.1296748 },
        { 0.00018032, 0.0864681982, 0.3464835 },
        { 0.00019515, 0.0880233076, 5.7824463 },
        { 0.00004420, 0.0889652076, 2.1426285 },
        { 0.00021183, 0.0901490943, 3.9441408 },
        { 0.00017182, 0.0910765783, 3.1963049 },
        { 0.00015890, 0.0925352173, 2.9592208 },
        { 0.00096553, 0.0943950875, 3.5587890 },
        { 0.00477596, 0.0952595892, 2.1316912 },
        { 0.05045667, 0.0962241009, 4.0280237 },
        { 0.05580196, 0.0964998812, 1.4396575 },
        { 0.00227314, 0.0979430655, 1.0510771 },
        { 0.00233367, 0.0991567300, 0.3891887 },
        { 0.00838460, 0.1003795697, 5.5658005 },
        { 0.19612219, 0.1017105627, 5.2717881 },
        { 0.00672532, 0.1031686022, 4.7505485 },
        { 0.00105979, 0.1040774528, 3.6000704 },
        { 0.00033060, 0.1057046754, 3.4133727 },
        { 0.00024308, 0.1071888736, 0.8178808 },
        { 0.00041274, 0.1078924588, 5.1336790 },
        { 0.00006762, 0.1087899381, 3.8750400 },
        { 0.00001078, 0.1106175607, 4.6636650 },
        { 0.00002207, 0.1120889819, 3.2323505 },
        { 0.00017168, 0.1138841894, 5.1806994 },
        { 0.00019806, 0.1143912274, 2.6348285 },
        { 0.00002417, 0.1159192991, 4.0247471 },
        { 0.00000605, 0.1168932924, 1.8029756 },
        { 0.00000674, 0.1201688902, 6.1933017 },
        { 0.00001575, 0.1213542071, 4.1142254 },
        { 0.00004641, 0.1228345603, 2.5450485 },
        { 0.00018833, 0.1239060141, 0.9527616 },
        { 0.00047224, 0.1248824548, 0.3936442 },
        { 0.00256037, 0.1257677883, 5.4464053 },
        { 0.04730484, 0.1271383567, 5.5908940 },
        { 0.00219686, 0.1285677658, 4.7687519 },
        { 0.00028455, 0.1295311323, 3.2745209 },
        { 0.00009063, 0.1307452309, 2.1819408 },
        { 0.00002825, 0.1319727947, 0.7512702 },
        { 0.00000638, 0.1328057769, 5.2020388 },
        { 0.00000667, 0.1367124929, 0.9690934 },
        { 0.00000698, 0.1377804781, 4.1834659 },
        { 0.00000990, 0.1386412240, 4.3117291 },
        { 0.00003212, 0.1398280272, 2.5225097 },
        { 0.00000845, 0.1409062214, 2.4797230 },
        { 0.00000579, 0.1417188811, 5.6713437 },
        { 0.00000505, 0.1451072960, 5.1551082 },
        { 0.00000567, 0.1473691221, 5.5170942 },
        { 0.00000887, 0.1486368447, 3.3567684 },
        { 0.00008555, 0.1494617489, 1.4372151 },
        { 0.00025624, 0.1505122813, 0.8597155 },
        { 0.00109952, 0.1512099445, 5.6620104 },
        { 0.01239221, 0.1525655495, 5.8988902 },
        { 0.00086214, 0.1539536782, 4.8953911 },
        { 0.00011926, 0.1549072750, 3.2173071 },
        { 0.00003669, 0.1561198117, 2.1924191 },
        { 0.00001095, 0.1570605058, 0.3747119 },
        { 0.00000131, 0.1631365046, 4.0327616 },
        { 0.00000877, 0.1652331542, 2.5802368 },
        { 0.00000301, 0.1664585682, 2.8858040 },
        { 0.00000225, 0.1707318572, 5.6553293 },
        { 0.00002746, 0.1751101340, 1.9318922 },
        { 0.00010963, 0.1759790077, 0.8857947 },
        { 0.00042193, 0.1766756299, 5.8753685 },
        { 0.00336298, 0.1779928958, 6.1920995 },
        { 0.00032067, 0.1793741713, 5.0470580 },
        { 0.00005994, 0.1803073868, 3.1764476 },
        { 0.00001780, 0.1812035562, 1.5493298 },
        { 0.00000373, 0.1822853029, 6.0447060 },
        { 0.00000311, 0.1905732495, 2.7108258 },
        { 0.00000305, 0.1971543056, 0.7872939 },
        { 0.00000353, 0.2000406819, 0.7048221 },
        { 0.00001175, 0.2012500282, 0.5911559 },
        { 0.00009718, 0.2021155892, 0.0124461 },
        { 0.00089480, 0.2034205306, 0.2794682 },
        { 0.00006936, 0.2052408570, 0.0013799 },
        { 0.00003570, 0.2062374507, 4.4872787 },
        { 0.00001567, 0.2069527463, 3.7410689 },
        { 0.00000355, 0.2080380979, 2.1287573 },
        { 0.00271489, 0.2132975520, 0.8735458 },
        { 0.00001123, 0.2142769384, 2.3695902 },
        { 0.00000345, 0.2150096820, 0.6347310 },
        { 0.00002104, 0.2200271542, 0.8033026 },
        { 0.00000202, 0.2232586360, 3.7105546 },
        { 0.00000603, 0.2265744558, 1.0199935 },
        { 0.00004203, 0.2275314710, 0.2935473 },
        { 0.00027015, 0.2288462042, 0.5252877 },
        { 0.00003866, 0.2302041663, 5.5600490 },
        { 0.00000679, 0.2310929699, 3.5574219 },
        { 0.00000343, 0.2487060416, 4.2498385 },
        { 0.00001201, 0.2529424860, 0.5869673 },
        { 0.00007604, 0.2542728722, 0.8756141 },
        { 0.00000970, 0.2557291618, 6.1039709 },
        { 0.00000488, 0.2740638578, 4.2514479 },
        { 0.00000271, 0.2783387540, 0.9366535 },
        { 0.00002127, 0.2797010985, 1.2159028 },
        { 0.00000548, 0.2988957858, 1.6567411 },
        { 0.00000751, 0.2994714970, 4.7427699 },
        { 0.00000368, 0.3051379393, 0.6673586 },
        { 0.00000213, 0.3165190130, 2.7748260 },
        { 0.00000680, 0.3248859241, 4.7183891 },
        { 0.00000400, 0.3503186454, 4.7458204 },
        { 0.00000390, 0.4197517652, 3.0545995 },
        { 0.00000084, 0.4258800323, 4.1386746 },
        { 0.00008393, 0.4264933614, 0.0900009 },
        { 0.00001643, 0.5229831410, 0.7819969 },
        { 0.00495428, 0.5296915766, 0.5999882 },
        { 0.00001511, 0.5364025634, 3.6174368 },
        { 0.00000477, 0.6396989682, 5.6614660 },
        { 0.00000167, 1.0335163453, 5.5867415 },
        { 0.00000217, 1.0584807239, 1.1757721 },
        { 0.00011118, 1.0593517642, 0.9590513 },
        { 0.00000419, 1.5890117430, 1.3209479 },
        { 0.00000334, 2.8966577284, 5.3190384 },
      },
      { // Y, order 1 - 29 terms
        { 0.02374022, 0.0030186412, 4.8072567 },
        { 0.80804140, 0.0207769457, 4.6305416 },
        { 0.11472134, 0.0254268311, 4.4713004 },
        { 0.50719365, 0.0290068740, 2.1668924 },
        { 0.00147224, 0.0379965875, 3.1768596 },
        { 0.04979501, 0.0508546316, 3.4526971 },
        { 0.01886756, 0.0708033325, 1.3530016 },
        { 0.01506629, 0.0762833837, 4.9880829 },
        { 0.00755704, 0.0817637646, 4.9826110 },
        { 0.04953185, 0.0962241009, 5.6124146 },
        { 0.00681675, 0.1017105627, 4.5551781 },
        { 0.00090898, 0.1071888736, 2.0196269 },
        { 0.00020416, 0.1143912274, 1.3462468 },
        { 0.00135058, 0.1271383567, 5.0311819 },
        { 0.00038934, 0.1525655495, 5.1105658 },
        { 0.00011431, 0.1779928958, 4.9545639 },
        { 0.00007817, 0.2034205306, 4.7234992 },
        { 0.00001587, 0.2132975520, 5.2072088 },
        { 0.00000335, 0.2200271542, 5.1765933 },
        { 0.00000316, 0.2232586360, 2.0324542 },
        { 0.00001618, 0.2288462042, 6.1361464 },
        { 0.00000526, 0.2542728722, 5.9453770 },
        { 0.00000165, 0.2797010985, 0.0497106 },
        { 0.00000750, 0.2994714970, 4.2310190 },
        { 0.00000101, 0.3051379393, 6.1406225 },
        { 0.00000119, 0.3248859241, 4.9787742 },
        { 0.00001185, 0.4264933614, 3.1080455 },
        { 0.00000195, 0.5296915766, 4.2413630 },
        { 0.00001180, 1.0593517642, 0.8687985 },
      },
      { // Y, order 2 - 14 terms
        { 7.72271932, 0.0254268311, 2.6025236 },
        { 1.84062365, 0.0508546316, 2.8966739 },
        { 0.50129791, 0.0762833837, 2.9546663 },
        { 0.04252480, 0.0817637646, 0.1715631 },
        { 0.15148915, 0.1017105627, 3.1518397 },
        { 0.04133858, 0.1271383567, 3.4039493 },
        { 0.01222592, 0.1525655495, 3.5689377 },
        { 0.00356801, 0.1779928958, 3.7361769 },
        { 0.00111204, 0.2034205306, 4.1961646 },
        { 0.00002263, 0.2132975520, 0.8333921 },
        { 0.00035616, 0.2288462042, 4.1814788 },
        { 0.00011162, 0.2542728722, 4.5647430 },
        { 0.00003248, 0.2797010985, 4.9931273 },
        { 0.00000622, 0.5296915766, 5.8538621 },
      }
    },
    { // Poisson terms for Z
      { // Z, order 0 - 170 terms
        { 0.00108711, 0.0015755335, 5.3907168 },
        { 0.00373717, 0.0029277443, 4.4408128 },
        { 0.00411483, 0.0032039817, 2.3330547 },
        { 0.00162434, 0.0039191012, 0.4936597 },
        { 0.00033786, 0.0050670486, 4.7345177 },
        { 0.00008978, 0.0063424059, 2.7007066 },
        { 0.00002499, 0.0079247558, 1.1465756 },
        { 0.00005522, 0.0101168630, 3.3092348 },
        { 0.00005815, 0.0112215710, 1.0024162 },
        { 0.00134275, 0.0119263370, 1.9267510 },
        { 0.00195378, 0.0127588729, 1.9665400 },
        { 0.00065833, 0.0144906265, 0.8521167 },
        { 0.00031315, 0.0152596906, 5.0548648 },
        { 0.00016232, 0.0167065755, 5.0519286 },
        { 0.00034315, 0.0183889507, 4.8514498 },
        { 0.00115360, 0.0194373014, 3.6612486 },
        { 0.04247236, 0.0207771057, 5.7782493 },
        { 0.04537017, 0.0210649393, 3.2141643 },
        { 0.00606521, 0.0223954082, 2.9371820 },
        { 0.00919221, 0.0235527673, 0.9422362 },
        { 11.33667870, 0.0254280995, 2.3279442 },
        { 0.01245076, 0.0266867437, 2.6662754 },
        { 0.01960513, 0.0274581696, 2.3726468 },
        { 0.00181074, 0.0290082858, 4.1265830 },
        { 0.00745373, 0.0303759437, 4.8418100 },
        { 0.00553865, 0.0309488240, 2.8679955 },
        { 0.00191315, 0.0317549556, 1.3896394 },
        { 0.00046181, 0.0326429374, 0.0031189 },
        { 0.00008462, 0.0346196274, 1.2553288 },
        { 0.00029036, 0.0364765526, 0.6329196 },
        { 0.00092412, 0.0380826926, 5.8962189 },
        { 0.00074588, 0.0390173823, 5.4260588 },
        { 0.00017354, 0.0397700830, 2.3023024 },
        { 0.00000909, 0.0414894814, 2.2636285 },
        { 0.00004040, 0.0430844675, 1.9937605 },
        { 0.00010112, 0.0443393406, 1.7759929 },
        { 0.00043728, 0.0454193840, 0.8728536 },
        { 0.00166145, 0.0465279259, 5.9462991 },
        { 0.00730018, 0.0475674648, 4.8278732 },
        { 0.01037165, 0.0480163084, 2.7755777 },
        { 0.00921367, 0.0488394807, 1.2175529 },
        { 1.38865302, 0.0508559277, 2.6724885 },
        { 0.00662876, 0.0522520140, 1.3842578 },
        { 0.00511788, 0.0528024348, 3.6216390 },
        { 0.00234610, 0.0534982614, 1.8971237 },
        { 0.00072507, 0.0545785335, 0.0382903 },
        { 0.00017322, 0.0556680140, 4.4096817 },
        { 0.00002421, 0.0571707004, 2.9806380 },
        { 0.00000498, 0.0584380560, 0.9599485 },
        { 0.00001614, 0.0607996387, 3.5252033 },
        { 0.00005010, 0.0620800165, 1.3343485 },
        { 0.00048576, 0.0632054971, 3.4730843 },
        { 0.00068474, 0.0635045920, 0.5033807 },
        { 0.00025160, 0.0642353613, 5.5893557 },
        { 0.00002584, 0.0657697940, 3.3170733 },
        { 0.00000579, 0.0675864600, 2.7469789 },
        { 0.00004081, 0.0691561026, 2.8118261 },
        { 0.00019097, 0.0700062571, 1.5602402 },
        { 0.00003642, 0.0708098880, 0.2315249 },
        { 0.00025914, 0.0725001021, 3.2095526 },
        { 0.00056209, 0.0738944142, 4.9578420 },
        { 0.00391873, 0.0749196722, 3.0948622 },
        { 0.25786193, 0.0762843151, 3.0170940 },
        { 0.00330657, 0.0779017437, 2.7253262 },
        { 0.00045990, 0.0793772607, 2.7968617 },
        { 0.00160179, 0.0810674052, 2.6919609 },
        { 0.00083213, 0.0817539253, 0.8521310 },
        { 0.00082415, 0.0828228525, 3.1617751 },
        { 0.00035559, 0.0836023267, 1.6386450 },
        { 0.00014004, 0.0847333738, 0.8930047 },
        { 0.00006500, 0.0853644882, 5.4465911 },
        { 0.00002133, 0.0869487099, 5.6342829 },
        { 0.00005074, 0.0882842521, 3.6093220 },
        { 0.00008153, 0.0889754645, 0.6663054 },
        { 0.00003840, 0.0899624223, 0.4330254 },
        { 0.00000285, 0.0911457889, 2.8873273 },
        { 0.00000455, 0.0920368370, 5.9188614 },
        { 0.00000198, 0.0934850710, 4.9128289 },
        { 0.00001586, 0.0964473182, 1.5159918 },
        { 0.00008167, 0.0975157960, 0.0681446 },
        { 0.00024396, 0.0985083534, 4.9747432 },
        { 0.00046716, 0.0995492500, 4.5118873 },
        { 0.00266764, 0.1004426809, 3.3608908 },
        { 0.05831467, 0.1017119252, 3.3327182 },
        { 0.00234126, 0.1030302360, 2.2511018 },
        { 0.00029577, 0.1039064218, 0.4177938 },
        { 0.00009996, 0.1050278869, 5.3642588 },
        { 0.00002580, 0.1061423016, 3.5849564 },
        { 0.00000367, 0.1077559236, 2.4823556 },
        { 0.00000157, 0.1101986663, 4.1886497 },
        { 0.00000887, 0.1113990153, 2.9446302 },
        { 0.00000363, 0.1126782138, 1.1474229 },
        { 0.00002359, 0.1143399923, 0.1762198 },
        { 0.00001779, 0.1151632630, 6.1468590 },
        { 0.00000271, 0.1166362708, 3.9030418 },
        { 0.00000438, 0.1205946310, 2.9620777 },
        { 0.00002201, 0.1218459384, 1.6186971 },
        { 0.00009649, 0.1228446787, 0.3845454 },
        { 0.00015554, 0.1234449118, 4.7759041 },
        { 0.00012189, 0.1241715242, 3.5147886 },
        { 0.00063267, 0.1257682624, 3.5414523 },
        { 0.01397146, 0.1271397853, 3.6784870 },
        { 0.00062930, 0.1285732448, 2.8378177 },
        { 0.00008360, 0.1295196722, 1.2131723 },
        { 0.00002886, 0.1306720273, 6.2128281 },
        { 0.00000893, 0.1316479001, 4.2392826 },
        { 0.00000116, 0.1329659035, 2.2552256 },
        { 0.00000668, 0.1369535357, 3.5973526 },
        { 0.00000378, 0.1389581559, 3.4470282 },
        { 0.00001044, 0.1397791249, 0.6639831 },
        { 0.00000269, 0.1408352521, 1.1016866 },
        { 0.00000233, 0.1452613646, 1.3146248 },
        { 0.00000280, 0.1466317498, 0.1009917 },
        { 0.00000788, 0.1484662634, 0.7498003 },
        { 0.00003387, 0.1496535048, 6.0120851 },
        { 0.00010917, 0.1505908120, 5.1101136 },
        { 0.00040569, 0.1512831636, 3.7401216 },
        { 0.00371040, 0.1525670549, 3.9589855 },
        { 0.00029098, 0.1539532966, 2.8651917 },
        { 0.00005789, 0.1548490093, 1.0250694 },
        { 0.00001887, 0.1558167257, 5.8254479 },
        { 0.00000446, 0.1566789696, 3.9519839 },
        { 0.00000406, 0.1624106077, 3.9981437 },
        { 0.00000185, 0.1652442455, 1.1588976 },
        { 0.00000197, 0.1723542680, 1.4509311 },
        { 0.00000515, 0.1737204464, 0.4672538 },
        { 0.00001803, 0.1752192561, 0.4074108 },
        { 0.00005193, 0.1759524686, 5.2079913 },
        { 0.00017701, 0.1767534565, 4.0471733 },
        { 0.00103420, 0.1779943254, 4.2256027 },
        { 0.00012821, 0.1793777449, 3.0651956 },
        { 0.00003475, 0.1802392481, 1.2839056 },
        { 0.00001274, 0.1811892412, 6.2567862 },
        { 0.00000426, 0.1819609025, 4.6922262 },
        { 0.00000218, 0.1879193617, 5.0296717 },
        { 0.00000159, 0.1905524129, 0.1556427 },
        { 0.00000228, 0.1958177456, 1.4268559 },
        { 0.00000408, 0.2006238186, 0.3685439 },
        { 0.00001329, 0.2013734217, 5.3714845 },
        { 0.00004795, 0.2021251353, 4.2434770 },
        { 0.00028407, 0.2034213428, 4.5581310 },
        { 0.00003785, 0.2047515952, 3.3126107 },
        { 0.00000673, 0.2057229748, 1.6404842 },
        { 0.00000202, 0.2065958476, 0.8356771 },
        { 0.00000206, 0.2124616963, 4.2518320 },
        { 0.00011540, 0.2133412787, 5.1837921 },
        { 0.00000308, 0.2139360428, 5.1770970 },
        { 0.00000103, 0.2208861101, 1.4538434 },
        { 0.00000213, 0.2266389680, 5.4521817 },
        { 0.00001220, 0.2275182236, 4.6372597 },
        { 0.00007962, 0.2288479046, 4.9085437 },
        { 0.00001038, 0.2302195002, 3.7300857 },
        { 0.00000138, 0.2310991087, 1.6367691 },
        { 0.00000124, 0.2387493234, 5.1232271 },
        { 0.00000091, 0.2483148477, 5.6751581 },
        { 0.00000466, 0.2529885752, 5.0941777 },
        { 0.00002409, 0.2542728933, 5.2095378 },
        { 0.00000363, 0.2556144473, 4.0936853 },
        { 0.00000189, 0.2739213891, 6.2362560 },
        { 0.00000613, 0.2796973737, 5.5875986 },
        { 0.00000245, 0.2994357851, 0.3187821 },
        { 0.00000103, 0.3051164934, 4.9102234 },
        { 0.00000255, 0.3248772593, 0.5724303 },
        { 0.00000203, 0.3503034344, 1.0365915 },
        { 0.00000194, 0.4011130733, 2.0093258 },
        { 0.00000358, 0.4265267660, 4.2279477 },
        { 0.00011439, 0.5296684673, 5.0516281 },
        { 0.00001488, 0.5300038485, 0.5046967 },
        { 0.00000618, 0.5304372528, 3.9709113 },
        { 0.00000265, 1.0593275713, 5.4396076 },
      },
      { // Z, order 1 - 20 terms
        { 0.00200033, 0.0127588729, 5.2437258 },
        { 0.03379410, 0.0207771057, 1.1764233 },
        { 0.02538404, 0.0254280995, 2.7931220 },
        { 0.01956643, 0.0290082858, 0.7988060 },
        { 0.00124453, 0.0380826926, 2.1084663 },
        { 0.01974622, 0.0508559277, 2.9352478 },
        { 0.00063438, 0.0708098880, 4.8618005 },
        { 0.00458692, 0.0762843151, 2.4678158 },
        { 0.00348961, 0.0817539253, 5.6530307 },
        { 0.00125585, 0.1017119252, 2.8418114 },
        { 0.00003190, 0.1143399923, 2.8669136 },
        { 0.00043567, 0.1271397853, 3.3780104 },
        { 0.00012791, 0.1525670549, 2.4551250 },
        { 0.00006249, 0.1779943254, 2.3024256 },
        { 0.00000782, 0.2034213428, 3.2415307 },
        { 0.00000401, 0.2288479046, 4.0256630 },
        { 0.00000140, 0.2542728933, 3.7705685 },
        { 0.00000135, 0.2739213891, 1.2820044 },
        { 0.00000022, 0.2796973737, 2.6370295 },
        { 0.00000330, 0.5304372528, 2.2634355 },
      },
      { // Z, order 2 - 11 terms
        { 2.25556184, 0.0254280995, 0.6641266 },
        { 0.52962475, 0.0508559277, 0.9051595 },
        { 0.14682314, 0.0762843151, 1.1178722 },
        { 0.04035828, 0.1017119252, 1.1921260 },
        { 0.01221030, 0.1271397853, 1.5141098 },
        { 0.00346495, 0.1525670549, 1.5751495 },
        { 0.00105263, 0.1779943254, 1.6132773 },
        { 0.00033114, 0.2034213428, 1.9443444 },
        { 0.00010618, 0.2288479046, 2.3212097 },
        { 0.00003659, 0.2542728933, 2.5098522 },
        { 0.00001003, 0.2796973737, 3.1622893 }
      }
    }
  }; // end terms[][][]

} //end class Pluto99