The Projection commands are not standalone commands: they can only be operative within the context of command files and pipelines, i.e. they must be thought of in relation to other Projection commands which have been executed within the same task.
There are only four kinds of Projection commands: the INPUT, the OUTPUT, the SELECT and the BIN commands. The COUNT command is just a variation of the SELECT command, in the sense that the SELECT commands create virtual lists of selected photons, while the COUNT commands are just counting the photons which are selected. The syntax of the COUNT and SELECT commands is otherwise identical.
The general structure of a Projection command may be outlined as in the following:
<identifier> <command> <reference :> <label_list> <parameter_list>
The command is one of the Projection commands listed in Table 4.2.
The label list is a list of one or more strings, separated by commas, among the ones listed in Table 4.3. Each label corresponds to a photon parameter.
Table 4.3: Photon parameter labels and their meaning
The label list is bound to different restrictions, according to the specific command requirements. Here some examples of label lists in Projection command lines are given:
select TIME 10000,20000 bin/image XDET,YDET #512,#512 bin AMPL 1 output TIME,XPIX,YPIX to photon_list_a
The reference is a character string used in making reference to Projection commands which have been previously executed within the same task. When not indicated the reference is automatically meant to the last executed Projection command. When indicated, it must be separated by a colon (:) from the label list. Here some examples of Projection commands containing also arbitrary reference strings are given:
select ABC :TIME 10000,20000 bin/image DEFGH(1+2):XDET,YDET #512,#512 bin MYDAT(2,5):AMPL 1 output RATES : to photon_list_a
The identifier is an optional character string up to 6 characters long, used to label a Projection command line. The identifier string is used in the reference mechanism between different Projection commands, and its function will be clarified in the context of Projection command files and pipelines (sections 4.3.2 and 4.3.3). The identifier string can be inserted at the beginning of command lines in a Projection command file, or more generally -- preceded by the keyword ID -- at the command line end. Here are some examples of Projection command lines having the same identifier string ABC:
ABC = select time 10000,20000 bin/image xdet,ydet #512,#512 ID = ABC bin ampl 1 ID=ABC
Finally, the parameter list is either a sequence of numerical parameters or filenames separated by blanks or commas or logical symbols according to the command requirements. Here some examples of parameter lists are given: their meaning should be apparent to the reader.
input events select time > 10000 select amplitude 7 to 246 select raw_ampl 18 bin/image #512, #512 select/ring xdet,ydet (100,200) radius = 500 bin time 10 output to image1,image2,image3
Table 4.4:
Projection commands -- Curly brackets indicate optional entries
Specifically for BIN and SELECT commands, the command line structure may be extended as follows:
<ident> <command> < ref : > <label> <[par_list1] [par_list2] [par_list3] ...>
The definition of multiple parameter lists delimited by squared brackets allows the production of several virtual datasets in parallel. When n parameter lists are defined for the same Projection command, the input virtual dataset is processed n times according to the different sets of parameters. The output of the command line consists of n independent virtual datasets. If an identifier string was specified, the output datasets are labeled by the identifier string itself followed by an index enclosed in round brackets (see section 4.3.2).
In the following command line it is shown how to select photons from different circles in the sky, keeping the resulting lists separate:
SELECT/RING [center=(0,0) radius=500] [center=(100,100) rad=400]
With the following command, three light curves with binsizes 1, 10 and 100 are derived simultaneously from the same input photon list:
BIN TIME [1] [10] [100]
The applications of this powerful element of syntax will be clear after reading sections 4.3.2 and 4.3.3.
A minimal syntax for the Projection commands can be found in Table 4.4. At this section end, a complete overview of the Projection command syntax is given in a flow-chart fashion.
A more detailed description of the Projection command syntax is given in the following: