RMF structure

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*/

  char StokesParameter[FLEN_VALUE]; /* For spectrapolarimetry
                                       (e.g. 'Ixx', 'xQx', 'xxU') */
  char StokesWeighting[FLEN_VALUE]; /* For spectrapolarimetry Stokes parameter
                                       weighting scheme */

};

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*/

};




HEASARC Home | Observatories | Archive | Calibration | Software | Tools | Students/Teachers/Public

Last modified: Wednesday, 28-Feb-2024 16:27:32 EST