C Structures for NUTS CDFF format

struct DimParm
   {
   int pts  ;              //  Word   0
   int complex ;           //  Word   1 -- 0 = Real, 1 = Complex, 2 = TPPI
   int domain ;            //  Word   2 -- 0 = Time, 1 = Frequency
   int axis ;              //  Word   3 -- 0 = None, 1 = Points, 2 = Hz,  3 = PPM
   int decimation ;        //  Word   4 -- Bruker decimation number for digitally filtered data
   int firmware_version;   //  Word   5          
   int Dim1Dummy02;        //  Word   6          
   int Dim1Dummy03;        //  Word   7          
   int Dim1Dummy04;        //  Word   8          
   int Dim1Dummy05;        //  Word   9          
   int Dim1Dummy06;        //  Word  10          
   int Dim1Dummy07;        //  Word  11          
   int Dim1Dummy08;        //  Word  12          
   int Dim1Dummy09;        //  Word  13          
   int Dim1Dummy10;        //  Word  14          
   int Dim1Dummy11;        //  Word  15          
   float sw;               //  Word  16 - Sweep Width in 1st Dimension          
   float sf;               //  Word  17 - Spectrometer Frequency in 1st Dimension          
   float of;               //  Word  18 - Reference Offset in 1st Dimension          
   long RefPt;             //  Word  19 - Reference Point in 1st Dimension          
   long PivotPt;           //  Word  20 - Phase Pivot Point in 1st Dimension          
   float tpa;              //  Word  21 - Total Zero Order Phase Applied in 1st Dimension
   float tpb;              //  Word  22 - Total First Order Phase Applied in 1st Dimension
   float tlb;              //  Word  23 - Total Line Broadening Applied in 1st Dimension
   int DimDummy12;         //  Word  24          
   int DimDummy13;         //  Word  25          
   int DimDummy14;         //  Word  26          
   int DimDummy15;         //  Word  27          
   int DimDummy16;         //  Word  28          
   int DimDummy17;         //  Word  29          
   int DimDummy18;         //  Word  30          
   int DimDummy19;         //  Word  31          
   int DimDummy20;         //  Word  32
   int DimDummy21;         //  Word  33
   int DimDummy22;         //  Word  34
   int DimDummy23;         //  Word  35
   int DimDummy24;         //  Word  36
   int DimDummy25;         //  Word  37
   int DimDummy26;         //  Word  38
   int DimDummy27;         //  Word  39
   };
struct NUTSHeaderInfo
   {
   int ByteKey;            //  Word   0
   int NumWordInHeader;    //  Word   1
   int NumDimInData;       //  Word   2
   int DataFormat;         //  Word   3
   int HeaderVersion;      //  Word   4
   };
   
struct NUTSHeader1
   {
   int ByteKey;            //  Word   0 -- 04030201 Hexadecimal
   int NumWordInHeader;    //  Word   1 -- Usually 256, data starts at (NumWordInHeader + 3) * sizeof(float)
   int NumDimInData;       //  Word   2 -- 1=1D, 2=2D
   int DataFormat;         //  Word   3 -- 0 = float, 1 = integer
   int HeaderVersion;      //  Word   4 -- 1 for NUTS 1st Header, 2 for NUTS 2nd Header, etc.
   int FrameSize;          //  Word   5 -- Usually 32
   int Version;            //  Word   6 -- Version Number of Program times 100
   int Dummy001;           //  Word   7
   int Tailer;             //  Word   8 -- 0 = No Tailer, 1 = Tailer
   int Dummy002[11];       //  Word   9-19
   float Time[64];         //  Word  20-83 -- 64 time values from an arrayed experiment
   int Dummy003[12];       //  Word  84-95
   struct DimParm D1;      //  Word   96-135 -- 1st Dimension Parameters
   struct DimParm D2;      //  Word  136-175 -- 2nd Dimension Parameters
   
   //  Other Parameters
   int Dummy004[28];       //  Word 176-203
   float Temp;             //  Word 204 -- Temperature for experiment                
   char PulProg[40];       //  Word 205-214          
   float PulLength;        //  Word 215 -- 90 degree pulse length in usec          
   float RecycleDelay;     //  Word 216 -- Recycle delay in seconds          
   int NumAcq;             //  Word 217 -- Number of acquisitions          
   char user[40];          //  Word 218-227 -- USER name string          
   char date[32];          //  Word 228-235 -- DATE string           
   char comment[84];       //  Word 236-256 -- COMMENT string 
   int Dummy005;           //  Word 257
   };
struct NUTSHeader2
   {
   int ByteKey;            //  Word   0 -- 04030201 Hexadecimal
   int NumWordInHeader;    //  Word   1 -- Usually 1024, data starts at (NumWordInHeader + 3) * sizeof(float)
   int NumDimInData;       //  Word   2 -- 1=1D, 2=2D, 3=3D etc
   int DataFormat;         //  Word   3 -- 0 = float, 1 = integer
   int HeaderVersion;      //  Word   4 -- 1 for NUTS 1st Header, 2 for NUTS 2nd Header, etc.
   int FrameSize;          //  Word   5 -- Usually 32
   int Version;            //  Word   6 -- Version Number of Program times 100
   int Dummy001;           //  Word   7
   int Tailer;             //  Word   8 -- 0 = No Tailer, 1 = Tailer
   int Dummy002[11];       //  Word   9-19
   float Time[64];         //  Word  20-83 -- 64 time values from an arrayed experiment
   int Dummy003[12];       //  Word  84-95
   struct DimParm D1;      //  Word   96-135 -- 1st Dimension Parameters
   struct DimParm D2;      //  Word  136-175 -- 2nd Dimension Parameters
   struct DimParm D3;      //  Word  176-215 -- 3rd Dimension Parameters
   struct DimParm D4;      //  Word  216-255 -- 4th Dimension Parameters
   
   //  Other Parameters
   float Temp;             //  Word 256 -- Temperature for experiment                
   float PulLength;        //  Word 257 -- 90 degree pulse length in usec          
   float RecycleDelay;     //  Word 258 -- Recycle delay in seconds          
   int NumAcq;             //  Word 259 -- Number of acquisitions          
   char PulProg[32];       //  Word 260-267          
   char nucleus[32];       //  Word 268-275
   char solvent[32];       //  Word 276-283          
   char user[32];          //  Word 283-291 -- USER name string          
   char date[32];          //  Word 291-299 -- DATE string           
   char comment[128];      //  Word 300-331 -- COMMENT string 
   int Dummy004[693];      //  Word 428-1024
   int Dummy005;           //  Word 1025
   };

Last updated  9/12/98