EPAM Level 1 Data Structures



epam.h , v 1.8


#include "hdfi.h"

#define NUMFRM 128  /* number of minor frames in a cycle */
#define BYTMIN 21   /* number of bytes of epam data per minor frame */

/* reported every 8 major frames (128 minor frames)*/
/* some items are subcommed, hence there are only 2 of them in 8 frames */

struct EpamData
{
  uint32 sctime_readout;      /* 32 bit spacecraft time at readout */
  uint32 sctime_collection;   /* 32 bit spacecraft time at collection*/

  uint32 QAC;	  /* indicates the number of missing frame in this cycle */
  uint8 QACarr[NUMFRM]; /* each entry corresponds to a single minor frame */
		    /* if value =0 frame is OK.  =1 frame contains fill data*/

  uint8 data[NUMFRM][BYTMIN]; /* 21 bytes data per minor frame */
				/* 128 minor frames per cycle */

  /* sunpulse data */
  uint16 PhaseAng[NUMFRM];   /* Phase angle for each frame in this cycle*/
  uint16 SunPulLat[2][8];     /* sun pulse latched at mn frm 0&8 [2] */
			     /* over the 8 [8] major frame cycle */
  uint32 SunPulDat[2][8];    /* Sun sensor data */
		/* bits 31-24 : unused */
		/* bits 23-20 : Mnr frame */
		/* bits 19-10 : sub secont count (684.75 cnts=1 sec)*/
		/* bits  9- 8 : ID bits, 00=err,01=top,10=side,11=neither */
		/* bits  7- 0 : Y angle measurment (Grey code) */
		/* */
		/*   From C&DH Specification (mf0:index1=0, mf8:index1=1) */
		/* For the time tag in Science minor frame 0: for a minor */
		/* frame ID of 0, the sun pulse would have occured in the */
		/* current major frame.  For a minor frame ID of 1 to 15, */
		/* the sun pulse would have occured in the previous major */
		/* frame */
		/* For the time tag in Science minor frame 8: for a minor */
		/* frame ID of 0-8, the sun pulse would have occured in the */
		/* current major frame.  For a minor frame ID of 9 to 15, */
		/* the sun pulse would have occured in the previous major */
		/* frame */


  /* Housekeeping data is here */
  uint8 Cal[8];                    /* int/ext cal readout                  */
  uint8 Ref10[2];                  /* +10V Ref Monitor                     */
  uint8 Mon10[2];                  /* +10V Monitor                         */
  uint8 Mon6[2];                   /* +6V Monitor                          */
  uint8 Bias[2];                   /* Detector Bias Voltage Monitor        */
  uint8 AmpTemp[2];                /* Log Amp D Temperature                */
  uint8 MFSATemp[2];               /* MFSA Log Amp D Temperature           */
  uint8 DetTemp[2];                /* Detector D Temperature               */
  uint8 YTemp[2];                  /* EPAM 2B Yoke Temperature             */
  uint8 InCur[8];                  /* input current monitor                */
  uint8 E1Temp[8];                 /* epam 1 electronics temp.             */
  uint8 Sen2ATemp[8];              /* epam 2a sensor temp.                 */
  uint8 Sen2BTemp[8];              /* epam 2b sensor temp.                 */
  uint8 DeckTemp[8];               /* Instrument Deck Temp near EPAM       */
  uint8 Cur[8];                    /* epam current                         */
  uint8 HtrCur[8];                 /* epam heater current                  */
  uint8 PowBits[8];                /* power switching and ordinance bits   */
  /*--- EPAM power switching and ordinance bits ---*/
  /*--- bit position 7: Interface Heater   at position 10 of 112 bits ---*/
  /*--- bit position 6: Internal Heaters   at position 11 of 112 bits ---*/
  /*--- bit position 5: Main System Power  at position 28 of 112 bits ---*/
  /*--- bit position 4: PyroArm (LEMS 30)  at position 56 of 112 bits ---*/
  /*--- bit position 3: PyroArm (LEMS 120) at position 57 of 112 bits ---*/
  /*--- bit position 2: PyroArm (CD)       at position 58 of 112 bits ---*/
  /*--- bit position 1: 0                                             ---*/
  /*--- bit position 0: 0                                             ---*/
};

epam_br.h , v 1.6

#include "hdfi.h"

struct Epam_br
{
  float64 bin_start;            /* beginning of bin. ACE epoch */
  float64 bin_end;            /* end of bin. ACE epoch */

  float32 P1;              /* Flux of .047 - .065 Mev ions EPAM */
  float32 P3;              /* Flux of .112 - .187 Mev ions EPAM */
  float32 P5;              /* Flux of .310 - .580 Mev ions EPAM */
  float32 P7;              /* Flux of 1.06 - 1.91 MeV ions EPAM */
  float32 DE1;             /* Flux of .038 - .053 Mev electrons EPAM */
  float32 DE4;             /* Flux of .175 - .315 Mev electrons EPAM */
  float32 W1;              /* Flux of .480 - .966 Mev protons EPAM */
  float32 fp6p;            /* Flux of .761 - 1.22 Mev protons EPAM */

  float32 EPAM_livetime;   /* livetime (seconds) for these measurements. */
};

epam_brconst.h , v 1.5


#include "hdfi.h"

#define EPAMRATES 8

/* rate indicies, {0,1,2,3,4,5,6,7} = {P1,P3,P5,P7,DE1,DE4,W1,fp6p} */

static uint16 epam_rn[EPAMRATES][8]=       /* rate number locations */
{ 23,131,203,452,0,0,0,0,
  25, 61, 97,133,205,288,371,454,
 211,294,377,460,0,0,0,0,
 213,296,379,462,0,0,0,0,
 218,301,384,467,0,0,0,0,
 221,304,387,470,0,0,0,0,
 163,246,329,412,195,278,361,444,
 157,240,323,406,189,272,355,438};

/* number of values per rate per spin pair */
static uint8 epam_rs[EPAMRATES]={4,8,4,4,4,4,8,8};

/* width of energy band in kev */
static uint16 epam_eb[EPAMRATES]={18, 75, 270, 850, 15, 140, 486, 459};

/* geometry factors (cm^2 - sr) */
static float32 epam_geom[EPAMRATES]={.428, .428, .428, .428, .14, .14, .103, .397};

For comments, questions or suggestions regarding these data structures,
email: asc@srl.caltech.edu
Last update: Wed Nov 3 12:45:33 PST 1999