*
* $Id: cm_ff_cards.txt,v 1.1 1996/10/24 13:53:50 thanlon Exp $
*
* $Log: cm_ff_cards.txt,v $
* Revision 1.1  1996/10/24 13:53:50  thanlon
* cm_ff_cards.F renamed as it is not a Fortran file
*
* Revision 1.1.1.1  1996/09/13 12:14:47  pubzh
* Imported sources
*
*
#include "sys/CMS_machine.h"
#include "pilot.h"
#if defined(CMS_DOC)
*CMZ :  2.00/00 27/03/92  23.40.14  by  Yu.Fisyak
*-- Author :
 
DESCRIPTION OF DATA CARDS
-------------------------
************************************************************************
*                                                                      *
*                                                                      *
*                        Summary of Data Cards                         *
*                        ---------------------                         *
*                                                                      *
*                                                                      *
*  INTRODUCTION                                                        *
*                                                                      *
*  GEANT3 uses the standard FFREAD package  to read 'free format' data *
*  cards in the routine GFFGO.                                         *
*    The cards currently  interpreted by GFFGO can  be classified into *
*  four categories:                                                    *
*   - General control of the run.                                      *
*   - Control of the physics processes.                                *
*   - Debug and I/O operations.                                        *
*   - User applications.                                               *
*  The data  cards are  listed below  by category  with the  following *
*  information:                                                        *
*    -KEY,  card keyword,   any number of characters  truncated to the *
*     first 4                                                          *
*    -N, maximum expected number of variables NVAR,                    *
*    -T,  TYPE of these variables (I=INTEGER,  R=REAL or M=MIXED)  and *
*     for each variable in turn:                                       *
*        - VAR.., FORTRAN name                                         *
*        - Short description (more detail in BASE 030)                 *
*        - Labelled COMMON where it is stored, and                     *
*        - Default value from GINIT.                                   *
*  When a  card is decoded,   the values  entered by the  user without *
*  explicit assignment are  assigned to the variables  in order.   The *
*  number of values can be less than NVAR. In case of a MIXED type the *
*  values entered  have to  be in  agrgement with  the default  of the *
*  corresponding FORTRAN variable names.                               *
*  Example of data card:     RUN   5   201                             *
*  to  preset  the  current  run  and   event  number  to  5  and  201 *
*  respectively.                                                       *
*    In batch jobs  there is no need for any  special termination card *
*  and none of the cards mentioned below is mandatory.                 *
*                                                                      *
*  USER DEFINED DATA CARDS                                             *
*                                                                      *
*  Before calling GFFGO the user may define private data cards through *
*  calls to FFKEY as follows:                                          *
*        CALL FFKEY('KEY',VAR(1),NVAR,'TYPE')                          *
*  They will be interpreted  by GFFGO in the same way  as the standard *
*  cards.                                                              *
*                                                                      *
*                                                                      *
* There are four levels of geometry :                                  *
*                                                                      *
* 0.  'CMSE'  --- the whole CMS setup,                                 *
* 1.      'xxxx'  for the 3 detector regions (XXXX=TRAK,CALO,MUON)     *
* 2.            'yyyy'  subdetector regionple (MB, MF, HF, ..)         *
*  ...                                                                 *
*  These levels are defined via tz-title bank SETU:                    *
*#. level                                                              *
*#.    0         1         2          3                                *
*#.   Genetic Detector type & No. of element in the given level        *
*:CMSE 1000000 5  :TRAK 10000 3  :PXLX 11000 2  :PBXL  11100 0         *
*                                               :PFXL  11200 0         *
*                                :SVTX 12000 2  :TSBX  12100 0         *
*                                               :TSFX  12200 0         *
*                                :MSGC 13000 3  :TGBX  13100 0         *
*                                               :TGBY  13100 0         *
*                                               :TGFX  13200 0         *
*                 :MUON 30000 2  :MB   30100 2  :MDBX  31100 0         *
*                                               :MRBX  32100 0         *
*                                :MF   30200 2  :MCFX  31200 0         *
*                                               :MRFX  32200 0         *
*                 :CALO 20000 3  :ECAL 21000 4  :EB    21100 0         *
*                                               :EF    21200 0         *
*                                               :SB    14100 0         *
*                                               :SF    14200 0         *
*                                :HCAL 22000 3  :HB    22100 0         *
*                                               :HF    22200 0         *
*                                               :HTAL  22100 0         *
*                                :VCAL 23000 0                         *
*                 :OCMS     0 1  :OQUA     0 0                         *
*                 :BEAM     0 0                                        *
*                                                                      *
* GEOM                 (Detector geometry specification)               *
* ----                                                                 *
*                                                                      *
* +----+----+-----------+---------+------------------------------------*
* |WORD|TYPE| VARIABLE  | DEFAULT |      CONTENT                       *
* +----+----+-----------+---------+------------------------------------*
* |  1 |  M | LGEOM(1)  |  | geometrical setup to be used at the*
* | .. |  M |  ....     |  .....  | time of reconstruction             *
* | 20 |  M | LGEOM(20) |  |                                    *
* +----+----+-----------+---------+------------------------------------*
*                                                                      *
* The data card geom, interpreted by the routine utgeom, consists of   *
* keywords each followed by an argument.                               *
*                                                                      *
* There are four levels of keywords :                                  *
*                                                                      *
* 1.  'CMS5'  for CMS hall at point 5, which includes:                 *
*               'CMSE'  --- the whole CMS setup,                       *
*               'QUAD'  --- low betaquadrupoles,                       *
*               'CMSW','CMSZ','TUNN' --- walls and tunnel              *
* 2.  'CMSE'  for the whole CMS setup                                  *
* 3.  'xxxx'  for the 3 detector regions (XXXX=TRAK,CALO,MUON)         *
* 4.  'yyyy'  subdetector region (for example MBAR. MCAP)              *
*                                                                      *
* The arguments (range  0 to 999) can be                               *
*                                                                      *
*  -1 not wanted                                                       *
*   0 dummy                                                            *
*   1 average                                                          *
*   2 simplified geometry  (default for reconstruction, may be omitted)*
*   3 exact geometry  (default for simulation, may be omitted)         *
*   4-10 reserved for more detailed geometries for event simulation    *
*        or/and reconstruction                                         *
* The level 1 (CMSE) propagates its argument to all level 2 keywords   *
* except those explicitly mentioned. the level 2 (region keyword)      *
* propagates its argument to all relevant level 3 keywords, except those
* explicitly mentioned. If any level 3 keyword argument is explicitly  *
* specfied by the user, it is transmitted under special circumstances  *
* the corresponding level 2 keyword (so that level 3 keyword argument. *
* Could never be larger than its corresponding level 2 keyword argument*
* LEVEL 2 DOESN't propagate up to level 1 in the same way, of course.  *
* Think for a minute of what it means and how user friendly it is!     *
*                                                                      *
* List of meaningful geometry keywords per region (as quoted in UTGEOM)*
*                                                                      *
*  TRAK region : 'PXLX', 'SVTX', 'MGSX'                               *
*  CALO region : 'ECAL', 'HCAL', 'FCAL'                                *
*  MUON region : 'MBAR', 'MCAP'                                        *
*                                                                      *
* Examples :                                                           *
*                                                                      *
*       GEOM  'CMSE'                                                   *
*       GEOM  'CALO' 'ECAL' -1                                         *
*       GEOM  'CMSE' 'VCAL' -1                                         *
*                                                                      *
* SELE  (EVENT SELECTION)                                              *
* ----                                                                 *
*                                                                      *
* +----+----+-----------+---------+------------------------------------*
* |WORD|TYPE| VARIABLE  | DEFAULT |      CONTENT                       *
* +----+----+-----------+---------+------------------------------------*
* |  1 |  I | ISEL(1)   |    -1   | list of requests for event selection
* | .. |  I |  ...      |    -1   |                                    *
* |300 |  I | ISEL(300) |    -1   |                                    *
* +----+----+-----------+---------+------------------------------------*
*                                                                      *
* The data card sele accepts sequences of three numbers : run number -
* event number of first event to be processed - number of consecutive
* events to be processed, including first.
*
* If 0, the run number is not tested, unless a non-zero run number has
* been already required, in which case that run number is used for the
* test.
*
* When only one sequence is given the third element of the triplet can
* be omitted, in which case a large number is taken by default.
* if 0, the third element of a triplet is interpreted as 1
*
*
* SETS  (DETECTOR COMPONENT ACTION)
* ----
*
* +----+----+-----------+---------+--------------------------------------+
* |WORD|TYPE| VARIABLE  | DEFAULT |      CONTENT                         |
* +----+----+-----------+---------+--------------------------------------+
* |  1 |  M | LSETS(1)  |  | SETS WHERE ACTION HAS TO BE CARRIED  |
* | .. |  M |  ....     |  .....  | OUT AND THE TYPES OF ACTIONS TO BE   |
* | 20 |  M | LSETS(20) |  | TAKEN IN EACH OF THESE SETS          |
* +----+----+-----------+---------+--------------------------------------+
*
* The sets of sensitive detectors are defined in the routines utjset +
* sijset(simulation), + rejset (reconstruction) during the creation of the
* initialisation structures, after the geometrical setup has been defined.
* in these routines, detector aliases are defined and are given names
* which may be, but do not need to be, names of existing volumes.
*
* The 'tracking medium' parameter isvol is no more used, it is set to -1
* for all media in dematm. see subroutines utsvol, and gfinds in patch
* GEANTDEV.
*
* The data card sets, interpreted by the subroutine utsets, consists of
* keywords, each followed by an argument.
*
* There are three levels of keywords :
*
*   1.'CMSE' for all detectors compatible with the current geometry
*   2.'SET names' as defined by the calls to gsdet/v
*   3.'Detector keywords' (SEE BELOW)
*
* The arguments (range -10 to 10) are defined in the appropriate pam
* files (cmsi or reco).
*
* The same rule as for the geom card applies to the transmission of
* argument value through the different levels down and up.
*
* List of meaningful detector keywords per set (as quoted in utsets) :
*
* EXAMPLES :
*
* SETU  (control of the initialization data structures)
* ----
*
* +----+----+-----------+---------+--------------------------------------+
* |WORD|TYPE| VARIABLE  | DEFAULT |      CONTENT                         |
* +----+----+-----------+---------+--------------------------------------+
* |  1 |  I | GEOMEM    | BUILT-IN| GEOM ID (0 OR -VE FOR CREATION)      |
* |  2 |  I | SETSEM    | BUILT-IN| SETS ID (0 FOR CREATION)             |
* +----+----+-----------+---------+--------------------------------------+
#endif