************************************************************************ * XSPEC 'selectors' SF package description for PHA files * ************************************************************************ This file contains a description of the PHA file 'selectors' package. It is not directly used by XSPEC, currently, but could contain useful information of interest to other programs. The 'selectors' package contains 0 or more auxiliary records which can be used to reconstruct what criteria were used to select the data. The header contains a single item. AND L1 If true, all the top level criteria must be satisfied. If false at least one of the top level criteria must be satisfied. If there are 0 auxiliary records to be satisfied then by definition all data was acceptable. Each auxiliary record is 80 bytes consisting of: DEPTH I2 Allowing for compound selectors. Should be zero for all the top level criteria. If a particulor selector is to be treated as a compound criterion, depth should be incrimented by one and the begin/end flag should be set to TRUE (following). PAREN L1 If true, then it is the beginning or end of a compound criterion. A `close parenthesis' (end of compound) can be found by looking for the next aux. record with the same DEPTH and PAREN = .TRUE. This allows for skipping over non-necessary criteria evaluations in a particular compound criterion (e.g. a false one has been found for an AND group or a true one has been found for a NOTAND (or OR) group). If all the criteria are top level there is no need for a close parenthesis. NOT L1 For simple criteria and the close parenthesis record of a compound criterion, if TRUE, then the data point must be outside the indicated range of MIN and MAX, if FALSE it must be within the range of MIN and MAX. As a special case on the 'open parenthesis' if the NOT flag is true, it indicates that the compound criterion that follows is an AND criterion, if false, an OR. MIN r8 The lower limit of the evaluation (should be <=MAX) (actually there is no reason per se that these be real*8 or even reals. These values should be passed to a specific routine (determined by TYPE, see below) which then uses the information passed by the 16 bytes of MIN,MAX to determine whether the criterion is satisfied. It could even be a flag register to be or'd with, or a set of 16 selector characters, or..) MAX r8 The upper limit of the evaluation TYPE c60 A character string that contains the information needed to see what actually was tested. Examples of such strings might be "time | 279.000" "phase | 1 20 718.231789 0.19871 " "intensity| 5 24 20 same 0.0 " The TYPE string is divided into two parts, a unique identifier and then some useful numbers that might be used in conjunction with MIN and MAX above to determine is a particular criterion is satisfied. The two parts are separated by a verticle bar "|" character. The following are the formats for the particular selector types: "time" is satisfied if the beginning of an integration is within the range given by MIN and MAX. The useful number is an optional which determines the zero point of the time scale (or alternatively the epoch input in the `source info' package can be used). "phase" - The time of the beginning of the integration (or the midpoint or whatever) falls into a particular phase bin of a folded light curve. MIN and MAX are the lower and upper limits of the allowed phase range. The auxiliary numbers are and . "intensity" - The data was taken during a period where the source intensity fell into a particular range given by MIN and MAX. The additional numbers are . If the is the string "same" then it the same detector's data were used in accumulating the PHA file. If includes blanks and special characters it should be inclosed in a double quote. Additional TYPEs can be defined.