struct RMF {
long NumberChannels; /*Number of spectrum channels*/
long NumberEnergyBins; /*Number of response energies*/
long NumberTotalGroups; /*Total number of resp groups*/
long NumberTotalElements; /*Total number of resp elts*/
long FirstChannel; /*First channel number*/
long isOrder; /*If true grating order*/
/*information included*/
long* NumberGroups;/*NumberEnergyBins*/ /*Number of resp groups for*/
/*this energy bin*/
long* FirstGroup;/*NumberEnergyBins*/ /*First resp group for this*/
/*energy bin (counts from 0)*/
long* FirstChannelGroup;/*NumberTotalGroups*/ /*First channel number in*/
/*this group*/
long* NumberChannelGroups;/*NumberTotalGroups*//*Num of channels in this grp*/
long* FirstElement;/*NumberTotalGroups*/ /*First resp elt for this grp*/
/*(counts from 0)*/
long* OrderGroup;/*NumberTotalGroups*/ /*Grating order of this grp*/
float* LowEnergy;/*NumberEnergyBins*/ /*Start energy of bin*/
float* HighEnergy;/*NumberEnergyBins*/ /*End energy of bin*/
float* Matrix;/*NumberTotalElements*/ /*Matrix elements*/
float* ChannelLowEnergy;/*NumberChannels*/ /*Start energy of channel*/
float* ChannelHighEnergy;/*NumberChannels*/ /*End energy of channel*/
float AreaScaling; /*Value of EFFAREA keyword*/
float ResponseThreshold; /*Minimum value in response*/
char EnergyUnits[FLEN_KEYWORD]; /*Units for energies*/
char RMFUnits[FLEN_KEYWORD]; /*Units for RMF*/
char ChannelType[FLEN_KEYWORD]; /*Value of CHANTYPE keyword*/
char Telescope[FLEN_KEYWORD];
char Instrument[FLEN_KEYWORD];
char Detector[FLEN_KEYWORD];
char Filter[FLEN_KEYWORD];
char RMFType[FLEN_KEYWORD]; /*HDUCLAS3 keyword in MATRIX*/
char RMFExtensionName[FLEN_VALUE]; /*EXTNAME keyword in MATRIX*/
char EBDExtensionName[FLEN_VALUE]; /*EXTNAME keyword in EBOUNDS*/
};
struct RMFchan {
long NumberChannels; /*Number of spectrum channels*/
long NumberEnergyBins; /*Number of response energies*/
long NumberTotalGroups; /*Total number of resp groups*/
long NumberTotalElements; /*Total number of resp elts*/
long FirstChannel; /*First channel number*/
long isOrder; /*If true grating order*/
/*information included*/
long* NumberGroups;/*NumberChannels*/ /*Number of resp groups for*/
/*this channel bin*/
long* FirstGroup;/*NumberChannels*/ /*First resp group for this*/
/*channel bin (counts from 0)*/
long* FirstEnergyGroup;/*NumberTotalGroups*/ /*First energy bin in this grp*/
long* NumberEnergyGroups;/*NumberTotalGroups*//*Number of energy bins in*/
/*this group */
long* FirstElement;/*NumberTotalGroups*/ /*First resp elt for this grp*/
/*(counts from 0)*/
long* OrderGroup;/*NumberTotalGroups*/ /*Grating order of this group*/
float* LowEnergy;/*NumberEnergyBins*/ /*Start energy of bin*/
float* HighEnergy;/*NumberEnergyBins*/ /*End energy of bin*/
float* Matrix;/*NumberTotalElements*/ /*Matrix elements*/
float* ChannelLowEnergy;/*NumberChannels*/ /*Start energy of channel*/
float* ChannelHighEnergy;/*NumberChannels*/ /*End energy of channel*/
float AreaScaling; /*Value of EFFAREA keyword*/
float ResponseThreshold; /*Minimum value in response*/
char EnergyUnits[FLEN_KEYWORD]; /*Units for energies*/
char RMFUnits[FLEN_KEYWORD]; /*Units for RMF*/
char ChannelType[FLEN_KEYWORD]; /*Value of CHANTYPE keyword*/
char RMFVersion[FLEN_KEYWORD]; /*MATRIX format version*/
char EBDVersion[FLEN_KEYWORD]; /*EBOUNDS format version*/
char Telescope[FLEN_KEYWORD];
char Instrument[FLEN_KEYWORD];
char Detector[FLEN_KEYWORD];
char Filter[FLEN_KEYWORD];
char RMFType[FLEN_KEYWORD]; /*HDUCLAS3 keyword in MATRIX*/
char RMFExtensionName[FLEN_VALUE]; /*EXTNAME keyword in MATRIX*/
char EBDExtensionName[FLEN_VALUE]; /*EXTNAME keyword in EBOUNDS*/
};