g321x.c File Reference

Go to the source code of this file.

Classes

struct  _BrAction
struct  _BrClass
struct  _KmIcon
struct  _KmClass
struct  _KmButton
struct  KmParFile
struct  KmParInt
struct  KmParOption
struct  KmParameter
struct  _KmCommand
struct  _KmMenu

Typedefs

typedef int IntFunc ()
typedef char * CharFunc ()
typedef char ** pCharFunc ()
typedef void SUBROUTINE ()
typedef unsigned long KmPixmap
typedef void * KmWidget
typedef void * KmCalldata
typedef struct _BrAction BrAction
typedef struct _BrClass BrClass
typedef struct _KmIcon KmIcon
typedef struct _KmClass KmClass
typedef struct _KmButton KmButton
typedef KmParInt KmParReal
typedef struct _KmCommand KmCommand
typedef struct _KmMenu KmMenu

Enumerations

enum  BrActTag {
  BRACT_OPEN = 0, BRACT_ROOT = 1, BRACT_CONT = 2, BRACT_GRAF = 3,
  BRACT_OPEN = 0, BRACT_ROOT = 1, BRACT_CONT = 2, BRACT_GRAF = 3
}
enum  BrActFlag {
  BrActUpdate = 0x01, BrActSeparator = 0x02, BrActToggle = 0x04, BrActToggleOn = 0x08,
  BrActSensitive = 0x10, BrActUpdate = 0x01, BrActSeparator = 0x02, BrActToggle = 0x04,
  BrActToggleOn = 0x08, BrActSensitive = 0x10
}
enum  KmButtFlag {
  KmButtSensitive = 0x00, KmButtNonSensitive = 0x01, KmButtToggleSensitive = 0x02, KmButtSensitivityMask = 0x03,
  KmButtSeparator = 0x04, KmButtBrowser = 0x08, KmButtSensitive = 0x00, KmButtNonSensitive = 0x01,
  KmButtToggleSensitive = 0x02, KmButtSensitivityMask = 0x03, KmButtSeparator = 0x04, KmButtBrowser = 0x08
}
enum  KmParFlag {
  KmFLAG_FORGET = 0x01, KmFLAG_MINUS = 0x02, KmFLAG_QUOTE = 0x04, KmFLAG_VARARG = 0x08,
  KmFLAG_CONST = 0x10, KmFLAG_HIDDEN = 0x20, KmFLAG_SEPARATE = 0x40, KmFLAG_FORGET = 0x01,
  KmFLAG_MINUS = 0x02, KmFLAG_QUOTE = 0x04, KmFLAG_VARARG = 0x08, KmFLAG_CONST = 0x10,
  KmFLAG_HIDDEN = 0x20, KmFLAG_SEPARATE = 0x40
}
enum  KmParType {
  KmTYPE_CHAR = 'C', KmTYPE_FILE = 'F', KmTYPE_INT = 'I', KmTYPE_OPTION = 'O',
  KmTYPE_REAL = 'R', KmTYPE_CHAR = 'C', KmTYPE_FILE = 'F', KmTYPE_INT = 'I',
  KmTYPE_OPTION = 'O', KmTYPE_REAL = 'R'
}

Functions

void klnkmenu ()
void klnkbrcl ()
void klnkkmcl ()
void klnkicon ()
void klnkbutt ()
void gkdraw_ ()
void gxdraw_ ()
void gxpick_ ()
void gkgcon_ ()
void gxgcon_ ()
void gklist_ ()
void gxlist_ ()
void gkgeom_ ()
void gxgeom_ ()
void gkcont_ ()
void gxcont_ ()
void gkdz_ ()
void gxdz_ ()
void gkfz_ ()
void gxfz_ ()
void gkrz_ ()
void gxrz_ ()
void gkscan_ ()
void gxscan_ ()
void gkphys_ ()
void gxphys_ ()
void gkfort_ ()
void gxfort_ ()

Variables

struct {
   IntFunc *   graf_info_C
   SUBROUTINE *   graf_size_F
   SUBROUTINE *   graf_pick_F
   SUBROUTINE *   graf_attr_F
   SUBROUTINE *   graf_close_F
   pCharFunc *   user_FallBk_C
   IntFunc *   user_TopWid_C
klnkaddr

Typedef Documentation

typedef struct _BrAction BrAction
typedef struct _BrClass BrClass
typedef char* CharFunc()

Definition at line 42 of file g321x.c.

typedef int IntFunc()

Definition at line 41 of file g321x.c.

typedef struct _KmButton KmButton
typedef void* KmCalldata

Definition at line 57 of file g321x.c.

typedef struct _KmClass KmClass
typedef struct _KmCommand KmCommand
typedef struct _KmIcon KmIcon
typedef struct _KmMenu KmMenu

Definition at line 204 of file g321x.c.

typedef unsigned long KmPixmap

Definition at line 55 of file g321x.c.

typedef void* KmWidget

Definition at line 56 of file g321x.c.

typedef char** pCharFunc()

Definition at line 43 of file g321x.c.

typedef void SUBROUTINE()

Definition at line 44 of file g321x.c.


Enumeration Type Documentation

enum BrActFlag
Enumerator:
BrActUpdate 
BrActSeparator 
BrActToggle 
BrActToggleOn 
BrActSensitive 
BrActUpdate 
BrActSeparator 
BrActToggle 
BrActToggleOn 
BrActSensitive 

Definition at line 66 of file g321x.c.

00066               {                  /*                                         */
00067    BrActUpdate    = 0x01,        /* browser window has to be updated ('!')  */
00068    BrActSeparator = 0x02,        /* put separator in menu ('/')             */
00069    BrActToggle    = 0x04,        /* register as toggle button               */
00070    BrActToggleOn  = 0x08,        /* toggle state is on                      */
00071    BrActSensitive = 0x10         /* button is sensitive                     */
00072  } BrActFlag;                    /*                                         */

enum BrActTag
Enumerator:
BRACT_OPEN 
BRACT_ROOT 
BRACT_CONT 
BRACT_GRAF 
BRACT_OPEN 
BRACT_ROOT 
BRACT_CONT 
BRACT_GRAF 

Definition at line 59 of file g321x.c.

00059               {                  /*                                         */
00060    BRACT_OPEN = 0,               /*                                         */
00061    BRACT_ROOT = 1,               /*                                         */
00062    BRACT_CONT = 2,               /*                                         */
00063    BRACT_GRAF = 3                /*                                         */
00064  } BrActTag;                     /*                                         */

enum KmButtFlag
Enumerator:
KmButtSensitive 
KmButtNonSensitive 
KmButtToggleSensitive 
KmButtSensitivityMask 
KmButtSeparator 
KmButtBrowser 
KmButtSensitive 
KmButtNonSensitive 
KmButtToggleSensitive 
KmButtSensitivityMask 
KmButtSeparator 
KmButtBrowser 

Definition at line 128 of file g321x.c.

00128              {                  /*                                         */
00129   KmButtSensitive       = 0x00, /* sensitive button                        */
00130   KmButtNonSensitive    = 0x01, /* non-sensitive button ('NS')             */
00131   KmButtToggleSensitive = 0x02, /* toggle-sensitive button ('TS')          */
00132   KmButtSensitivityMask = 0x03, /* mask for sensitivity type               */
00133   KmButtSeparator       = 0x04, /* put separator in menu ('/')             */
00134   KmButtBrowser         = 0x08  /* button is in main browser ('BR')        */
00135  } KmButtFlag;                   /*                                         */

enum KmParFlag
Enumerator:
KmFLAG_FORGET 
KmFLAG_MINUS 
KmFLAG_QUOTE 
KmFLAG_VARARG 
KmFLAG_CONST 
KmFLAG_HIDDEN 
KmFLAG_SEPARATE 
KmFLAG_FORGET 
KmFLAG_MINUS 
KmFLAG_QUOTE 
KmFLAG_VARARG 
KmFLAG_CONST 
KmFLAG_HIDDEN 
KmFLAG_SEPARATE 

Definition at line 165 of file g321x.c.

00165              {                  /*                                         */
00166   KmFLAG_FORGET = 0x01,         /* last value is not kept for Motif panels */
00167   KmFLAG_MINUS  = 0x02,         /* -VALUE is not an abbrev for CHOPT=VALUE */
00168   KmFLAG_QUOTE  = 0x04,         /* do not remove quotes                    */
00169   KmFLAG_VARARG = 0x08,         /* append additional args to this param.   */
00170   KmFLAG_CONST  = 0x10,         /* do not allow to assign a value          */
00171   KmFLAG_HIDDEN = 0x20,         /* do not show in menus                    */
00172   KmFLAG_SEPARATE = 0x40        /* treat arguments as separate tokens      */
00173  } KmParFlag;                    /*                                         */

enum KmParType
Enumerator:
KmTYPE_CHAR 
KmTYPE_FILE 
KmTYPE_INT 
KmTYPE_OPTION 
KmTYPE_REAL 
KmTYPE_CHAR 
KmTYPE_FILE 
KmTYPE_INT 
KmTYPE_OPTION 
KmTYPE_REAL 

Definition at line 175 of file g321x.c.

00175               {                  /*                                         */
00176    KmTYPE_CHAR   = 'C',          /* character string                        */
00177    KmTYPE_FILE   = 'F',          /* file name                               */
00178    KmTYPE_INT    = 'I',          /* integer                                 */
00179    KmTYPE_OPTION = 'O',          /* option                                  */
00180    KmTYPE_REAL   = 'R'           /* real                                    */
00181  } KmParType;                    /*                                         */


Function Documentation

void gkcont_ (  ) 

Definition at line 4286 of file g321x.c.

References gkdz_(), gxdz_(), klnkmenu(), KmTYPE_CHAR, KmTYPE_INT, KmTYPE_OPTION, and KmTYPE_REAL.

Referenced by gkfort_(), and gkgeom_().

04287 {
04288  
04289 static char *_GEANT_CONTROL_DEBUG_IDEB_range[] = { "ON", "OFF" };
04290 static char *_GEANT_CONTROL_DEBUG_IDEB_text[] = { (char*)0, (char*)0 };
04291 static KmParOption _GEANT_CONTROL_DEBUG_IDEB_type = {
04292  _GEANT_CONTROL_DEBUG_IDEB_text, (int*)0, (int*)0 };
04293 static KmParameter _GEANT_CONTROL_DEBUG_IDEB = { "IDEB", 4, "Debug option",
04294  "ON", (char*)0, 8, 2, _GEANT_CONTROL_DEBUG_IDEB_range, 2,
04295  _GEANT_CONTROL_DEBUG_IDEB_range, (KmParFlag)0, KmTYPE_OPTION,
04296  &_GEANT_CONTROL_DEBUG_IDEB_type };
04297 static KmParameter *_GEANT_CONTROL_DEBUG_parameters[] = {
04298  &_GEANT_CONTROL_DEBUG_IDEB };
04299 static char *_GEANT_CONTROL_DEBUG_guidance[] = { "If ideb='ON  ' then :",
04300  " idebug=1, idemin=1, idemax=1000000, itime=1", "else :",
04301  " idebug=0, idemin=0, idemax=0" };
04302 static KmCommand _GEANT_CONTROL_DEBUG = {  (KmCommand*)0,
04303  "/GEANT/CONTROL/DEBUG", "DEBUG", 0, 2, 1, 0, _GEANT_CONTROL_DEBUG_parameters,
04304  0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 4,
04305  _GEANT_CONTROL_DEBUG_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
04306  (char*)0, (int*)0 };
04307  
04308 static KmParInt    _GEANT_CONTROL_PRKINE_NUMB_type = { (char*)0, (char*)0,
04309  (char*)0, (char*)0, 0 };
04310 static KmParameter _GEANT_CONTROL_PRKINE_NUMB = { "NUMB", 4, "Track number",
04311  (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04312  &_GEANT_CONTROL_PRKINE_NUMB_type };
04313 static KmParameter *_GEANT_CONTROL_PRKINE_parameters[] = {
04314  &_GEANT_CONTROL_PRKINE_NUMB };
04315 static char *_GEANT_CONTROL_PRKINE_guidance[] = { "CALL GPKINE(numb)" };
04316 static KmCommand _GEANT_CONTROL_PRKINE = { &_GEANT_CONTROL_DEBUG,
04317  "/GEANT/CONTROL/PRKINE", "PRKINE", 0, 2, 1, 1,
04318  _GEANT_CONTROL_PRKINE_parameters, 0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0,
04319  (pCharFunc*)0, 1, _GEANT_CONTROL_PRKINE_guidance, 0, (char**)0, 0, (char**)0,
04320  0, (char**)0, (char*)0, (int*)0 };
04321  
04322 static KmParInt    _GEANT_CONTROL_PPART_NUMB_type = { (char*)0, (char*)0,
04323  (char*)0, (char*)0, 0 };
04324 static KmParameter _GEANT_CONTROL_PPART_NUMB = { "NUMB", 4, "Particle number",
04325  (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04326  &_GEANT_CONTROL_PPART_NUMB_type };
04327 static KmParameter *_GEANT_CONTROL_PPART_parameters[] = {
04328  &_GEANT_CONTROL_PPART_NUMB };
04329 static char *_GEANT_CONTROL_PPART_guidance[] = { "CALL GPPART(numb)" };
04330 static KmCommand _GEANT_CONTROL_PPART = { &_GEANT_CONTROL_PRKINE,
04331  "/GEANT/CONTROL/PPART", "PPART", 0, 2, 1, 1, _GEANT_CONTROL_PPART_parameters,
04332  0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 1,
04333  _GEANT_CONTROL_PPART_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
04334  (char*)0, (int*)0 };
04335  
04336 static KmParInt    _GEANT_CONTROL_SPART_IPART_type = { (char*)0, (char*)0,
04337  (char*)0, (char*)0, 0 };
04338 static KmParameter _GEANT_CONTROL_SPART_IPART = { "IPART", 5,
04339  "Particle number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
04340  (KmParFlag)0, KmTYPE_INT, &_GEANT_CONTROL_SPART_IPART_type };
04341 static KmParameter _GEANT_CONTROL_SPART_NAPART = { "NAPART", 6,
04342  "Particle name", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
04343  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
04344 static KmParInt    _GEANT_CONTROL_SPART_ITRTYP_type = { (char*)0, (char*)0,
04345  (char*)0, (char*)0, 0 };
04346 static KmParameter _GEANT_CONTROL_SPART_ITRTYP = { "ITRTYP", 6, " ", (char*)0,
04347  (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04348  &_GEANT_CONTROL_SPART_ITRTYP_type };
04349 static KmParReal   _GEANT_CONTROL_SPART_AMASS_type = { (char*)0, (char*)0,
04350  (char*)0, (char*)0, 0 };
04351 static KmParameter _GEANT_CONTROL_SPART_AMASS = { "AMASS", 5, "Mass",
04352  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04353  KmTYPE_REAL, &_GEANT_CONTROL_SPART_AMASS_type };
04354 static KmParReal   _GEANT_CONTROL_SPART_CHARGE_type = { (char*)0, (char*)0,
04355  (char*)0, (char*)0, 0 };
04356 static KmParameter _GEANT_CONTROL_SPART_CHARGE = { "CHARGE", 6, "Charge",
04357  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04358  KmTYPE_REAL, &_GEANT_CONTROL_SPART_CHARGE_type };
04359 static KmParReal   _GEANT_CONTROL_SPART_TLIFE_type = { (char*)0, (char*)0,
04360  (char*)0, (char*)0, 0 };
04361 static KmParameter _GEANT_CONTROL_SPART_TLIFE = { "TLIFE", 5, "Lifetime",
04362  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04363  KmTYPE_REAL, &_GEANT_CONTROL_SPART_TLIFE_type };
04364 static KmParReal   _GEANT_CONTROL_SPART_UBUF_type = { (char*)0, (char*)0,
04365  (char*)0, (char*)0, 0 };
04366 static KmParameter _GEANT_CONTROL_SPART_UBUF = { "UBUF", 4, " ", (char*)0,
04367  (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
04368  &_GEANT_CONTROL_SPART_UBUF_type };
04369 static KmParInt    _GEANT_CONTROL_SPART_NWBUF_type = { (char*)0, (char*)0,
04370  (char*)0, (char*)0, 0 };
04371 static KmParameter _GEANT_CONTROL_SPART_NWBUF = { "NWBUF", 5, " ", (char*)0,
04372  (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04373  &_GEANT_CONTROL_SPART_NWBUF_type };
04374 static KmParReal   _GEANT_CONTROL_SPART_BRATIO_type = { (char*)0, (char*)0,
04375  (char*)0, (char*)0, 0 };
04376 static KmParameter _GEANT_CONTROL_SPART_BRATIO = { "BRATIO", 6,
04377  "Branching ratios", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
04378  (KmParFlag)0, KmTYPE_REAL, &_GEANT_CONTROL_SPART_BRATIO_type };
04379 static KmParInt    _GEANT_CONTROL_SPART_MODE_type = { (char*)0, (char*)0,
04380  (char*)0, (char*)0, 0 };
04381 static KmParameter _GEANT_CONTROL_SPART_MODE = { "MODE", 4, "Decay mode",
04382  (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04383  &_GEANT_CONTROL_SPART_MODE_type };
04384 static KmParameter *_GEANT_CONTROL_SPART_parameters[] = {
04385  &_GEANT_CONTROL_SPART_IPART, &_GEANT_CONTROL_SPART_NAPART,
04386  &_GEANT_CONTROL_SPART_ITRTYP, &_GEANT_CONTROL_SPART_AMASS,
04387  &_GEANT_CONTROL_SPART_CHARGE, &_GEANT_CONTROL_SPART_TLIFE,
04388  &_GEANT_CONTROL_SPART_UBUF, &_GEANT_CONTROL_SPART_NWBUF,
04389  &_GEANT_CONTROL_SPART_BRATIO, &_GEANT_CONTROL_SPART_MODE };
04390 static char *_GEANT_CONTROL_SPART_guidance[] = {
04391  "CALL GSPART(ipart,napart,itrtyp,amass,charge,tlife,ubuf,nwbuf);",
04392  "CALL GSDK(ipart,bratio,mode)" };
04393 static KmCommand _GEANT_CONTROL_SPART = { &_GEANT_CONTROL_PPART,
04394  "/GEANT/CONTROL/SPART", "SPART", 0, 2, 10, 10,
04395  _GEANT_CONTROL_SPART_parameters, 0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0,
04396  (pCharFunc*)0, 2, _GEANT_CONTROL_SPART_guidance, 0, (char**)0, 0, (char**)0,
04397  0, (char**)0, (char*)0, (int*)0 };
04398  
04399 static KmParInt    _GEANT_CONTROL_STPAR_ITMED_type = { (char*)0, (char*)0,
04400  (char*)0, (char*)0, 0 };
04401 static KmParameter _GEANT_CONTROL_STPAR_ITMED = { "ITMED", 5, "Medium number",
04402  (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04403  &_GEANT_CONTROL_STPAR_ITMED_type };
04404 static KmParameter _GEANT_CONTROL_STPAR_CHPAR = { "CHPAR", 5,
04405  "Cut or mechanism", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
04406  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
04407 static KmParReal   _GEANT_CONTROL_STPAR_PARVAL_type = { (char*)0, (char*)0,
04408  (char*)0, (char*)0, 0 };
04409 static KmParameter _GEANT_CONTROL_STPAR_PARVAL = { "PARVAL", 6, "Value",
04410  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04411  KmTYPE_REAL, &_GEANT_CONTROL_STPAR_PARVAL_type };
04412 static KmParameter *_GEANT_CONTROL_STPAR_parameters[] = {
04413  &_GEANT_CONTROL_STPAR_ITMED, &_GEANT_CONTROL_STPAR_CHPAR,
04414  &_GEANT_CONTROL_STPAR_PARVAL };
04415 static char *_GEANT_CONTROL_STPAR_guidance[] = {
04416  "CALL GSTPAR(itmed,chpar,parval)" };
04417 static KmCommand _GEANT_CONTROL_STPAR = { &_GEANT_CONTROL_SPART,
04418  "/GEANT/CONTROL/STPAR", "STPAR", 0, 2, 3, 3, _GEANT_CONTROL_STPAR_parameters,
04419  0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 1,
04420  _GEANT_CONTROL_STPAR_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
04421  (char*)0, (int*)0 };
04422  
04423 static KmParInt    _GEANT_CONTROL_DRMAT_IMATE_type = { (char*)0, (char*)0,
04424  (char*)0, (char*)0, 0 };
04425 static KmParameter _GEANT_CONTROL_DRMAT_IMATE = { "IMATE", 5,
04426  "Material number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
04427  (KmParFlag)0, KmTYPE_INT, &_GEANT_CONTROL_DRMAT_IMATE_type };
04428 static KmParInt    _GEANT_CONTROL_DRMAT_IPART_type = { (char*)0, (char*)0,
04429  (char*)0, (char*)0, 0 };
04430 static KmParameter _GEANT_CONTROL_DRMAT_IPART = { "IPART", 5,
04431  "Particle number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
04432  (KmParFlag)0, KmTYPE_INT, &_GEANT_CONTROL_DRMAT_IPART_type };
04433 static KmParameter _GEANT_CONTROL_DRMAT_MECAN = { "MECAN", 5,
04434  "List of mechanism", "ALL", (char*)0, 20, 0, (char**)0, 0, (char**)0,
04435  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
04436 static KmParameter *_GEANT_CONTROL_DRMAT_parameters[] = {
04437  &_GEANT_CONTROL_DRMAT_IMATE, &_GEANT_CONTROL_DRMAT_IPART,
04438  &_GEANT_CONTROL_DRMAT_MECAN };
04439 static char *_GEANT_CONTROL_DRMAT_guidance[] = {
04440  "CALL GDRMAT(imate,ipart,mecan,nmec)",
04441  "If MECAN = 'ALL' all the mechanisms are plotted. If the material number",
04442  "is negative, the cross sections relative to material ABS(IMATE) will",
04443  "be plotted in barns rather than in 1/cm.",
04444  "Note that it is not possible to plot anything if GSTMED has not been\
04445  called", "for the material number IMATE." };
04446 static KmCommand _GEANT_CONTROL_DRMAT = { &_GEANT_CONTROL_STPAR,
04447  "/GEANT/CONTROL/DRMAT", "DRMAT", 0, 2, 3, 2, _GEANT_CONTROL_DRMAT_parameters,
04448  0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 6,
04449  _GEANT_CONTROL_DRMAT_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
04450  (char*)0, (int*)0 };
04451  
04452 static KmParInt    _GEANT_CONTROL_PLMAT_IMATE_type = { (char*)0, (char*)0,
04453  (char*)0, (char*)0, 0 };
04454 static KmParameter _GEANT_CONTROL_PLMAT_IMATE = { "IMATE", 5,
04455  "Material number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
04456  (KmParFlag)0, KmTYPE_INT, &_GEANT_CONTROL_PLMAT_IMATE_type };
04457 static KmParInt    _GEANT_CONTROL_PLMAT_IPART_type = { (char*)0, (char*)0,
04458  (char*)0, (char*)0, 0 };
04459 static KmParameter _GEANT_CONTROL_PLMAT_IPART = { "IPART", 5,
04460  "Particle number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
04461  (KmParFlag)0, KmTYPE_INT, &_GEANT_CONTROL_PLMAT_IPART_type };
04462 static KmParameter _GEANT_CONTROL_PLMAT_MECAN = { "MECAN", 5, "Mechanism",
04463  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04464  KmTYPE_CHAR,  (void*)0 };
04465 static KmParInt    _GEANT_CONTROL_PLMAT_IDM_type = { (char*)0, (char*)0,
04466  (char*)0, (char*)0, 0 };
04467 static KmParameter _GEANT_CONTROL_PLMAT_IDM = { "IDM", 3, "ID mode option",
04468  "0", (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04469  &_GEANT_CONTROL_PLMAT_IDM_type };
04470 static KmParameter *_GEANT_CONTROL_PLMAT_parameters[] = {
04471  &_GEANT_CONTROL_PLMAT_IMATE, &_GEANT_CONTROL_PLMAT_IPART,
04472  &_GEANT_CONTROL_PLMAT_MECAN, &_GEANT_CONTROL_PLMAT_IDM };
04473 static char *_GEANT_CONTROL_PLMAT_guidance[] = {
04474  "CALL GPLMAT(imate,ipart,mecan,nekbin,elow,idm)",
04475  " IDM convention for histogramming mode :",
04476  " IDM.gt.0  fill, print,   keep   histogram(s)",
04477  " IDM.eq.0  fill, print,   delete histogram(s)",
04478  " IDM.lt.0  fill, noprint, keep   histogram(s)",
04479  "If MECAN = 'ALL' all the mechanisms are histogrammed. If the material\
04480  number",
04481  "is negative, the cross sections relative to material ABS(IMATE) will",
04482  "be histogrammed in barns rather than in 1/cm." };
04483 static KmCommand _GEANT_CONTROL_PLMAT = { &_GEANT_CONTROL_DRMAT,
04484  "/GEANT/CONTROL/PLMAT", "PLMAT", 0, 2, 4, 3, _GEANT_CONTROL_PLMAT_parameters,
04485  0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 8,
04486  _GEANT_CONTROL_PLMAT_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
04487  (char*)0, (int*)0 };
04488  
04489 static KmParInt    _GEANT_CONTROL_PRMAT_IMATE_type = { (char*)0, (char*)0,
04490  (char*)0, (char*)0, 0 };
04491 static KmParameter _GEANT_CONTROL_PRMAT_IMATE = { "IMATE", 5,
04492  "Material number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
04493  (KmParFlag)0, KmTYPE_INT, &_GEANT_CONTROL_PRMAT_IMATE_type };
04494 static KmParInt    _GEANT_CONTROL_PRMAT_IPART_type = { (char*)0, (char*)0,
04495  (char*)0, (char*)0, 0 };
04496 static KmParameter _GEANT_CONTROL_PRMAT_IPART = { "IPART", 5,
04497  "Particle number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
04498  (KmParFlag)0, KmTYPE_INT, &_GEANT_CONTROL_PRMAT_IPART_type };
04499 static KmParameter _GEANT_CONTROL_PRMAT_MECAN = { "MECAN", 5, "Mechanism",
04500  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04501  KmTYPE_CHAR,  (void*)0 };
04502 static KmParameter *_GEANT_CONTROL_PRMAT_parameters[] = {
04503  &_GEANT_CONTROL_PRMAT_IMATE, &_GEANT_CONTROL_PRMAT_IPART,
04504  &_GEANT_CONTROL_PRMAT_MECAN };
04505 static char *_GEANT_CONTROL_PRMAT_guidance[] = {
04506  " CALL GPRMAT(imate,ipart,mecan,nekbin,elow)" };
04507 static KmCommand _GEANT_CONTROL_PRMAT = { &_GEANT_CONTROL_PLMAT,
04508  "/GEANT/CONTROL/PRMAT", "PRMAT", 0, 2, 3, 3, _GEANT_CONTROL_PRMAT_parameters,
04509  0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 1,
04510  _GEANT_CONTROL_PRMAT_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
04511  (char*)0, (int*)0 };
04512  
04513 static KmParInt    _GEANT_CONTROL_PMATE_NUMB_type = { (char*)0, (char*)0,
04514  (char*)0, (char*)0, 0 };
04515 static KmParameter _GEANT_CONTROL_PMATE_NUMB = { "NUMB", 4, "Material number",
04516  (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04517  &_GEANT_CONTROL_PMATE_NUMB_type };
04518 static KmParameter *_GEANT_CONTROL_PMATE_parameters[] = {
04519  &_GEANT_CONTROL_PMATE_NUMB };
04520 static char *_GEANT_CONTROL_PMATE_guidance[] = { " CALL GPMATE(numb)" };
04521 static KmCommand _GEANT_CONTROL_PMATE = { &_GEANT_CONTROL_PRMAT,
04522  "/GEANT/CONTROL/PMATE", "PMATE", 0, 2, 1, 1, _GEANT_CONTROL_PMATE_parameters,
04523  0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 1,
04524  _GEANT_CONTROL_PMATE_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
04525  (char*)0, (int*)0 };
04526  
04527 static KmParInt    _GEANT_CONTROL_SMIXT_IMAT_type = { (char*)0, (char*)0,
04528  (char*)0, (char*)0, 0 };
04529 static KmParameter _GEANT_CONTROL_SMIXT_IMAT = { "IMAT", 4, "Material number",
04530  (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04531  &_GEANT_CONTROL_SMIXT_IMAT_type };
04532 static KmParameter _GEANT_CONTROL_SMIXT_NAMATE = { "NAMATE", 6,
04533  "Material name", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
04534  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
04535 static KmParReal   _GEANT_CONTROL_SMIXT_A_type = { (char*)0, (char*)0,
04536  (char*)0, (char*)0, 0 };
04537 static KmParameter _GEANT_CONTROL_SMIXT_A = { "A", 1, "Atomic weight",
04538  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04539  KmTYPE_REAL, &_GEANT_CONTROL_SMIXT_A_type };
04540 static KmParReal   _GEANT_CONTROL_SMIXT_Z_type = { (char*)0, (char*)0,
04541  (char*)0, (char*)0, 0 };
04542 static KmParameter _GEANT_CONTROL_SMIXT_Z = { "Z", 1, "Atomic number",
04543  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04544  KmTYPE_REAL, &_GEANT_CONTROL_SMIXT_Z_type };
04545 static KmParReal   _GEANT_CONTROL_SMIXT_DENS_type = { (char*)0, (char*)0,
04546  (char*)0, (char*)0, 0 };
04547 static KmParameter _GEANT_CONTROL_SMIXT_DENS = { "DENS", 4, "Density",
04548  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04549  KmTYPE_REAL, &_GEANT_CONTROL_SMIXT_DENS_type };
04550 static KmParInt    _GEANT_CONTROL_SMIXT_NLMAT_type = { (char*)0, (char*)0,
04551  (char*)0, (char*)0, 0 };
04552 static KmParameter _GEANT_CONTROL_SMIXT_NLMAT = { "NLMAT", 5, "Flag for WMAT",
04553  (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04554  &_GEANT_CONTROL_SMIXT_NLMAT_type };
04555 static KmParReal   _GEANT_CONTROL_SMIXT_WMAT_type = { (char*)0, (char*)0,
04556  (char*)0, (char*)0, 0 };
04557 static KmParameter _GEANT_CONTROL_SMIXT_WMAT = { "WMAT", 4,
04558  "Relative weights or n. of atoms in molecule", (char*)0, (char*)0, 12, 0,
04559  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
04560  &_GEANT_CONTROL_SMIXT_WMAT_type };
04561 static KmParameter *_GEANT_CONTROL_SMIXT_parameters[] = {
04562  &_GEANT_CONTROL_SMIXT_IMAT, &_GEANT_CONTROL_SMIXT_NAMATE,
04563  &_GEANT_CONTROL_SMIXT_A, &_GEANT_CONTROL_SMIXT_Z, &_GEANT_CONTROL_SMIXT_DENS,
04564  &_GEANT_CONTROL_SMIXT_NLMAT, &_GEANT_CONTROL_SMIXT_WMAT };
04565 static char *_GEANT_CONTROL_SMIXT_guidance[] = {
04566  " CALL GSMIXT(imat,namate,a,z,dens,nlmat,wmat)" };
04567 static KmCommand _GEANT_CONTROL_SMIXT = { &_GEANT_CONTROL_PMATE,
04568  "/GEANT/CONTROL/SMIXT", "SMIXT", 0, 2, 7, 7, _GEANT_CONTROL_SMIXT_parameters,
04569  0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 1,
04570  _GEANT_CONTROL_SMIXT_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
04571  (char*)0, (int*)0 };
04572  
04573 static KmParInt    _GEANT_CONTROL_SMATE_IMAT_type = { (char*)0, (char*)0,
04574  (char*)0, (char*)0, 0 };
04575 static KmParameter _GEANT_CONTROL_SMATE_IMAT = { "IMAT", 4, "Material number",
04576  (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04577  &_GEANT_CONTROL_SMATE_IMAT_type };
04578 static KmParameter _GEANT_CONTROL_SMATE_NAMATE = { "NAMATE", 6,
04579  "Material name", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
04580  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
04581 static KmParReal   _GEANT_CONTROL_SMATE_A_type = { (char*)0, (char*)0,
04582  (char*)0, (char*)0, 0 };
04583 static KmParameter _GEANT_CONTROL_SMATE_A = { "A", 1, "Atomic weight",
04584  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04585  KmTYPE_REAL, &_GEANT_CONTROL_SMATE_A_type };
04586 static KmParReal   _GEANT_CONTROL_SMATE_Z_type = { (char*)0, (char*)0,
04587  (char*)0, (char*)0, 0 };
04588 static KmParameter _GEANT_CONTROL_SMATE_Z = { "Z", 1, "Atomic number",
04589  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04590  KmTYPE_REAL, &_GEANT_CONTROL_SMATE_Z_type };
04591 static KmParReal   _GEANT_CONTROL_SMATE_DENS_type = { (char*)0, (char*)0,
04592  (char*)0, (char*)0, 0 };
04593 static KmParameter _GEANT_CONTROL_SMATE_DENS = { "DENS", 4, "Density",
04594  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04595  KmTYPE_REAL, &_GEANT_CONTROL_SMATE_DENS_type };
04596 static KmParReal   _GEANT_CONTROL_SMATE_RADL_type = { (char*)0, (char*)0,
04597  (char*)0, (char*)0, 0 };
04598 static KmParameter _GEANT_CONTROL_SMATE_RADL = { "RADL", 4,
04599  "Radiation lenght", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
04600  (KmParFlag)0, KmTYPE_REAL, &_GEANT_CONTROL_SMATE_RADL_type };
04601 static KmParReal   _GEANT_CONTROL_SMATE_ABSL_type = { (char*)0, (char*)0,
04602  (char*)0, (char*)0, 0 };
04603 static KmParameter _GEANT_CONTROL_SMATE_ABSL = { "ABSL", 4,
04604  "Absorption lenght", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
04605  (KmParFlag)0, KmTYPE_REAL, &_GEANT_CONTROL_SMATE_ABSL_type };
04606 static KmParReal   _GEANT_CONTROL_SMATE_UBUF_type = { (char*)0, (char*)0,
04607  (char*)0, (char*)0, 0 };
04608 static KmParameter _GEANT_CONTROL_SMATE_UBUF = { "UBUF", 4, " ", (char*)0,
04609  (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
04610  &_GEANT_CONTROL_SMATE_UBUF_type };
04611 static KmParInt    _GEANT_CONTROL_SMATE_NWBUF_type = { (char*)0, (char*)0,
04612  (char*)0, (char*)0, 0 };
04613 static KmParameter _GEANT_CONTROL_SMATE_NWBUF = { "NWBUF", 5, " ", (char*)0,
04614  (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04615  &_GEANT_CONTROL_SMATE_NWBUF_type };
04616 static KmParameter *_GEANT_CONTROL_SMATE_parameters[] = {
04617  &_GEANT_CONTROL_SMATE_IMAT, &_GEANT_CONTROL_SMATE_NAMATE,
04618  &_GEANT_CONTROL_SMATE_A, &_GEANT_CONTROL_SMATE_Z, &_GEANT_CONTROL_SMATE_DENS,
04619  &_GEANT_CONTROL_SMATE_RADL, &_GEANT_CONTROL_SMATE_ABSL,
04620  &_GEANT_CONTROL_SMATE_UBUF, &_GEANT_CONTROL_SMATE_NWBUF };
04621 static char *_GEANT_CONTROL_SMATE_guidance[] = {
04622  " CALL GSMATE(imat,namate,a,z,dens,radl,absl,ubuf,nwbuf)" };
04623 static KmCommand _GEANT_CONTROL_SMATE = { &_GEANT_CONTROL_SMIXT,
04624  "/GEANT/CONTROL/SMATE", "SMATE", 0, 2, 9, 9, _GEANT_CONTROL_SMATE_parameters,
04625  0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 1,
04626  _GEANT_CONTROL_SMATE_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
04627  (char*)0, (int*)0 };
04628  
04629 static KmParameter _GEANT_CONTROL_PDIGI_CHUSET = { "CHUSET", 6, "User set",
04630  "*", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
04631  (void*)0 };
04632 static KmParameter _GEANT_CONTROL_PDIGI_CHUDET = { "CHUDET", 6,
04633  "User detector", "*", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04634  KmTYPE_CHAR,  (void*)0 };
04635 static KmParameter *_GEANT_CONTROL_PDIGI_parameters[] = {
04636  &_GEANT_CONTROL_PDIGI_CHUSET, &_GEANT_CONTROL_PDIGI_CHUDET };
04637 static char *_GEANT_CONTROL_PDIGI_guidance[] = { " CALL GPDIGI(chuset,chudet)"
04638  };
04639 static KmCommand _GEANT_CONTROL_PDIGI = { &_GEANT_CONTROL_SMATE,
04640  "/GEANT/CONTROL/PDIGI", "PDIGI", 0, 2, 2, 0, _GEANT_CONTROL_PDIGI_parameters,
04641  0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 1,
04642  _GEANT_CONTROL_PDIGI_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
04643  (char*)0, (int*)0 };
04644  
04645 static KmParameter _GEANT_CONTROL_PHITS_CHUSET = { "CHUSET", 6, "User set",
04646  "*", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
04647  (void*)0 };
04648 static KmParameter _GEANT_CONTROL_PHITS_CHUDET = { "CHUDET", 6,
04649  "User detector", "*", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04650  KmTYPE_CHAR,  (void*)0 };
04651 static KmParInt    _GEANT_CONTROL_PHITS_NUMHI_type = { (char*)0, (char*)0,
04652  (char*)0, (char*)0, 0 };
04653 static KmParameter _GEANT_CONTROL_PHITS_NUMHI = { "NUMHI", 5, "Hit number",
04654  "0", (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04655  &_GEANT_CONTROL_PHITS_NUMHI_type };
04656 static KmParameter *_GEANT_CONTROL_PHITS_parameters[] = {
04657  &_GEANT_CONTROL_PHITS_CHUSET, &_GEANT_CONTROL_PHITS_CHUDET,
04658  &_GEANT_CONTROL_PHITS_NUMHI };
04659 static char *_GEANT_CONTROL_PHITS_guidance[] = { " CALL GPHITS(chuset,chudet)"
04660  };
04661 static KmCommand _GEANT_CONTROL_PHITS = { &_GEANT_CONTROL_PDIGI,
04662  "/GEANT/CONTROL/PHITS", "PHITS", 0, 2, 3, 0, _GEANT_CONTROL_PHITS_parameters,
04663  0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 1,
04664  _GEANT_CONTROL_PHITS_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
04665  (char*)0, (int*)0 };
04666  
04667 static KmParInt    _GEANT_CONTROL_OUTPUT_LP_LOUT_type = { (char*)0, (char*)0,
04668  (char*)0, (char*)0, 0 };
04669 static KmParameter _GEANT_CONTROL_OUTPUT_LP_LOUT = { "LOUT", 4,
04670  "New output unit", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
04671  (KmParFlag)0, KmTYPE_INT, &_GEANT_CONTROL_OUTPUT_LP_LOUT_type };
04672 static KmParameter *_GEANT_CONTROL_OUTPUT_LP_parameters[] = {
04673  &_GEANT_CONTROL_OUTPUT_LP_LOUT };
04674 static char *_GEANT_CONTROL_OUTPUT_LP_guidance[] = {
04675  "To change lout in /GCUNIT/",
04676  "Note: unit numbers 5,11,12,13,14,15 are reserved and cannot be used." };
04677 static KmCommand _GEANT_CONTROL_OUTPUT_LP = { &_GEANT_CONTROL_PHITS,
04678  "/GEANT/CONTROL/OUTPUT_LP", "OUTPUT_LP", 0, 2, 1, 1,
04679  _GEANT_CONTROL_OUTPUT_LP_parameters, 0, 0, gxcont_, (IntFunc*)0,
04680  (SUBROUTINE*)0, (pCharFunc*)0, 2, _GEANT_CONTROL_OUTPUT_LP_guidance, 0,
04681  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
04682  
04683 static KmParameter _GEANT_CONTROL_PRINT_NAME = { "NAME", 4, "Name", (char*)0,
04684  (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
04685  (void*)0 };
04686 static KmParInt    _GEANT_CONTROL_PRINT_NUMBER_type = { (char*)0, (char*)0,
04687  (char*)0, (char*)0, 0 };
04688 static KmParameter _GEANT_CONTROL_PRINT_NUMBER = { "NUMBER", 6, "Number", "0",
04689  (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04690  &_GEANT_CONTROL_PRINT_NUMBER_type };
04691 static KmParameter *_GEANT_CONTROL_PRINT_parameters[] = {
04692  &_GEANT_CONTROL_PRINT_NAME, &_GEANT_CONTROL_PRINT_NUMBER };
04693 static char *_GEANT_CONTROL_PRINT_guidance[] = { " CALL GPRINT(name,number)" };
04694 static KmCommand _GEANT_CONTROL_PRINT = { &_GEANT_CONTROL_OUTPUT_LP,
04695  "/GEANT/CONTROL/PRINT", "PRINT", 0, 2, 2, 2, _GEANT_CONTROL_PRINT_parameters,
04696  0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 1,
04697  _GEANT_CONTROL_PRINT_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
04698  (char*)0, (int*)0 };
04699  
04700 static KmParInt    _GEANT_CONTROL_MZLOGL_LEVEL_type = { (char*)0, (char*)0,
04701  (char*)0, (char*)0, 0 };
04702 static KmParameter _GEANT_CONTROL_MZLOGL_LEVEL = { "LEVEL", 5, "MZ log level",
04703  "0", (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04704  &_GEANT_CONTROL_MZLOGL_LEVEL_type };
04705 static KmParameter *_GEANT_CONTROL_MZLOGL_parameters[] = {
04706  &_GEANT_CONTROL_MZLOGL_LEVEL };
04707 static char *_GEANT_CONTROL_MZLOGL_guidance[] = {
04708  "Set the log level for the MZ package of ZEBRA: CALL MZLOGL(0,level)",
04709  " LEVEL = -3   no messages at all", "         -2   error messages only",
04710  "         -1   terse logging", "          0   normal",
04711  "         +1   log rare events", "         +2   log calls to MZ routines" };
04712 static KmCommand _GEANT_CONTROL_MZLOGL = { &_GEANT_CONTROL_PRINT,
04713  "/GEANT/CONTROL/MZLOGL", "MZLOGL", 0, 2, 1, 1,
04714  _GEANT_CONTROL_MZLOGL_parameters, 0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0,
04715  (pCharFunc*)0, 7, _GEANT_CONTROL_MZLOGL_guidance, 0, (char**)0, 0, (char**)0,
04716  0, (char**)0, (char*)0, (int*)0 };
04717  
04718 static KmParInt    _GEANT_CONTROL_SWITCH_ISWI_type = { (char*)0, (char*)0,
04719  (char*)0, (char*)0, 0 };
04720 static KmParameter _GEANT_CONTROL_SWITCH_ISWI = { "ISWI", 4, "Switch number",
04721  (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04722  &_GEANT_CONTROL_SWITCH_ISWI_type };
04723 static KmParInt    _GEANT_CONTROL_SWITCH_IVAL_type = { (char*)0, (char*)0,
04724  (char*)0, (char*)0, 0 };
04725 static KmParameter _GEANT_CONTROL_SWITCH_IVAL = { "IVAL", 4,
04726  "New switch value", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
04727  (KmParFlag)0, KmTYPE_INT, &_GEANT_CONTROL_SWITCH_IVAL_type };
04728 static KmParameter *_GEANT_CONTROL_SWITCH_parameters[] = {
04729  &_GEANT_CONTROL_SWITCH_ISWI, &_GEANT_CONTROL_SWITCH_IVAL };
04730 static char *_GEANT_CONTROL_SWITCH_guidance[] = {
04731  "Change one element of array ISWIT(10) in /GCFLAG/" };
04732 static KmCommand _GEANT_CONTROL_SWITCH = { &_GEANT_CONTROL_MZLOGL,
04733  "/GEANT/CONTROL/SWITCH", "SWITCH", 0, 2, 2, 2,
04734  _GEANT_CONTROL_SWITCH_parameters, 0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0,
04735  (pCharFunc*)0, 1, _GEANT_CONTROL_SWITCH_guidance, 0, (char**)0, 0, (char**)0,
04736  0, (char**)0, (char*)0, (int*)0 };
04737  
04738 static KmParInt    _GEANT_CONTROL_RNDM_ISEED1_type = { (char*)0, (char*)0,
04739  (char*)0, (char*)0, 0 };
04740 static KmParameter _GEANT_CONTROL_RNDM_ISEED1 = { "ISEED1", 6,
04741  "First seed for the random number generator", (char*)0, (char*)0, 8, 0,
04742  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04743  &_GEANT_CONTROL_RNDM_ISEED1_type };
04744 static KmParInt    _GEANT_CONTROL_RNDM_ISEED2_type = { (char*)0, (char*)0,
04745  (char*)0, (char*)0, 0 };
04746 static KmParameter _GEANT_CONTROL_RNDM_ISEED2 = { "ISEED2", 6,
04747  "Second seed for the random number generator", (char*)0, (char*)0, 8, 0,
04748  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04749  &_GEANT_CONTROL_RNDM_ISEED2_type };
04750 static KmParameter *_GEANT_CONTROL_RNDM_parameters[] = {
04751  &_GEANT_CONTROL_RNDM_ISEED1, &_GEANT_CONTROL_RNDM_ISEED2 };
04752 static char *_GEANT_CONTROL_RNDM_guidance[] = {
04753  "Set the seeds for the random number generator. If no numbers are",
04754  "given, the currents seeds are printed." };
04755 static KmCommand _GEANT_CONTROL_RNDM = { &_GEANT_CONTROL_SWITCH,
04756  "/GEANT/CONTROL/RNDM", "RNDM", 0, 2, 2, 0, _GEANT_CONTROL_RNDM_parameters, 0,
04757  0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 2,
04758  _GEANT_CONTROL_RNDM_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
04759  (char*)0, (int*)0 };
04760  
04761 static KmParInt    _GEANT_CONTROL_TRIGGER_N_type = { (char*)0, (char*)0,
04762  (char*)0, (char*)0, 0 };
04763 static KmParameter _GEANT_CONTROL_TRIGGER_N = { "N", 1, "Number of events",
04764  "1", (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04765  &_GEANT_CONTROL_TRIGGER_N_type };
04766 static KmParameter *_GEANT_CONTROL_TRIGGER_parameters[] = {
04767  &_GEANT_CONTROL_TRIGGER_N };
04768 static char *_GEANT_CONTROL_TRIGGER_guidance[] = {
04769  "Start one or more new events." };
04770 static KmCommand _GEANT_CONTROL_TRIGGER = { &_GEANT_CONTROL_RNDM,
04771  "/GEANT/CONTROL/TRIGGER", "TRIGGER", 0, 2, 1, 0,
04772  _GEANT_CONTROL_TRIGGER_parameters, 0, 0, gxcont_, (IntFunc*)0,
04773  (SUBROUTINE*)0, (pCharFunc*)0, 1, _GEANT_CONTROL_TRIGGER_guidance, 0,
04774  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
04775  
04776 static char *_GEANT_CONTROL_TRACK_guidance[] = {
04777  "Restart tracking, clearing the track and hit",
04778  "banks, but keeping the kinematics." };
04779 static KmCommand _GEANT_CONTROL_TRACK = { &_GEANT_CONTROL_TRIGGER,
04780  "/GEANT/CONTROL/TRACK", "TRACK", 0, 2, 0, 0, (KmParameter**)0, 0, 0, gxcont_,
04781  (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 2, _GEANT_CONTROL_TRACK_guidance,
04782  0, (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
04783  
04784 static KmParReal   _GEANT_CONTROL_GTIME_TIMINT_type = { (char*)0, (char*)0,
04785  (char*)0, (char*)0, 0 };
04786 static KmParameter _GEANT_CONTROL_GTIME_TIMINT = { "TIMINT", 6,
04787  "Total time after initialisation", (char*)0, (char*)0, 12, 0, (char**)0, 0,
04788  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CONTROL_GTIME_TIMINT_type };
04789 static KmParReal   _GEANT_CONTROL_GTIME_TIMEND_type = { (char*)0, (char*)0,
04790  (char*)0, (char*)0, 0 };
04791 static KmParameter _GEANT_CONTROL_GTIME_TIMEND = { "TIMEND", 6,
04792  "Time reserved for the termination phase", (char*)0, (char*)0, 12, 0,
04793  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
04794  &_GEANT_CONTROL_GTIME_TIMEND_type };
04795 static KmParInt    _GEANT_CONTROL_GTIME_ITIME_type = { (char*)0, (char*)0,
04796  (char*)0, (char*)0, 0 };
04797 static KmParameter _GEANT_CONTROL_GTIME_ITIME = { "ITIME", 5,
04798  "Frequency of control printing", (char*)0, (char*)0, 8, 0, (char**)0, 0,
04799  (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_CONTROL_GTIME_ITIME_type };
04800 static KmParameter *_GEANT_CONTROL_GTIME_parameters[] = {
04801  &_GEANT_CONTROL_GTIME_TIMINT, &_GEANT_CONTROL_GTIME_TIMEND,
04802  &_GEANT_CONTROL_GTIME_ITIME };
04803 static char *_GEANT_CONTROL_GTIME_guidance[] = {
04804  "These commands have limited use in the interactive version. In",
04805  "particular the value of TIMINT is disregarded by GEANT." };
04806 static KmCommand _GEANT_CONTROL_GTIME = { &_GEANT_CONTROL_TRACK,
04807  "/GEANT/CONTROL/GTIME", "GTIME", 0, 2, 3, 3, _GEANT_CONTROL_GTIME_parameters,
04808  0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 2,
04809  _GEANT_CONTROL_GTIME_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
04810  (char*)0, (int*)0 };
04811  
04812 static char *_GEANT_CONTROL_SORD_ISTORD_range[] = { "1", "0" };
04813 static KmParInt    _GEANT_CONTROL_SORD_ISTORD_type = { (char*)0, (char*)0,
04814  (char*)0, (char*)0, 0 };
04815 static KmParameter _GEANT_CONTROL_SORD_ISTORD = { "ISTORD", 6,
04816  "Flag to control user ordering of the stack", "1", (char*)0, 8, 2,
04817  _GEANT_CONTROL_SORD_ISTORD_range, 2, _GEANT_CONTROL_SORD_ISTORD_range,
04818  (KmParFlag)0, KmTYPE_INT, &_GEANT_CONTROL_SORD_ISTORD_type };
04819 static KmParameter *_GEANT_CONTROL_SORD_parameters[] = {
04820  &_GEANT_CONTROL_SORD_ISTORD };
04821 static char *_GEANT_CONTROL_SORD_guidance[] = {
04822  "If ISTORD is set to 1, the particle with the highest value of the",
04823  "user weight UPWGHT will be selected to be tracked next." };
04824 static KmCommand _GEANT_CONTROL_SORD = { &_GEANT_CONTROL_GTIME,
04825  "/GEANT/CONTROL/SORD", "SORD", 0, 2, 1, 1, _GEANT_CONTROL_SORD_parameters, 0,
04826  0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 2,
04827  _GEANT_CONTROL_SORD_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
04828  (char*)0, (int*)0 };
04829  
04830 static KmParInt    _GEANT_CONTROL_RUNG_IDRUN_type = { (char*)0, (char*)0,
04831  (char*)0, (char*)0, 0 };
04832 static KmParameter _GEANT_CONTROL_RUNG_IDRUN = { "IDRUN", 5,
04833  "User run number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
04834  (KmParFlag)0, KmTYPE_INT, &_GEANT_CONTROL_RUNG_IDRUN_type };
04835 static KmParInt    _GEANT_CONTROL_RUNG_IDEVT_type = { (char*)0, (char*)0,
04836  (char*)0, (char*)0, 0 };
04837 static KmParameter _GEANT_CONTROL_RUNG_IDEVT = { "IDEVT", 5,
04838  "User starting event number", (char*)0, (char*)0, 8, 0, (char**)0, 0,
04839  (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_CONTROL_RUNG_IDEVT_type };
04840 static KmParameter *_GEANT_CONTROL_RUNG_parameters[] = {
04841  &_GEANT_CONTROL_RUNG_IDRUN, &_GEANT_CONTROL_RUNG_IDEVT };
04842 static char *_GEANT_CONTROL_RUNG_guidance[] = {
04843  "Set the run number and the starting value for the user event number." };
04844 static KmCommand _GEANT_CONTROL_RUNG = { &_GEANT_CONTROL_SORD,
04845  "/GEANT/CONTROL/RUNG", "RUNG", 0, 2, 2, 2, _GEANT_CONTROL_RUNG_parameters, 0,
04846  0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 1,
04847  _GEANT_CONTROL_RUNG_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
04848  (char*)0, (int*)0 };
04849  
04850 static KmParInt    _GEANT_CONTROL_KINE_IKINE_type = { (char*)0, (char*)0,
04851  (char*)0, (char*)0, 0 };
04852 static KmParameter _GEANT_CONTROL_KINE_IKINE = { "IKINE", 5, "IKINE", "1",
04853  (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04854  &_GEANT_CONTROL_KINE_IKINE_type };
04855 static KmParReal   _GEANT_CONTROL_KINE_PKINE1_type = { (char*)0, (char*)0,
04856  (char*)0, (char*)0, 0 };
04857 static KmParameter _GEANT_CONTROL_KINE_PKINE1 = { "PKINE1", 6, "PKINE(1)",
04858  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04859  KmTYPE_REAL, &_GEANT_CONTROL_KINE_PKINE1_type };
04860 static KmParReal   _GEANT_CONTROL_KINE_PKINE2_type = { (char*)0, (char*)0,
04861  (char*)0, (char*)0, 0 };
04862 static KmParameter _GEANT_CONTROL_KINE_PKINE2 = { "PKINE2", 6, "PKINE(2)",
04863  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04864  KmTYPE_REAL, &_GEANT_CONTROL_KINE_PKINE2_type };
04865 static KmParReal   _GEANT_CONTROL_KINE_PKINE3_type = { (char*)0, (char*)0,
04866  (char*)0, (char*)0, 0 };
04867 static KmParameter _GEANT_CONTROL_KINE_PKINE3 = { "PKINE3", 6, "PKINE(3)",
04868  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04869  KmTYPE_REAL, &_GEANT_CONTROL_KINE_PKINE3_type };
04870 static KmParReal   _GEANT_CONTROL_KINE_PKINE4_type = { (char*)0, (char*)0,
04871  (char*)0, (char*)0, 0 };
04872 static KmParameter _GEANT_CONTROL_KINE_PKINE4 = { "PKINE4", 6, "PKINE(4)",
04873  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04874  KmTYPE_REAL, &_GEANT_CONTROL_KINE_PKINE4_type };
04875 static KmParReal   _GEANT_CONTROL_KINE_PKINE5_type = { (char*)0, (char*)0,
04876  (char*)0, (char*)0, 0 };
04877 static KmParameter _GEANT_CONTROL_KINE_PKINE5 = { "PKINE5", 6, "PKINE(5)",
04878  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04879  KmTYPE_REAL, &_GEANT_CONTROL_KINE_PKINE5_type };
04880 static KmParReal   _GEANT_CONTROL_KINE_PKINE6_type = { (char*)0, (char*)0,
04881  (char*)0, (char*)0, 0 };
04882 static KmParameter _GEANT_CONTROL_KINE_PKINE6 = { "PKINE6", 6, "PKINE(6)",
04883  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04884  KmTYPE_REAL, &_GEANT_CONTROL_KINE_PKINE6_type };
04885 static KmParReal   _GEANT_CONTROL_KINE_PKINE7_type = { (char*)0, (char*)0,
04886  (char*)0, (char*)0, 0 };
04887 static KmParameter _GEANT_CONTROL_KINE_PKINE7 = { "PKINE7", 6, "PKINE(7)",
04888  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04889  KmTYPE_REAL, &_GEANT_CONTROL_KINE_PKINE7_type };
04890 static KmParReal   _GEANT_CONTROL_KINE_PKINE8_type = { (char*)0, (char*)0,
04891  (char*)0, (char*)0, 0 };
04892 static KmParameter _GEANT_CONTROL_KINE_PKINE8 = { "PKINE8", 6, "PKINE(8)",
04893  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04894  KmTYPE_REAL, &_GEANT_CONTROL_KINE_PKINE8_type };
04895 static KmParReal   _GEANT_CONTROL_KINE_PKINE9_type = { (char*)0, (char*)0,
04896  (char*)0, (char*)0, 0 };
04897 static KmParameter _GEANT_CONTROL_KINE_PKINE9 = { "PKINE9", 6, "PKINE(9)",
04898  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04899  KmTYPE_REAL, &_GEANT_CONTROL_KINE_PKINE9_type };
04900 static KmParReal   _GEANT_CONTROL_KINE_PKINE10_type = { (char*)0, (char*)0,
04901  (char*)0, (char*)0, 0 };
04902 static KmParameter _GEANT_CONTROL_KINE_PKINE10 = { "PKINE10", 7, "PKINE(10)",
04903  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04904  KmTYPE_REAL, &_GEANT_CONTROL_KINE_PKINE10_type };
04905 static KmParameter *_GEANT_CONTROL_KINE_parameters[] = {
04906  &_GEANT_CONTROL_KINE_IKINE, &_GEANT_CONTROL_KINE_PKINE1,
04907  &_GEANT_CONTROL_KINE_PKINE2, &_GEANT_CONTROL_KINE_PKINE3,
04908  &_GEANT_CONTROL_KINE_PKINE4, &_GEANT_CONTROL_KINE_PKINE5,
04909  &_GEANT_CONTROL_KINE_PKINE6, &_GEANT_CONTROL_KINE_PKINE7,
04910  &_GEANT_CONTROL_KINE_PKINE8, &_GEANT_CONTROL_KINE_PKINE9,
04911  &_GEANT_CONTROL_KINE_PKINE10 };
04912 static char *_GEANT_CONTROL_KINE_guidance[] = {
04913  "Set the variables in /GCFLAG/ IKINE, PKINE(10)" };
04914 static KmCommand _GEANT_CONTROL_KINE = { &_GEANT_CONTROL_RUNG,
04915  "/GEANT/CONTROL/KINE", "KINE", 0, 2, 11, 1, _GEANT_CONTROL_KINE_parameters,
04916  0, 0, gxcont_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 1,
04917  _GEANT_CONTROL_KINE_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
04918  (char*)0, (int*)0 };
04919  
04920 static char *_GEANT_CONTROL_guidance[] = { "Control commands." };
04921 static KmMenu _GEANT_CONTROL = {  (KmMenu*)0,  (KmMenu*)0, "/GEANT/CONTROL",
04922  "CONTROL", 2, &_GEANT_CONTROL_KINE, 1, _GEANT_CONTROL_guidance, 0, (char**)0,
04923  0, (char**)0 };
04924  
04925 static KmMenu _GEANT = {  (KmMenu*)0, &_GEANT_CONTROL, "/GEANT", "GEANT", 1,
04926  (KmCommand*)0, 0, (char**)0, 0, (char**)0, 0, (char**)0 };
04927  
04928   klnkmenu( &_GEANT, 950303 );
04929 }

void gkdraw_ (  ) 

Definition at line 294 of file g321x.c.

References gkgcon_(), gxdraw_(), gxgcon_(), gxpick_(), klnkmenu(), KmTYPE_CHAR, KmTYPE_INT, KmTYPE_OPTION, and KmTYPE_REAL.

Referenced by gkfort_().

00295 {
00296  
00297 static KmParReal   _GEANT_CVOL_VALCUT_XCUT_type = { (char*)0, (char*)0,
00298  (char*)0, (char*)0, 0 };
00299 static KmParameter _GEANT_CVOL_VALCUT_XCUT = { "XCUT", 4,
00300  "x coordinate of cutted value", "0.", (char*)0, 12, 0, (char**)0, 0,
00301  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CVOL_VALCUT_XCUT_type };
00302 static KmParReal   _GEANT_CVOL_VALCUT_YCUT_type = { (char*)0, (char*)0,
00303  (char*)0, (char*)0, 0 };
00304 static KmParameter _GEANT_CVOL_VALCUT_YCUT = { "YCUT", 4,
00305  "y coordinate of cutted value", "0.", (char*)0, 12, 0, (char**)0, 0,
00306  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CVOL_VALCUT_YCUT_type };
00307 static KmParReal   _GEANT_CVOL_VALCUT_ZCUT_type = { (char*)0, (char*)0,
00308  (char*)0, (char*)0, 0 };
00309 static KmParameter _GEANT_CVOL_VALCUT_ZCUT = { "ZCUT", 4,
00310  "z coordinate of cutted value", "0.", (char*)0, 12, 0, (char**)0, 0,
00311  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CVOL_VALCUT_ZCUT_type };
00312 static KmParameter *_GEANT_CVOL_VALCUT_parameters[] = {
00313  &_GEANT_CVOL_VALCUT_XCUT, &_GEANT_CVOL_VALCUT_YCUT, &_GEANT_CVOL_VALCUT_ZCUT
00314  };
00315 static char *_GEANT_CVOL_VALCUT_guidance[] = {
00316  "It allows the cutting in the ray-tracing. All the volumes are cutted",
00317  "from XCUT to +BIG along the x axis, from YCUT to +BIG along the y axis",
00318  "and from ZCUT to +BIG along the z axis." };
00319 static KmCommand _GEANT_CVOL_VALCUT = {  (KmCommand*)0, "/GEANT/CVOL/VALCUT",
00320  "VALCUT", 0, 2, 3, 3, _GEANT_CVOL_VALCUT_parameters, 0, 0, gxdraw_,
00321  (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3, _GEANT_CVOL_VALCUT_guidance,
00322  0, (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
00323  
00324 static KmParameter _GEANT_CVOL_SPHE_CNVV = { "CNVV", 4,
00325  " Name of volume to be clipped          ", "*   ", (char*)0, 20, 0,
00326  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
00327 static KmParReal   _GEANT_CVOL_SPHE_RMAX_type = { (char*)0, (char*)0,
00328  (char*)0, (char*)0, 0 };
00329 static KmParameter _GEANT_CVOL_SPHE_RMAX = { "RMAX", 4,
00330  " External radius of sphere             ", "0.1", (char*)0, 12, 0, (char**)0,
00331  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CVOL_SPHE_RMAX_type };
00332 static KmParReal   _GEANT_CVOL_SPHE_XMED_type = { (char*)0, (char*)0,
00333  (char*)0, (char*)0, 0 };
00334 static KmParameter _GEANT_CVOL_SPHE_XMED = { "XMED", 4,
00335  " Center X coordinate                   ", "-10000.", (char*)0, 12, 0,
00336  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00337  &_GEANT_CVOL_SPHE_XMED_type };
00338 static KmParReal   _GEANT_CVOL_SPHE_YMED_type = { (char*)0, (char*)0,
00339  (char*)0, (char*)0, 0 };
00340 static KmParameter _GEANT_CVOL_SPHE_YMED = { "YMED", 4,
00341  " Center Y coordinate                   ", "-10000.", (char*)0, 12, 0,
00342  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00343  &_GEANT_CVOL_SPHE_YMED_type };
00344 static KmParReal   _GEANT_CVOL_SPHE_ZMED_type = { (char*)0, (char*)0,
00345  (char*)0, (char*)0, 0 };
00346 static KmParameter _GEANT_CVOL_SPHE_ZMED = { "ZMED", 4,
00347  " Center Z coordinate                   ", "-10000.", (char*)0, 12, 0,
00348  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00349  &_GEANT_CVOL_SPHE_ZMED_type };
00350 static KmParameter *_GEANT_CVOL_SPHE_parameters[] = { &_GEANT_CVOL_SPHE_CNVV,
00351  &_GEANT_CVOL_SPHE_RMAX, &_GEANT_CVOL_SPHE_XMED, &_GEANT_CVOL_SPHE_YMED,
00352  &_GEANT_CVOL_SPHE_ZMED };
00353 static char *_GEANT_CVOL_SPHE_guidance[] = {
00354  "This command performs a boolean subtraction between the volume",
00355  "CNVV and a sphere; the sphere has the given parameters and is placed in",
00356  "the MARS according to the given coordinates of its center.",
00357  "See also CVOL. The following commands clip by a sphere,",
00358  "positioned according to the given parameters, the volume specified",
00359  "by NAME (a valid string for the NAME of the volume",
00360  "can be found using the DTREE command).", "EXAMPLE -", " dopt hide on",
00361  " satt * seen -2", " draw NAME 40 40 0 10 10 .01 .01", " next",
00362  " sphe * 500 0 0 500", " draw NAME 40 40 0 10 10 .01 .01", " box ." };
00363 static KmCommand _GEANT_CVOL_SPHE = { &_GEANT_CVOL_VALCUT, "/GEANT/CVOL/SPHE",
00364  "SPHE", 0, 2, 5, 1, _GEANT_CVOL_SPHE_parameters, 0, 0, gxdraw_, (IntFunc*)0,
00365  (SUBROUTINE*)0, (pCharFunc*)0, 15, _GEANT_CVOL_SPHE_guidance, 0, (char**)0,
00366  0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
00367  
00368 static KmParameter _GEANT_CVOL_CONE_CNVV = { "CNVV", 4,
00369  " Name of volume to be clipped          ", "*   ", (char*)0, 20, 0,
00370  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
00371 static KmParReal   _GEANT_CVOL_CONE_RMAX1_type = { (char*)0, (char*)0,
00372  (char*)0, (char*)0, 0 };
00373 static KmParameter _GEANT_CVOL_CONE_RMAX1 = { "RMAX1", 5,
00374  " Min external radius                   ", "0.1", (char*)0, 12, 0, (char**)0,
00375  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CVOL_CONE_RMAX1_type };
00376 static KmParReal   _GEANT_CVOL_CONE_RMAX2_type = { (char*)0, (char*)0,
00377  (char*)0, (char*)0, 0 };
00378 static KmParameter _GEANT_CVOL_CONE_RMAX2 = { "RMAX2", 5,
00379  " Max external radius                   ", "0.1", (char*)0, 12, 0, (char**)0,
00380  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CVOL_CONE_RMAX2_type };
00381 static KmParReal   _GEANT_CVOL_CONE_ZDEM_type = { (char*)0, (char*)0,
00382  (char*)0, (char*)0, 0 };
00383 static KmParameter _GEANT_CVOL_CONE_ZDEM = { "ZDEM", 4,
00384  " Half length of cone axis              ", "0.1", (char*)0, 12, 0, (char**)0,
00385  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CVOL_CONE_ZDEM_type };
00386 static KmParReal   _GEANT_CVOL_CONE_XMED_type = { (char*)0, (char*)0,
00387  (char*)0, (char*)0, 0 };
00388 static KmParameter _GEANT_CVOL_CONE_XMED = { "XMED", 4,
00389  " Center X coordinate                   ", "-10000.", (char*)0, 12, 0,
00390  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00391  &_GEANT_CVOL_CONE_XMED_type };
00392 static KmParReal   _GEANT_CVOL_CONE_YMED_type = { (char*)0, (char*)0,
00393  (char*)0, (char*)0, 0 };
00394 static KmParameter _GEANT_CVOL_CONE_YMED = { "YMED", 4,
00395  " Center Y coordinate                   ", "-10000.", (char*)0, 12, 0,
00396  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00397  &_GEANT_CVOL_CONE_YMED_type };
00398 static KmParReal   _GEANT_CVOL_CONE_ZMED_type = { (char*)0, (char*)0,
00399  (char*)0, (char*)0, 0 };
00400 static KmParameter _GEANT_CVOL_CONE_ZMED = { "ZMED", 4,
00401  " Center Z coordinate                   ", "-10000.", (char*)0, 12, 0,
00402  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00403  &_GEANT_CVOL_CONE_ZMED_type };
00404 static KmParameter *_GEANT_CVOL_CONE_parameters[] = { &_GEANT_CVOL_CONE_CNVV,
00405  &_GEANT_CVOL_CONE_RMAX1, &_GEANT_CVOL_CONE_RMAX2, &_GEANT_CVOL_CONE_ZDEM,
00406  &_GEANT_CVOL_CONE_XMED, &_GEANT_CVOL_CONE_YMED, &_GEANT_CVOL_CONE_ZMED };
00407 static char *_GEANT_CVOL_CONE_guidance[] = {
00408  "This command performs a boolean subtraction between the volume",
00409  "CNVV and a cone; the cone has the given parameters and is placed in",
00410  "the MARS according to the given coordinates of its center.",
00411  "See also CVOL.", "The following commands will clip by a cone,",
00412  "positioned according the given parameters, the volume specified",
00413  "by NAME (a valid string for the NAME of the volume",
00414  "can be found using the DTREE command).", " EXAMPLE -", " dopt hide on",
00415  " satt * seen -2", " draw NAME 40 40 0 10 10 .01 .01", " next",
00416  " cone * 1 750 1000 0 0 1000", " draw NAME 40 40 0 10 10 .01 .01", " box ." };
00417 static KmCommand _GEANT_CVOL_CONE = { &_GEANT_CVOL_SPHE, "/GEANT/CVOL/CONE",
00418  "CONE", 0, 2, 7, 1, _GEANT_CVOL_CONE_parameters, 0, 0, gxdraw_, (IntFunc*)0,
00419  (SUBROUTINE*)0, (pCharFunc*)0, 16, _GEANT_CVOL_CONE_guidance, 0, (char**)0,
00420  0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
00421  
00422 static KmParameter _GEANT_CVOL_TUBE_CNVV = { "CNVV", 4,
00423  " Name of volume to be clipped          ", "*   ", (char*)0, 20, 0,
00424  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
00425 static KmParReal   _GEANT_CVOL_TUBE_RMAX_type = { (char*)0, (char*)0,
00426  (char*)0, (char*)0, 0 };
00427 static KmParameter _GEANT_CVOL_TUBE_RMAX = { "RMAX", 4,
00428  " External radius of tube               ", "0.1", (char*)0, 12, 0, (char**)0,
00429  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CVOL_TUBE_RMAX_type };
00430 static KmParReal   _GEANT_CVOL_TUBE_ZDEM_type = { (char*)0, (char*)0,
00431  (char*)0, (char*)0, 0 };
00432 static KmParameter _GEANT_CVOL_TUBE_ZDEM = { "ZDEM", 4,
00433  " Half length of tube axis              ", "0.1", (char*)0, 12, 0, (char**)0,
00434  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CVOL_TUBE_ZDEM_type };
00435 static KmParReal   _GEANT_CVOL_TUBE_XMED_type = { (char*)0, (char*)0,
00436  (char*)0, (char*)0, 0 };
00437 static KmParameter _GEANT_CVOL_TUBE_XMED = { "XMED", 4,
00438  " Center X coordinate                   ", "-10000.", (char*)0, 12, 0,
00439  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00440  &_GEANT_CVOL_TUBE_XMED_type };
00441 static KmParReal   _GEANT_CVOL_TUBE_YMED_type = { (char*)0, (char*)0,
00442  (char*)0, (char*)0, 0 };
00443 static KmParameter _GEANT_CVOL_TUBE_YMED = { "YMED", 4,
00444  " Center Y coordinate                   ", "-10000.", (char*)0, 12, 0,
00445  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00446  &_GEANT_CVOL_TUBE_YMED_type };
00447 static KmParReal   _GEANT_CVOL_TUBE_ZMED_type = { (char*)0, (char*)0,
00448  (char*)0, (char*)0, 0 };
00449 static KmParameter _GEANT_CVOL_TUBE_ZMED = { "ZMED", 4,
00450  " Center Z coordinate                   ", "-10000.", (char*)0, 12, 0,
00451  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00452  &_GEANT_CVOL_TUBE_ZMED_type };
00453 static KmParameter *_GEANT_CVOL_TUBE_parameters[] = { &_GEANT_CVOL_TUBE_CNVV,
00454  &_GEANT_CVOL_TUBE_RMAX, &_GEANT_CVOL_TUBE_ZDEM, &_GEANT_CVOL_TUBE_XMED,
00455  &_GEANT_CVOL_TUBE_YMED, &_GEANT_CVOL_TUBE_ZMED };
00456 static char *_GEANT_CVOL_TUBE_guidance[] = {
00457  "This command performs a boolean subtraction between the volume",
00458  "CNVV and a tube; the tube has the given parameters and is placed in",
00459  "the MARS according the given coordinates of its center.", "See also CVOL.",
00460  "The following commands will clip, by a tube,",
00461  "positioned according to the given parameters, the volume specified",
00462  "by NAME (a valid string for the NAME of the volume",
00463  "can be found using the DTREE command).", " EXAMPLE -", " dopt hide on",
00464  " satt * seen -2", " draw NAME 40 40 0 10 10 .01 .01", " next",
00465  " tube * 500 1000 500 0 0", " draw NAME 40 40 0 10 10 .01 .01", " box ." };
00466 static KmCommand _GEANT_CVOL_TUBE = { &_GEANT_CVOL_CONE, "/GEANT/CVOL/TUBE",
00467  "TUBE", 0, 2, 6, 1, _GEANT_CVOL_TUBE_parameters, 0, 0, gxdraw_, (IntFunc*)0,
00468  (SUBROUTINE*)0, (pCharFunc*)0, 16, _GEANT_CVOL_TUBE_guidance, 0, (char**)0,
00469  0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
00470  
00471 static KmParameter _GEANT_CVOL_BOX_CNNV = { "CNNV", 4,
00472  " Name of volume to be clipped          ", "*   ", (char*)0, 20, 0,
00473  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
00474 static KmParReal   _GEANT_CVOL_BOX_XMIN_type = { (char*)0, (char*)0, (char*)0,
00475  (char*)0, 0 };
00476 static KmParameter _GEANT_CVOL_BOX_XMIN = { "XMIN", 4,
00477  " Lower limit of the Shape X coordinate ", "-10000.", (char*)0, 12, 0,
00478  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00479  &_GEANT_CVOL_BOX_XMIN_type };
00480 static KmParReal   _GEANT_CVOL_BOX_XMAX_type = { (char*)0, (char*)0, (char*)0,
00481  (char*)0, 0 };
00482 static KmParameter _GEANT_CVOL_BOX_XMAX = { "XMAX", 4,
00483  " Upper limit of the Shape X coordinate ", "-9999.", (char*)0, 12, 0,
00484  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00485  &_GEANT_CVOL_BOX_XMAX_type };
00486 static KmParReal   _GEANT_CVOL_BOX_YMIN_type = { (char*)0, (char*)0, (char*)0,
00487  (char*)0, 0 };
00488 static KmParameter _GEANT_CVOL_BOX_YMIN = { "YMIN", 4,
00489  " Lower limit of the Shape Y coordinate ", "-10000.", (char*)0, 12, 0,
00490  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00491  &_GEANT_CVOL_BOX_YMIN_type };
00492 static KmParReal   _GEANT_CVOL_BOX_YMAX_type = { (char*)0, (char*)0, (char*)0,
00493  (char*)0, 0 };
00494 static KmParameter _GEANT_CVOL_BOX_YMAX = { "YMAX", 4,
00495  " Upper limit of the Shape Y coordinate ", "-9999.", (char*)0, 12, 0,
00496  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00497  &_GEANT_CVOL_BOX_YMAX_type };
00498 static KmParReal   _GEANT_CVOL_BOX_ZMIN_type = { (char*)0, (char*)0, (char*)0,
00499  (char*)0, 0 };
00500 static KmParameter _GEANT_CVOL_BOX_ZMIN = { "ZMIN", 4,
00501  " Lower limit of the Shape Z coordinate ", "-10000.", (char*)0, 12, 0,
00502  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00503  &_GEANT_CVOL_BOX_ZMIN_type };
00504 static KmParReal   _GEANT_CVOL_BOX_ZMAX_type = { (char*)0, (char*)0, (char*)0,
00505  (char*)0, 0 };
00506 static KmParameter _GEANT_CVOL_BOX_ZMAX = { "ZMAX", 4,
00507  " Upper limit of the Shape Z coordinate ", "-9999.", (char*)0, 12, 0,
00508  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00509  &_GEANT_CVOL_BOX_ZMAX_type };
00510 static KmParameter *_GEANT_CVOL_BOX_parameters[] = { &_GEANT_CVOL_BOX_CNNV,
00511  &_GEANT_CVOL_BOX_XMIN, &_GEANT_CVOL_BOX_XMAX, &_GEANT_CVOL_BOX_YMIN,
00512  &_GEANT_CVOL_BOX_YMAX, &_GEANT_CVOL_BOX_ZMIN, &_GEANT_CVOL_BOX_ZMAX };
00513 static char *_GEANT_CVOL_BOX_guidance[] = {
00514  "This command performs a boolean subtraction between the volume",
00515  "CNVV and a box placed in the MARS according the values of the given",
00516  "coordinates. See also CVOL.", "The following commands will clip by a box,",
00517  "with a vertex at the origin, the volume specified by NAME (a valid",
00518  "string for the NAME of the volume can be found using the DTREE command).",
00519  " EXAMPLE -", " dopt hide on", " satt * seen -2",
00520  " draw NAME 40 40 0 10 10 .01 .01", " next",
00521  " box NAME 0 1000 0 1000 0 1000", " draw NAME 40 40 0 10 10 .01 .01",
00522  " box ." };
00523 static KmCommand _GEANT_CVOL_BOX = { &_GEANT_CVOL_TUBE, "/GEANT/CVOL/BOX",
00524  "BOX", 0, 2, 7, 1, _GEANT_CVOL_BOX_parameters, 0, 0, gxdraw_, (IntFunc*)0,
00525  (SUBROUTINE*)0, (pCharFunc*)0, 14, _GEANT_CVOL_BOX_guidance, 0, (char**)0, 0,
00526  (char**)0, 0, (char**)0, (char*)0, (int*)0 };
00527  
00528 static KmParameter _GEANT_DRAWING_DUVIEW_NAME = { "NAME", 4, "Detector name",
00529  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
00530  KmTYPE_CHAR,  (void*)0 };
00531 static KmParameter _GEANT_DRAWING_DUVIEW_TYPE = { "TYPE", 4, "View name",
00532  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
00533  KmTYPE_CHAR,  (void*)0 };
00534 static KmParameter _GEANT_DRAWING_DUVIEW_CPXTYP = { "CPXTYP", 6,
00535  "Complexity name", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
00536  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
00537 static KmParInt    _GEANT_DRAWING_DUVIEW_IVIEW_type = { (char*)0, (char*)0,
00538  (char*)0, (char*)0, 0 };
00539 static KmParameter _GEANT_DRAWING_DUVIEW_IVIEW = { "IVIEW", 5,
00540  "View number where picture is stored", "0", (char*)0, 8, 0, (char**)0, 0,
00541  (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_DRAWING_DUVIEW_IVIEW_type };
00542 static KmParameter *_GEANT_DRAWING_DUVIEW_parameters[] = {
00543  &_GEANT_DRAWING_DUVIEW_NAME, &_GEANT_DRAWING_DUVIEW_TYPE,
00544  &_GEANT_DRAWING_DUVIEW_CPXTYP, &_GEANT_DRAWING_DUVIEW_IVIEW };
00545 static char *_GEANT_DRAWING_DUVIEW_guidance[] = {
00546  " CALL GUVIEW(name,type,cpxtyp,iview)" };
00547 static KmCommand _GEANT_DRAWING_DUVIEW = {  (KmCommand*)0,
00548  "/GEANT/DRAWING/DUVIEW", "DUVIEW", 0, 2, 4, 3,
00549  _GEANT_DRAWING_DUVIEW_parameters, 0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0,
00550  (pCharFunc*)0, 1, _GEANT_DRAWING_DUVIEW_guidance, 0, (char**)0, 0, (char**)0,
00551  0, (char**)0, (char*)0, (int*)0 };
00552  
00553 static KmParameter _GEANT_DRAWING_DCHIT_CHUSET = { "CHUSET", 6,
00554  "User set identifier", "*", (char*)0, 20, 0, (char**)0, 0, (char**)0,
00555  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
00556 static KmParameter _GEANT_DRAWING_DCHIT_CHUDET = { "CHUDET", 6,
00557  "User detector identifier", "*", (char*)0, 20, 0, (char**)0, 0, (char**)0,
00558  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
00559 static KmParInt    _GEANT_DRAWING_DCHIT_ITRA_type = { (char*)0, (char*)0,
00560  (char*)0, (char*)0, 0 };
00561 static KmParameter _GEANT_DRAWING_DCHIT_ITRA = { "ITRA", 4,
00562  "Number of the selected track", "0", (char*)0, 8, 0, (char**)0, 0, (char**)0,
00563  (KmParFlag)0, KmTYPE_INT, &_GEANT_DRAWING_DCHIT_ITRA_type };
00564 static KmParInt    _GEANT_DRAWING_DCHIT_ISYMB_type = { (char*)0, (char*)0,
00565  (char*)0, (char*)0, 0 };
00566 static KmParameter _GEANT_DRAWING_DCHIT_ISYMB = { "ISYMB", 5,
00567  "Character selection number", "0", (char*)0, 8, 0, (char**)0, 0, (char**)0,
00568  (KmParFlag)0, KmTYPE_INT, &_GEANT_DRAWING_DCHIT_ISYMB_type };
00569 static KmParReal   _GEANT_DRAWING_DCHIT_SIZMAX_type = { (char*)0, (char*)0,
00570  (char*)0, (char*)0, 0 };
00571 static KmParameter _GEANT_DRAWING_DCHIT_SIZMAX = { "SIZMAX", 6,
00572  "Maximum character size (cm)", "1", (char*)0, 12, 0, (char**)0, 0, (char**)0,
00573  (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DCHIT_SIZMAX_type };
00574 static KmParInt    _GEANT_DRAWING_DCHIT_IHIT_type = { (char*)0, (char*)0,
00575  (char*)0, (char*)0, 0 };
00576 static KmParameter _GEANT_DRAWING_DCHIT_IHIT = { "IHIT", 4,
00577  "Index of array HITS", "4", (char*)0, 8, 0, (char**)0, 0, (char**)0,
00578  (KmParFlag)0, KmTYPE_INT, &_GEANT_DRAWING_DCHIT_IHIT_type };
00579 static KmParReal   _GEANT_DRAWING_DCHIT_HITMIN_type = { (char*)0, (char*)0,
00580  (char*)0, (char*)0, 0 };
00581 static KmParameter _GEANT_DRAWING_DCHIT_HITMIN = { "HITMIN", 6,
00582  "Lower boundary of HITS(IHIT)", "0", (char*)0, 12, 0, (char**)0, 0,
00583  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DCHIT_HITMIN_type };
00584 static KmParReal   _GEANT_DRAWING_DCHIT_HITMAX_type = { (char*)0, (char*)0,
00585  (char*)0, (char*)0, 0 };
00586 static KmParameter _GEANT_DRAWING_DCHIT_HITMAX = { "HITMAX", 6,
00587  "Upper boundary of HITS(IHIT)", "0", (char*)0, 12, 0, (char**)0, 0,
00588  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DCHIT_HITMAX_type };
00589 static KmParameter *_GEANT_DRAWING_DCHIT_parameters[] = {
00590  &_GEANT_DRAWING_DCHIT_CHUSET, &_GEANT_DRAWING_DCHIT_CHUDET,
00591  &_GEANT_DRAWING_DCHIT_ITRA, &_GEANT_DRAWING_DCHIT_ISYMB,
00592  &_GEANT_DRAWING_DCHIT_SIZMAX, &_GEANT_DRAWING_DCHIT_IHIT,
00593  &_GEANT_DRAWING_DCHIT_HITMIN, &_GEANT_DRAWING_DCHIT_HITMAX };
00594 static char *_GEANT_DRAWING_DCHIT_guidance[] = {
00595  " CALL GDCHIT(chuset,chudet,itra,isymb,sizmax,ihit,hitmin,hitmax)",
00596  "The character plotted at each hit point may be chosen via",
00597  "CSYMB; isymb is composed as:",
00598  "      -1   (small) hardware points             (fast)",
00599  "       0   software crosses                    (default)",
00600  " 840,850   empty/full circles                  (slow)",
00601  " 841,851   empty/full squares                  (slow)",
00602  " 842,852   empty/full triangles (up)           (slow)",
00603  " 843,853   empty diamond/full triangle (down)  (slow)",
00604  " 844,854   empty/full stars                    (slow)",
00605  "Except for isymb=-1 the SIZE of the character on the screen",
00606  "is a function of HITS(IHIT), the array containing the calorimeter",
00607  "quantity, with HITMIN and HITMAX defining its range.",
00608  "The maximum character size (used in overflow) is SIZMAX.",
00609  " SIZE = SIZMAX * ( HITS(IHIT) - HITMIN ) / HITMAX" };
00610 static KmCommand _GEANT_DRAWING_DCHIT = { &_GEANT_DRAWING_DUVIEW,
00611  "/GEANT/DRAWING/DCHIT", "DCHIT", 0, 2, 8, 0, _GEANT_DRAWING_DCHIT_parameters,
00612  0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 15,
00613  _GEANT_DRAWING_DCHIT_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
00614  (char*)0, (int*)0 };
00615  
00616 static KmParameter _GEANT_DRAWING_KHITS_CHUSET = { "CHUSET", 6,
00617  "User set identifier", "*", (char*)0, 20, 0, (char**)0, 0, (char**)0,
00618  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
00619 static KmParameter _GEANT_DRAWING_KHITS_CHUDET = { "CHUDET", 6,
00620  "User detector identifier", "*", (char*)0, 20, 0, (char**)0, 0, (char**)0,
00621  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
00622 static KmParReal   _GEANT_DRAWING_KHITS_EPSILO_type = { (char*)0, (char*)0,
00623  (char*)0, (char*)0, 0 };
00624 static KmParameter _GEANT_DRAWING_KHITS_EPSILO = { "EPSILO", 6,
00625  "Pick aperture", "0.1", (char*)0, 12, 0, (char**)0, 0, (char**)0,
00626  (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_KHITS_EPSILO_type };
00627 static KmParameter *_GEANT_DRAWING_KHITS_parameters[] = {
00628  &_GEANT_DRAWING_KHITS_CHUSET, &_GEANT_DRAWING_KHITS_CHUDET,
00629  &_GEANT_DRAWING_KHITS_EPSILO };
00630 static char *_GEANT_DRAWING_KHITS_guidance[] = {
00631  " CALL GKHITS(chuset,chudet,epsilo)",
00632  "The picking of hit points requires the appropriate JSET data structure",
00633  "have been filled",
00634  "and is  repeated until the character typed is 'Q' or 'q' (GKS) or the",
00635  "right button of the mouse is clicked (X11).",
00636  "If the character typed to pick is 'K' or 'k' then the",
00637  "kinematics of the corresponding track is also printed.",
00638  "The search is made of all the hits of all tracks in",
00639  "detector CHUDET of set CHUSET.",
00640  "EPSILO is the pick aperture; if EPSILO<0 its absolute value is taken",
00641  "and in addition the pick aperture is drawn; if EPSILO=0",
00642  "there is an infinite pick aperture and",
00643  "over all the hits the one nearest to the pick point is taken." };
00644 static KmCommand _GEANT_DRAWING_KHITS = { &_GEANT_DRAWING_DCHIT,
00645  "/GEANT/DRAWING/KHITS", "KHITS", 0, 2, 3, 0, _GEANT_DRAWING_KHITS_parameters,
00646  0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 13,
00647  _GEANT_DRAWING_KHITS_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
00648  (char*)0, (int*)0 };
00649  
00650 static KmParameter _GEANT_DRAWING_DHITS_CHUSET = { "CHUSET", 6,
00651  "User set identifier", "*", (char*)0, 20, 0, (char**)0, 0, (char**)0,
00652  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
00653 static KmParameter _GEANT_DRAWING_DHITS_CHUDET = { "CHUDET", 6,
00654  "User detector identifier", "*", (char*)0, 20, 0, (char**)0, 0, (char**)0,
00655  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
00656 static KmParInt    _GEANT_DRAWING_DHITS_ITRA_type = { (char*)0, (char*)0,
00657  (char*)0, (char*)0, 0 };
00658 static KmParameter _GEANT_DRAWING_DHITS_ITRA = { "ITRA", 4,
00659  "Number of the selected track", "0", (char*)0, 8, 0, (char**)0, 0, (char**)0,
00660  (KmParFlag)0, KmTYPE_INT, &_GEANT_DRAWING_DHITS_ITRA_type };
00661 static KmParInt    _GEANT_DRAWING_DHITS_ISYMB_type = { (char*)0, (char*)0,
00662  (char*)0, (char*)0, 0 };
00663 static KmParameter _GEANT_DRAWING_DHITS_ISYMB = { "ISYMB", 5,
00664  "Character selection number", "0", (char*)0, 8, 0, (char**)0, 0, (char**)0,
00665  (KmParFlag)0, KmTYPE_INT, &_GEANT_DRAWING_DHITS_ISYMB_type };
00666 static KmParReal   _GEANT_DRAWING_DHITS_SSYMB_type = { (char*)0, (char*)0,
00667  (char*)0, (char*)0, 0 };
00668 static KmParameter _GEANT_DRAWING_DHITS_SSYMB = { "SSYMB", 5,
00669  "Size of characters (cm)", "0.1", (char*)0, 12, 0, (char**)0, 0, (char**)0,
00670  (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DHITS_SSYMB_type };
00671 static KmParameter *_GEANT_DRAWING_DHITS_parameters[] = {
00672  &_GEANT_DRAWING_DHITS_CHUSET, &_GEANT_DRAWING_DHITS_CHUDET,
00673  &_GEANT_DRAWING_DHITS_ITRA, &_GEANT_DRAWING_DHITS_ISYMB,
00674  &_GEANT_DRAWING_DHITS_SSYMB };
00675 static char *_GEANT_DRAWING_DHITS_guidance[] = {
00676  "CALL GDHITS(chuset,chudet,itra,isymb,ssymb).",
00677  "The character plotted at each hit point may be chosen by isymb :",
00678  "      -1   (small) hardware points             (fast)",
00679  "       0   software crosses                    (default)",
00680  "   840,850   empty/full circles                  (slow)",
00681  "   841,851   empty/full squares                  (slow)",
00682  "   842,852   empty/full triangles (up)           (slow)",
00683  "   843,853   empty diamond/full triangle (down)  (slow)",
00684  "   844,854   empty/full stars                    (slow)",
00685  "Except for isymb=-1, the size of the character on the screen can be",
00686  "chosen by SSYMB cm. The hit colour will follow the value of TXCI (text",
00687  "colour) for isymb>0, the value of PMCI (polymarkers colour) for isymb<0,",
00688  "the value of PLCI (polyline colour) for isymb=0." };
00689 static KmCommand _GEANT_DRAWING_DHITS = { &_GEANT_DRAWING_KHITS,
00690  "/GEANT/DRAWING/DHITS", "DHITS", 0, 2, 5, 0, _GEANT_DRAWING_DHITS_parameters,
00691  0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 13,
00692  _GEANT_DRAWING_DHITS_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
00693  (char*)0, (int*)0 };
00694  
00695 static KmParInt    _GEANT_DRAWING_DPART_ITRA_type = { (char*)0, (char*)0,
00696  (char*)0, (char*)0, 0 };
00697 static KmParameter _GEANT_DRAWING_DPART_ITRA = { "ITRA", 4, "Track number",
00698  "0", (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
00699  &_GEANT_DRAWING_DPART_ITRA_type };
00700 static KmParInt    _GEANT_DRAWING_DPART_ISEL_type = { (char*)0, (char*)0,
00701  (char*)0, (char*)0, 0 };
00702 static KmParameter _GEANT_DRAWING_DPART_ISEL = { "ISEL", 4, "Option flag",
00703  "11", (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
00704  &_GEANT_DRAWING_DPART_ISEL_type };
00705 static KmParReal   _GEANT_DRAWING_DPART_SIZE_type = { (char*)0, (char*)0,
00706  (char*)0, (char*)0, 0 };
00707 static KmParameter _GEANT_DRAWING_DPART_SIZE = { "SIZE", 4,
00708  "Character size (cm) for particle names", "0.25", (char*)0, 12, 0, (char**)0,
00709  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DPART_SIZE_type };
00710 static KmParameter *_GEANT_DRAWING_DPART_parameters[] = {
00711  &_GEANT_DRAWING_DPART_ITRA, &_GEANT_DRAWING_DPART_ISEL,
00712  &_GEANT_DRAWING_DPART_SIZE };
00713 static char *_GEANT_DRAWING_DPART_guidance[] = {
00714  " CALL GDPART(itra,isel,size)", " isel=x1 to draw the track number",
00715  " isel=1x to draw the particle name" };
00716 static KmCommand _GEANT_DRAWING_DPART = { &_GEANT_DRAWING_DHITS,
00717  "/GEANT/DRAWING/DPART", "DPART", 0, 2, 3, 0, _GEANT_DRAWING_DPART_parameters,
00718  0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3,
00719  _GEANT_DRAWING_DPART_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
00720  (char*)0, (int*)0 };
00721  
00722 static KmParReal   _GEANT_DRAWING_KXYZ_EPSILO_type = { (char*)0, (char*)0,
00723  (char*)0, (char*)0, 0 };
00724 static KmParameter _GEANT_DRAWING_KXYZ_EPSILO = { "EPSILO", 6, "Delta angle",
00725  "0.25", (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00726  &_GEANT_DRAWING_KXYZ_EPSILO_type };
00727 static KmParameter *_GEANT_DRAWING_KXYZ_parameters[] = {
00728  &_GEANT_DRAWING_KXYZ_EPSILO };
00729 static char *_GEANT_DRAWING_KXYZ_guidance[] = { " CALL GKXYZ(epsilo)",
00730  "The picking of track points requires the JXYZ data structure",
00731  "and is  repeated until the character typed is 'Q' or 'q' (GKS)",
00732  "or the right button of the mouse is clicked (X11).",
00733  "EPSILO is the delta angle used for picking; if EPSILO=0",
00734  "there is no optimization performed and",
00735  "over all the track points the one nearest to the pick", "point is taken." };
00736 static KmCommand _GEANT_DRAWING_KXYZ = { &_GEANT_DRAWING_DPART,
00737  "/GEANT/DRAWING/KXYZ", "KXYZ", 0, 2, 1, 0, _GEANT_DRAWING_KXYZ_parameters, 0,
00738  0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 8,
00739  _GEANT_DRAWING_KXYZ_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
00740  (char*)0, (int*)0 };
00741  
00742 static KmParInt    _GEANT_DRAWING_DXYZ_ITRA_type = { (char*)0, (char*)0,
00743  (char*)0, (char*)0, 0 };
00744 static KmParameter _GEANT_DRAWING_DXYZ_ITRA = { "ITRA", 4, "Track number",
00745  "0", (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
00746  &_GEANT_DRAWING_DXYZ_ITRA_type };
00747 static KmParameter *_GEANT_DRAWING_DXYZ_parameters[] = {
00748  &_GEANT_DRAWING_DXYZ_ITRA };
00749 static char *_GEANT_DRAWING_DXYZ_guidance[] = { " CALL GDXYZ(itra)",
00750  "Draw tracks previously stored via GSXYZ." };
00751 static KmCommand _GEANT_DRAWING_DXYZ = { &_GEANT_DRAWING_KXYZ,
00752  "/GEANT/DRAWING/DXYZ", "DXYZ", 0, 2, 1, 0, _GEANT_DRAWING_DXYZ_parameters, 0,
00753  0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 2,
00754  _GEANT_DRAWING_DXYZ_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
00755  (char*)0, (int*)0 };
00756  
00757 static KmParReal   _GEANT_DRAWING_ZOOM_ZFU_type = { (char*)0, (char*)0,
00758  (char*)0, (char*)0, 0 };
00759 static KmParameter _GEANT_DRAWING_ZOOM_ZFU = { "ZFU", 3,
00760  "Zoom factor for U-coord. (horizontal)", "2.", (char*)0, 12, 0, (char**)0, 0,
00761  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_ZOOM_ZFU_type };
00762 static KmParReal   _GEANT_DRAWING_ZOOM_ZFV_type = { (char*)0, (char*)0,
00763  (char*)0, (char*)0, 0 };
00764 static KmParameter _GEANT_DRAWING_ZOOM_ZFV = { "ZFV", 3,
00765  "Zoom factor for V-coord. (vertical)", "2.", (char*)0, 12, 0, (char**)0, 0,
00766  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_ZOOM_ZFV_type };
00767 static KmParInt    _GEANT_DRAWING_ZOOM_ISEL_type = { (char*)0, (char*)0,
00768  (char*)0, (char*)0, 0 };
00769 static KmParameter _GEANT_DRAWING_ZOOM_ISEL = { "ISEL", 4, "Options", "1",
00770  (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
00771  &_GEANT_DRAWING_ZOOM_ISEL_type };
00772 static KmParReal   _GEANT_DRAWING_ZOOM_UZ0_type = { "0.", "20.", "0.", "20.",
00773  0 };
00774 static KmParameter _GEANT_DRAWING_ZOOM_UZ0 = { "UZ0", 3,
00775  "U-coord. of the centre of zoom rectangle", "10.", (char*)0, 12, 0,
00776  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00777  &_GEANT_DRAWING_ZOOM_UZ0_type };
00778 static KmParReal   _GEANT_DRAWING_ZOOM_VZ0_type = { "0.", "20.", "0.", "20.",
00779  0 };
00780 static KmParameter _GEANT_DRAWING_ZOOM_VZ0 = { "VZ0", 3,
00781  "V-coord. of the centre of zoom rectangle", "10.", (char*)0, 12, 0,
00782  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00783  &_GEANT_DRAWING_ZOOM_VZ0_type };
00784 static KmParReal   _GEANT_DRAWING_ZOOM_U0_type = { "0.", "20.", "0.", "20.", 0
00785  };
00786 static KmParameter _GEANT_DRAWING_ZOOM_U0 = { "U0", 2,
00787  "U-coord. of the centre of resulting zoomed rectangle", "10.", (char*)0, 12,
00788  0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00789  &_GEANT_DRAWING_ZOOM_U0_type };
00790 static KmParReal   _GEANT_DRAWING_ZOOM_V0_type = { "0.", "20.", "0.", "20.", 0
00791  };
00792 static KmParameter _GEANT_DRAWING_ZOOM_V0 = { "V0", 2,
00793  "V-coord. of the centre of resulting zoomed rectangle", "10.", (char*)0, 12,
00794  0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00795  &_GEANT_DRAWING_ZOOM_V0_type };
00796 static KmParameter *_GEANT_DRAWING_ZOOM_parameters[] = {
00797  &_GEANT_DRAWING_ZOOM_ZFU, &_GEANT_DRAWING_ZOOM_ZFV,
00798  &_GEANT_DRAWING_ZOOM_ISEL, &_GEANT_DRAWING_ZOOM_UZ0,
00799  &_GEANT_DRAWING_ZOOM_VZ0, &_GEANT_DRAWING_ZOOM_U0, &_GEANT_DRAWING_ZOOM_V0 };
00800 static char *_GEANT_DRAWING_ZOOM_guidance[] = {
00801  " CALL GDZOOM(zfu,zfv,uz0,vz0,u0,v0)",
00802  "This command sets the zoom parameters that will be used by",
00803  "subsequent calls to the drawing routines. Each zoom operation is always",
00804  "relative to the status of the current zoom parameters.",
00805  "The scale factors in u,v are respectively  zfu,zfv.",
00806  "zfu=0 (or zfv=0) will act as a reset (i.e. unzoomed viewing).",
00807  "The zoom is computed around uz0,vz0 (user coordinates),",
00808  "and the resulting picture will be centered at u0,v0.",
00809  "The use of the space bar is replaced by the left button of the mouse",
00810  "running with X11:", "If isel=0 :", " 1. position the cursor at (uz0,vz0)",
00811  " 2. type the space bar (GKS)", "(u0,v0 are chosen at centre of screen)",
00812  "If isel=1 :", " 1. position the cursor at first corner of zoom rectangle",
00813  " 2. type the space bar (GKS)",
00814  " 3. position the cursor at second corner of zoom rectangle",
00815  " 4. type the space bar (GKS)",
00816  "(zfu,zfv are chosen according to the zoom rectangle;",
00817  "uz0,vz0 are chosen at the centre of the zoom rectangle;",
00818  "u0,v0 are chosen at centre of screen)", "If isel=2 :",
00819  " 1. position the cursor at (uz0,vz0)", " 2. type the space bar (GKS)",
00820  " 3. position the cursor at (u0,v0)", " 4. type the space bar (GKS)",
00821  "If isel=1000+n and running with X-windows:",
00822  " 1. n must be the identifier of an active view bank",
00823  " 2. clicking on the left button of the mouse will display",
00824  "    a zoomed view (computed around the cursor position) of",
00825  "    the previous drawing in a new window",
00826  " 3. it is now possible to iterate the zooming from the new window",
00827  " 4. clicking on the right button will return the control to the",
00828  "    main window",
00829  " 5. clicking on the left button it is possible to open new windows",
00830  "    zooming in other points of the detector",
00831  " 6. clicking on the right button when the main window is active",
00832  "    will return the control to the 'command mode'." };
00833 static KmCommand _GEANT_DRAWING_ZOOM = { &_GEANT_DRAWING_DXYZ,
00834  "/GEANT/DRAWING/ZOOM", "ZOOM", 0, 2, 7, 0, _GEANT_DRAWING_ZOOM_parameters, 0,
00835  0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 39,
00836  _GEANT_DRAWING_ZOOM_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
00837  (char*)0, (int*)0 };
00838  
00839 static KmParInt    _GEANT_DRAWING_LENS_KNUM_type = { (char*)0, (char*)0,
00840  (char*)0, (char*)0, 0 };
00841 static KmParameter _GEANT_DRAWING_LENS_KNUM = { "KNUM", 4,
00842  "View bank identifier", "1", (char*)0, 8, 0, (char**)0, 0, (char**)0,
00843  (KmParFlag)0, KmTYPE_INT, &_GEANT_DRAWING_LENS_KNUM_type };
00844 static KmParameter _GEANT_DRAWING_LENS_KSAM = { "KSAM", 4,
00845  "Sample mode         ", "OFF ", (char*)0, 20, 0, (char**)0, 0, (char**)0,
00846  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
00847 static KmParameter *_GEANT_DRAWING_LENS_parameters[] = {
00848  &_GEANT_DRAWING_LENS_KNUM, &_GEANT_DRAWING_LENS_KSAM };
00849 static char *_GEANT_DRAWING_LENS_guidance[] = {
00850  "Interactive zooming for detectors and events when running",
00851  "with X-windows. Using this command, when showing the contents of a",
00852  "view bank, it is possible to click (left button) in two points of the",
00853  "drawing (which will represent the left upper corner and the right",
00854  "bottom corner of the part to be zoomed). After the second click",
00855  "a new 'window' will appear to fit the frame defined",
00856  "by the two clicks and it will show a zoomed view as seen from a",
00857  "lens with those dimensions. Clicking now the central button will",
00858  "translate the lens over the drawing, while clicking the right button",
00859  "will stop it. Moreover, clicking the left button of the",
00860  "mouse, the lens will increase (or decrease) its magnification",
00861  "power according to the backward-to-forward movement of the mouse.",
00862  "A click on the right button will stop this action and it is possible",
00863  "to restart the translation of the lens or, clicking",
00864  "on the right button again, to make the lens disappear. It is then possible",
00865  "to open another 'window-lens' with different dimensions. Thus,",
00866  "this command can be useful to scan detailed parts of a detector or",
00867  "to scan hits and showers for events. Clicking the right",
00868  "button when no lens is displayed will return the control to the",
00869  "'command mode'. The LENS is also available in sample mode when KSAM is",
00870  "'ON'.", "The following commands will fill a view bank and will",
00871  "allow to scan the detector and an event previously stored",
00872  "via the use of LENS (when running", "with X-windows):", " EXAMPLE -",
00873  " satt * seen 1", " dopen 1", " draw NAME 40 40 0 10 10 .01 .01", " dxyz 0",
00874  " dhits * * 0 0 .2", " dclose", " dsh 1", " lens 1 on" };
00875 static KmCommand _GEANT_DRAWING_LENS = { &_GEANT_DRAWING_ZOOM,
00876  "/GEANT/DRAWING/LENS", "LENS", 0, 2, 2, 1, _GEANT_DRAWING_LENS_parameters, 0,
00877  0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 34,
00878  _GEANT_DRAWING_LENS_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
00879  (char*)0, (int*)0 };
00880  
00881 static KmParameter _GEANT_DRAWING_PERSP_NAME = { "NAME", 4, "Volume name",
00882  "    ", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
00883  (void*)0 };
00884 static KmParReal   _GEANT_DRAWING_PERSP_DISTT_type = { (char*)0, (char*)0,
00885  (char*)0, (char*)0, 0 };
00886 static KmParameter _GEANT_DRAWING_PERSP_DISTT = { "DISTT", 5,
00887  "Volume distance from observer", "1000.", (char*)0, 12, 0, (char**)0, 0,
00888  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_PERSP_DISTT_type };
00889 static KmParameter _GEANT_DRAWING_PERSP_SAMP = { "SAMP", 4,
00890  "Control to the mouse", "OFF ", (char*)0, 20, 0, (char**)0, 0, (char**)0,
00891  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
00892 static KmParameter *_GEANT_DRAWING_PERSP_parameters[] = {
00893  &_GEANT_DRAWING_PERSP_NAME, &_GEANT_DRAWING_PERSP_DISTT,
00894  &_GEANT_DRAWING_PERSP_SAMP };
00895 static char *_GEANT_DRAWING_PERSP_guidance[] = {
00896  "To control the perspective according to the variation of the distance",
00897  "between the observer and the object (if PROJ has the value PERS).",
00898  "If SAMP is ON the control of the distance is given via the mouse." };
00899 static KmCommand _GEANT_DRAWING_PERSP = { &_GEANT_DRAWING_LENS,
00900  "/GEANT/DRAWING/PERSP", "PERSP", 0, 2, 3, 2, _GEANT_DRAWING_PERSP_parameters,
00901  0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3,
00902  _GEANT_DRAWING_PERSP_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
00903  (char*)0, (int*)0 };
00904  
00905 static KmParameter _GEANT_DRAWING_MOVE3D_NAME = { "NAME", 4, "Volume name",
00906  "    ", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
00907  (void*)0 };
00908 static KmParReal   _GEANT_DRAWING_MOVE3D_THETA_type = { "0.", "180.", "0.",
00909  "180.", 0 };
00910 static KmParameter _GEANT_DRAWING_MOVE3D_THETA = { "THETA", 5,
00911  "Viewing angle theta (for 3D projection)", "40.", (char*)0, 12, 0, (char**)0,
00912  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_MOVE3D_THETA_type };
00913 static KmParReal   _GEANT_DRAWING_MOVE3D_PHI_type = { "0.", "360.", "0.",
00914  "360.", 0 };
00915 static KmParameter _GEANT_DRAWING_MOVE3D_PHI = { "PHI", 3,
00916  "Viewing angle phi (for 3D projection)", "40.", (char*)0, 12, 0, (char**)0,
00917  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_MOVE3D_PHI_type };
00918 static KmParReal   _GEANT_DRAWING_MOVE3D_PSI_type = { "0.", "180.", "0.",
00919  "180.", 0 };
00920 static KmParameter _GEANT_DRAWING_MOVE3D_PSI = { "PSI", 3,
00921  "Viewing angle psi (for 2D rotation)", "0.", (char*)0, 12, 0, (char**)0, 0,
00922  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_MOVE3D_PSI_type };
00923 static KmParReal   _GEANT_DRAWING_MOVE3D_U0_type = { "0.", "20.", "0.", "20.",
00924  0 };
00925 static KmParameter _GEANT_DRAWING_MOVE3D_U0 = { "U0", 2,
00926  "U-coord. (horizontal) of volume origin", "10.", (char*)0, 12, 0, (char**)0,
00927  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_MOVE3D_U0_type };
00928 static KmParReal   _GEANT_DRAWING_MOVE3D_V0_type = { "0.", "20.", "0.", "20.",
00929  0 };
00930 static KmParameter _GEANT_DRAWING_MOVE3D_V0 = { "V0", 2,
00931  "V-coord. (vertical) of volume origin", "10.", (char*)0, 12, 0, (char**)0, 0,
00932  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_MOVE3D_V0_type };
00933 static KmParReal   _GEANT_DRAWING_MOVE3D_SU_type = { (char*)0, (char*)0,
00934  (char*)0, (char*)0, 0 };
00935 static KmParameter _GEANT_DRAWING_MOVE3D_SU = { "SU", 2,
00936  "Scale factor for U-coord.", "0.01", (char*)0, 12, 0, (char**)0, 0,
00937  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_MOVE3D_SU_type };
00938 static KmParReal   _GEANT_DRAWING_MOVE3D_SV_type = { (char*)0, (char*)0,
00939  (char*)0, (char*)0, 0 };
00940 static KmParameter _GEANT_DRAWING_MOVE3D_SV = { "SV", 2,
00941  "Scale factor for V-coord.", "0.01", (char*)0, 12, 0, (char**)0, 0,
00942  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_MOVE3D_SV_type };
00943 static KmParReal   _GEANT_DRAWING_MOVE3D_SZ_type = { "0.1", "10.", "0.1",
00944  "10.", 1 };
00945 static KmParameter _GEANT_DRAWING_MOVE3D_SZ = { "SZ", 2, "Scale zoom factor",
00946  "1.", (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
00947  &_GEANT_DRAWING_MOVE3D_SZ_type };
00948 static char *_GEANT_DRAWING_MOVE3D_NOPT_range[] = { "T", "H" };
00949 static char *_GEANT_DRAWING_MOVE3D_NOPT_text[] = { (char*)0, (char*)0 };
00950 static KmParOption _GEANT_DRAWING_MOVE3D_NOPT_type = {
00951  _GEANT_DRAWING_MOVE3D_NOPT_text, (int*)0, (int*)0 };
00952 static KmParameter _GEANT_DRAWING_MOVE3D_NOPT = { "NOPT", 4,
00953  "T=tracks,H=hits", "    ", (char*)0, 8, 2, _GEANT_DRAWING_MOVE3D_NOPT_range,
00954  2, _GEANT_DRAWING_MOVE3D_NOPT_range, (KmParFlag)0, KmTYPE_OPTION,
00955  &_GEANT_DRAWING_MOVE3D_NOPT_type };
00956 static KmParameter *_GEANT_DRAWING_MOVE3D_parameters[] = {
00957  &_GEANT_DRAWING_MOVE3D_NAME, &_GEANT_DRAWING_MOVE3D_THETA,
00958  &_GEANT_DRAWING_MOVE3D_PHI, &_GEANT_DRAWING_MOVE3D_PSI,
00959  &_GEANT_DRAWING_MOVE3D_U0, &_GEANT_DRAWING_MOVE3D_V0,
00960  &_GEANT_DRAWING_MOVE3D_SU, &_GEANT_DRAWING_MOVE3D_SV,
00961  &_GEANT_DRAWING_MOVE3D_SZ, &_GEANT_DRAWING_MOVE3D_NOPT };
00962 static char *_GEANT_DRAWING_MOVE3D_guidance[] = {
00963  "Same functionality of the command MOVE interfaced with MOTIF." };
00964 static KmCommand _GEANT_DRAWING_MOVE3D = { &_GEANT_DRAWING_PERSP,
00965  "/GEANT/DRAWING/MOVE3D", "MOVE3D", 0, 2, 10, 1,
00966  _GEANT_DRAWING_MOVE3D_parameters, 0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0,
00967  (pCharFunc*)0, 1, _GEANT_DRAWING_MOVE3D_guidance, 0, (char**)0, 0, (char**)0,
00968  0, (char**)0, (char*)0, (int*)0 };
00969  
00970 static KmParameter _GEANT_DRAWING_MOVE_NAME = { "NAME", 4, "Volume name",
00971  "    ", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
00972  (void*)0 };
00973 static KmParameter _GEANT_DRAWING_MOVE_NOPT = { "NOPT", 4,
00974  "S=sample mode,T=tracks,H=hits", "    ", (char*)0, 20, 0, (char**)0, 0,
00975  (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
00976 static KmParameter *_GEANT_DRAWING_MOVE_parameters[] = {
00977  &_GEANT_DRAWING_MOVE_NAME, &_GEANT_DRAWING_MOVE_NOPT };
00978 static char *_GEANT_DRAWING_MOVE_guidance[] = {
00979  "Positioning some daughter volumes inside a 'mother', it can be",
00980  "important to check if overlaps between such volumes have occurred.",
00981  "Instead of putting the drawing in a view bank, zooming, and iterating",
00982  "the process for different viewing angles of the same detector, the",
00983  "MOVE facility has been developed (for machines running with X11):",
00984  "it is sufficient to draw a view of the volumes to be analysed (after",
00985  "setting the proper SEEN, COLO, etc. attributes) and then to enter",
00986  "'MOVE' followed by the same 'NAME' used for the last command DRAW.",
00987  "The detector will appear in a panel with five buttons at the",
00988  "bottom: THETA, PHI, TRASL, ZOOM, OFF. Clicking on the left button",
00989  "of the mouse, when the cursor is inside the THETA area, will rotate the",
00990  "detector along the polar angle theta according to the",
00991  "backward-to-forward movement of the mouse",
00992  "(clicking up and down the left button if",
00993  "not in sample mode); clicking on the right button of",
00994  "the mouse will stop the rotation; clicking now on the",
00995  "left button of the mouse when inside the PHI area will activate a",
00996  "rotation along the polar angle phi. In the same way, activating the",
00997  "TRASL button, the detector can be translated in the u,v plane",
00998  "of the screen according to the 2D-movement of the mouse. Finally,",
00999  "activating the ZOOM button, the detector will be zoomed (or unzoomed)",
01000  "according to the backward-to-forward movement of the mouse. Clicking on\
01001  the", "OFF button will return the control to the 'command mode'. The MOVE",
01002  "command will work also with hidden line removal and shading options",
01003  "(when SHAD is on the background will be black);",
01004  "moreover, if the volumes are clipped, exploded, shifted, etc., they",
01005  "will be 'MOVED' with these features as well.",
01006  "Tracks and hits of a previously stored physical event can be moved",
01007  "together with the detector, allowing a dynamical 3-D analysis of the",
01008  "simulated events. Clicking the central button of the mouse when a good",
01009  "view of the event is found, will stop any movement and the mouse will",
01010  "allow the normal picking capabilities first for the tracks and then for",
01011  "the hits. After clicking of the right button, the normal",
01012  "movement will restart to find another interesting view of the event",
01013  "and to iterate the process.", "The MOVE is also available in sample mode.",
01014  "The following commands will produce a drawing of a volume",
01015  "and then will give the control to the MOVE panel; try the following",
01016  "possibilities:", " EXAMPLE 1 -", " dopt hide off", " satt * seen -2",
01017  " draw NAME 40 40 0 10 10 .01 .01", " move NAME", " EXAMPLE 2 -",
01018  " dopt hide on", " satt * seen -2", " draw NAME 40 40 0 10 10 .01 .01",
01019  " move NAME", " EXAMPLE 3 -", " dopt shad on", " satt * colo 3",
01020  " satt * fill 2", " dopt edge off", " draw NAME 40 40 0 10 10 .01 .01",
01021  " move NAME" };
01022 static KmCommand _GEANT_DRAWING_MOVE = { &_GEANT_DRAWING_MOVE3D,
01023  "/GEANT/DRAWING/MOVE", "MOVE", 0, 2, 2, 1, _GEANT_DRAWING_MOVE_parameters, 0,
01024  0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 56,
01025  _GEANT_DRAWING_MOVE_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
01026  (char*)0, (int*)0 };
01027  
01028 static char *_GEANT_DRAWING_PICK_guidance[] = {
01029  "Activates graphic input to identify detector elements",
01030  "in a cut view. Clicking on the left button of the mouse when",
01031  "the cursor is in a given point of the drawing and clicking again",
01032  "(outside the detector) will produce the following effect:",
01033  "a line joininig the two points will be drawn together with",
01034  "the name and the medium number of the volume picked",
01035  "with the first clicking close to the second point." };
01036 static KmCommand _GEANT_DRAWING_PICK = { &_GEANT_DRAWING_MOVE,
01037  "/GEANT/DRAWING/PICK", "PICK", 0, 2, 0, 0, (KmParameter**)0, 0, 0, gxpick_,
01038  (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 7, _GEANT_DRAWING_PICK_guidance,
01039  0, (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
01040  
01041 static char *_GEANT_DRAWING_MEASURE_guidance[] = {
01042  "Position the cursor on the first point (u1,v1) and hit the space bar(GKS).",
01043  "Position the cursor on the second point (u2,v2) and hit the space\
01044  bar(GKS).",
01045  "Clicking the left button of the mouse (X11) will have the same effect as",
01046  "hiting the space bar (GKS).",
01047  "The command will compute and print the distance in space separating",
01048  "the two points on the projection view. It can be useful to measure",
01049  "distances either between volumes or between tracks or hits." };
01050 static KmCommand _GEANT_DRAWING_MEASURE = { &_GEANT_DRAWING_PICK,
01051  "/GEANT/DRAWING/MEASURE", "MEASURE", 0, 2, 0, 0, (KmParameter**)0, 0, 0,
01052  gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 7,
01053  _GEANT_DRAWING_MEASURE_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
01054  (char*)0, (int*)0 };
01055  
01056 static KmParInt    _GEANT_DRAWING_DHEAD_ISEL_type = { (char*)0, (char*)0,
01057  (char*)0, (char*)0, 0 };
01058 static KmParameter _GEANT_DRAWING_DHEAD_ISEL = { "ISEL", 4, "Option flag",
01059  "111110", (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
01060  &_GEANT_DRAWING_DHEAD_ISEL_type };
01061 static KmParameter _GEANT_DRAWING_DHEAD_NAME = { "NAME", 4, "Title", " ",
01062  (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
01063  (void*)0 };
01064 static KmParReal   _GEANT_DRAWING_DHEAD_CHRSIZ_type = { (char*)0, (char*)0,
01065  (char*)0, (char*)0, 0 };
01066 static KmParameter _GEANT_DRAWING_DHEAD_CHRSIZ = { "CHRSIZ", 6,
01067  "Character size (cm) of title NAME", "0.6", (char*)0, 12, 0, (char**)0, 0,
01068  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DHEAD_CHRSIZ_type };
01069 static KmParameter *_GEANT_DRAWING_DHEAD_parameters[] = {
01070  &_GEANT_DRAWING_DHEAD_ISEL, &_GEANT_DRAWING_DHEAD_NAME,
01071  &_GEANT_DRAWING_DHEAD_CHRSIZ };
01072 static char *_GEANT_DRAWING_DHEAD_guidance[] = {
01073  " CALL GDHEAD(isel,name,chrsiz)", "ISEL =",
01074  " 0      to have only the header lines",
01075  " xxxxx1 to add the text name centered on top of header",
01076  " xxxx1x to add global detector name (first volume) on left",
01077  " xxx1xx to add date on right",
01078  " xx1xxx to select thick characters for text on top of header",
01079  " x1xxxx to add the text 'EVENT NR x' on top of header",
01080  " 1xxxxx to add the text 'RUN NR x' on top of header",
01081  "NOTE that ISEL=x1xxx1 or ISEL=1xxxx1 are illegal choices,",
01082  "i.e. they generate overwritten text.", "NAME is the title",
01083  "and CHRSIZ the character size in cm of text name." };
01084 static KmCommand _GEANT_DRAWING_DHEAD = { &_GEANT_DRAWING_MEASURE,
01085  "/GEANT/DRAWING/DHEAD", "DHEAD", 0, 2, 3, 0, _GEANT_DRAWING_DHEAD_parameters,
01086  0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 13,
01087  _GEANT_DRAWING_DHEAD_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
01088  (char*)0, (int*)0 };
01089  
01090 static KmParReal   _GEANT_DRAWING_DMAN_U_type = { (char*)0, (char*)0,
01091  (char*)0, (char*)0, 0 };
01092 static KmParameter _GEANT_DRAWING_DMAN_U = { "U", 1,
01093  "U-coord. (horizontal) of the centre of man", (char*)0, (char*)0, 12, 0,
01094  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01095  &_GEANT_DRAWING_DMAN_U_type };
01096 static KmParReal   _GEANT_DRAWING_DMAN_V_type = { (char*)0, (char*)0,
01097  (char*)0, (char*)0, 0 };
01098 static KmParameter _GEANT_DRAWING_DMAN_V = { "V", 1,
01099  "V-coord. (vertical) of the centre of man", (char*)0, (char*)0, 12, 0,
01100  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01101  &_GEANT_DRAWING_DMAN_V_type };
01102 static char *_GEANT_DRAWING_DMAN_TYPE_range[] = { "MAN", "WM1", "WM2", "WM3" };
01103 static char *_GEANT_DRAWING_DMAN_TYPE_text[] = { (char*)0, (char*)0, (char*)0,
01104  (char*)0 };
01105 static KmParOption _GEANT_DRAWING_DMAN_TYPE_type = {
01106  _GEANT_DRAWING_DMAN_TYPE_text, (int*)0, (int*)0 };
01107 static KmParameter _GEANT_DRAWING_DMAN_TYPE = { "TYPE", 4,
01108  "Man, Wm1, Wm2, Wm3", "MAN", (char*)0, 8, 4, _GEANT_DRAWING_DMAN_TYPE_range,
01109  4, _GEANT_DRAWING_DMAN_TYPE_range, (KmParFlag)0, KmTYPE_OPTION,
01110  &_GEANT_DRAWING_DMAN_TYPE_type };
01111 static KmParameter *_GEANT_DRAWING_DMAN_parameters[] = {
01112  &_GEANT_DRAWING_DMAN_U, &_GEANT_DRAWING_DMAN_V, &_GEANT_DRAWING_DMAN_TYPE };
01113 static char *_GEANT_DRAWING_DMAN_guidance[] = {
01114  " CALL GDMAN(u,v),CALL GDWMN1(u,v),CALL GDWMN2(u,v),CALL GDWMN2(u,v)",
01115  "It superimposes the picure of a man or of a woman, chosen among",
01116  "three different ones, with the same scale factors as the detector",
01117  "in the current drawing." };
01118 static KmCommand _GEANT_DRAWING_DMAN = { &_GEANT_DRAWING_DHEAD,
01119  "/GEANT/DRAWING/DMAN", "DMAN", 0, 2, 3, 3, _GEANT_DRAWING_DMAN_parameters, 0,
01120  0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 4,
01121  _GEANT_DRAWING_DMAN_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
01122  (char*)0, (int*)0 };
01123  
01124 static KmParReal   _GEANT_DRAWING_DAXIS_X0_type = { (char*)0, (char*)0,
01125  (char*)0, (char*)0, 0 };
01126 static KmParameter _GEANT_DRAWING_DAXIS_X0 = { "X0", 2,
01127  "X-coord. of axis origin", (char*)0, (char*)0, 12, 0, (char**)0, 0,
01128  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DAXIS_X0_type };
01129 static KmParReal   _GEANT_DRAWING_DAXIS_Y0_type = { (char*)0, (char*)0,
01130  (char*)0, (char*)0, 0 };
01131 static KmParameter _GEANT_DRAWING_DAXIS_Y0 = { "Y0", 2,
01132  "Y-coord. of axis origin", (char*)0, (char*)0, 12, 0, (char**)0, 0,
01133  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DAXIS_Y0_type };
01134 static KmParReal   _GEANT_DRAWING_DAXIS_Z0_type = { (char*)0, (char*)0,
01135  (char*)0, (char*)0, 0 };
01136 static KmParameter _GEANT_DRAWING_DAXIS_Z0 = { "Z0", 2,
01137  "Z-coord. of axis origin", (char*)0, (char*)0, 12, 0, (char**)0, 0,
01138  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DAXIS_Z0_type };
01139 static KmParReal   _GEANT_DRAWING_DAXIS_DX_type = { (char*)0, (char*)0,
01140  (char*)0, (char*)0, 0 };
01141 static KmParameter _GEANT_DRAWING_DAXIS_DX = { "DX", 2, "Axis size", (char*)0,
01142  (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01143  &_GEANT_DRAWING_DAXIS_DX_type };
01144 static KmParameter *_GEANT_DRAWING_DAXIS_parameters[] = {
01145  &_GEANT_DRAWING_DAXIS_X0, &_GEANT_DRAWING_DAXIS_Y0, &_GEANT_DRAWING_DAXIS_Z0,
01146  &_GEANT_DRAWING_DAXIS_DX };
01147 static char *_GEANT_DRAWING_DAXIS_guidance[] = { " CALL GDAXIS(x0,y0,z0,dx)",
01148  "This commmand superimposes the axis of the MARS on the",
01149  "current picture. It is useful for finding immediately the",
01150  "orientation of the current drawing of the detector in the space." };
01151 static KmCommand _GEANT_DRAWING_DAXIS = { &_GEANT_DRAWING_DMAN,
01152  "/GEANT/DRAWING/DAXIS", "DAXIS", 0, 2, 4, 4, _GEANT_DRAWING_DAXIS_parameters,
01153  0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 4,
01154  _GEANT_DRAWING_DAXIS_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
01155  (char*)0, (int*)0 };
01156  
01157 static KmParReal   _GEANT_DRAWING_DSCALE_U_type = { (char*)0, (char*)0,
01158  (char*)0, (char*)0, 0 };
01159 static KmParameter _GEANT_DRAWING_DSCALE_U = { "U", 1,
01160  "U-coord. (horizontal) of the centre of scale", (char*)0, (char*)0, 12, 0,
01161  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01162  &_GEANT_DRAWING_DSCALE_U_type };
01163 static KmParReal   _GEANT_DRAWING_DSCALE_V_type = { (char*)0, (char*)0,
01164  (char*)0, (char*)0, 0 };
01165 static KmParameter _GEANT_DRAWING_DSCALE_V = { "V", 1,
01166  "V-coord. (vertical) of the centre of scale", (char*)0, (char*)0, 12, 0,
01167  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01168  &_GEANT_DRAWING_DSCALE_V_type };
01169 static KmParameter *_GEANT_DRAWING_DSCALE_parameters[] = {
01170  &_GEANT_DRAWING_DSCALE_U, &_GEANT_DRAWING_DSCALE_V };
01171 static char *_GEANT_DRAWING_DSCALE_guidance[] = { " CALL GDSCAL(u,v)",
01172  "It draws a scale centered in U,V." };
01173 static KmCommand _GEANT_DRAWING_DSCALE = { &_GEANT_DRAWING_DAXIS,
01174  "/GEANT/DRAWING/DSCALE", "DSCALE", 0, 2, 2, 2,
01175  _GEANT_DRAWING_DSCALE_parameters, 0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0,
01176  (pCharFunc*)0, 2, _GEANT_DRAWING_DSCALE_guidance, 0, (char**)0, 0, (char**)0,
01177  0, (char**)0, (char*)0, (int*)0 };
01178  
01179 static KmParameter _GEANT_DRAWING_DVECTOR_XVECT = { "XVECT", 5,
01180  "Vector containing X-coord. (horizontal)", (char*)0, (char*)0, 20, 0,
01181  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
01182 static KmParameter _GEANT_DRAWING_DVECTOR_YVECT = { "YVECT", 5,
01183  "Vector containing Y-coord. (vertical)", (char*)0, (char*)0, 20, 0,
01184  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
01185 static KmParInt    _GEANT_DRAWING_DVECTOR_NPOINT_type = { (char*)0, (char*)0,
01186  (char*)0, (char*)0, 0 };
01187 static KmParameter _GEANT_DRAWING_DVECTOR_NPOINT = { "NPOINT", 6,
01188  "Number of coord.", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
01189  (KmParFlag)0, KmTYPE_INT, &_GEANT_DRAWING_DVECTOR_NPOINT_type };
01190 static KmParameter *_GEANT_DRAWING_DVECTOR_parameters[] = {
01191  &_GEANT_DRAWING_DVECTOR_XVECT, &_GEANT_DRAWING_DVECTOR_YVECT,
01192  &_GEANT_DRAWING_DVECTOR_NPOINT };
01193 static char *_GEANT_DRAWING_DVECTOR_guidance[] = {
01194  "Draw a polyline of 'npoint' point via",
01195  "a call to GDRAWV(xvect,yvect,npoint)",
01196  "where xvect and yvect are two KUIP vectors" };
01197 static KmCommand _GEANT_DRAWING_DVECTOR = { &_GEANT_DRAWING_DSCALE,
01198  "/GEANT/DRAWING/DVECTOR", "DVECTOR", 0, 2, 3, 3,
01199  _GEANT_DRAWING_DVECTOR_parameters, 0, 0, gxdraw_, (IntFunc*)0,
01200  (SUBROUTINE*)0, (pCharFunc*)0, 3, _GEANT_DRAWING_DVECTOR_guidance, 0,
01201  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
01202  
01203 static KmParReal   _GEANT_DRAWING_DTEXT_X0_type = { "0.", "20.", "0.", "20.",
01204  0 };
01205 static KmParameter _GEANT_DRAWING_DTEXT_X0 = { "X0", 2,
01206  "X-coord. (horizontal) of text string", "10.", (char*)0, 12, 0, (char**)0, 0,
01207  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DTEXT_X0_type };
01208 static KmParReal   _GEANT_DRAWING_DTEXT_Y0_type = { "0.", "20.", "0.", "20.",
01209  0 };
01210 static KmParameter _GEANT_DRAWING_DTEXT_Y0 = { "Y0", 2,
01211  "Y-coord. (vertical) of text string", "10.", (char*)0, 12, 0, (char**)0, 0,
01212  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DTEXT_Y0_type };
01213 static KmParameter _GEANT_DRAWING_DTEXT_TEXT = { "TEXT", 4, "Text string",
01214  "GEANT", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
01215   (void*)0 };
01216 static KmParReal   _GEANT_DRAWING_DTEXT_SIZE_type = { (char*)0, (char*)0,
01217  (char*)0, (char*)0, 0 };
01218 static KmParameter _GEANT_DRAWING_DTEXT_SIZE = { "SIZE", 4,
01219  "Character size (cm)", ".5", (char*)0, 12, 0, (char**)0, 0, (char**)0,
01220  (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DTEXT_SIZE_type };
01221 static KmParReal   _GEANT_DRAWING_DTEXT_ANGLE_type = { "0.", "360.", "0.",
01222  "360.", 0 };
01223 static KmParameter _GEANT_DRAWING_DTEXT_ANGLE = { "ANGLE", 5,
01224  "Rotation angle (deg)", "0.", (char*)0, 12, 0, (char**)0, 0, (char**)0,
01225  (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DTEXT_ANGLE_type };
01226 static KmParInt    _GEANT_DRAWING_DTEXT_LWID_type = { (char*)0, (char*)0,
01227  (char*)0, (char*)0, 0 };
01228 static KmParameter _GEANT_DRAWING_DTEXT_LWID = { "LWID", 4, "Line width", "4",
01229  (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
01230  &_GEANT_DRAWING_DTEXT_LWID_type };
01231 static char *_GEANT_DRAWING_DTEXT_CENT_range[] = { "CENT", "LEFT", "RIGH" };
01232 static char *_GEANT_DRAWING_DTEXT_CENT_text[] = { (char*)0, (char*)0, (char*)0
01233  };
01234 static KmParOption _GEANT_DRAWING_DTEXT_CENT_type = {
01235  _GEANT_DRAWING_DTEXT_CENT_text, (int*)0, (int*)0 };
01236 static KmParameter _GEANT_DRAWING_DTEXT_CENT = { "CENT", 4,
01237  "Centering option", "CENT", (char*)0, 8, 3, _GEANT_DRAWING_DTEXT_CENT_range,
01238  3, _GEANT_DRAWING_DTEXT_CENT_range, (KmParFlag)0, KmTYPE_OPTION,
01239  &_GEANT_DRAWING_DTEXT_CENT_type };
01240 static KmParameter *_GEANT_DRAWING_DTEXT_parameters[] = {
01241  &_GEANT_DRAWING_DTEXT_X0, &_GEANT_DRAWING_DTEXT_Y0,
01242  &_GEANT_DRAWING_DTEXT_TEXT, &_GEANT_DRAWING_DTEXT_SIZE,
01243  &_GEANT_DRAWING_DTEXT_ANGLE, &_GEANT_DRAWING_DTEXT_LWID,
01244  &_GEANT_DRAWING_DTEXT_CENT };
01245 static char *_GEANT_DRAWING_DTEXT_guidance[] = {
01246  " CALL GDRAWT(x0,y0,text,size,angle,lwid,opt)",
01247  "It allows one to draw some text in the current picture.",
01248  "Now more than 160 colours are available. The text colour",
01249  "must be set via the command IGSET. The size of the",
01250  "text will follow the zooming factors in the view banks." };
01251 static KmCommand _GEANT_DRAWING_DTEXT = { &_GEANT_DRAWING_DVECTOR,
01252  "/GEANT/DRAWING/DTEXT", "DTEXT", 0, 2, 7, 7, _GEANT_DRAWING_DTEXT_parameters,
01253  0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 5,
01254  _GEANT_DRAWING_DTEXT_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
01255  (char*)0, (int*)0 };
01256  
01257 static KmParameter _GEANT_DRAWING_DFSPC_NAME = { "NAME", 4, "Volume name",
01258  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
01259  KmTYPE_CHAR,  (void*)0 };
01260 static char *_GEANT_DRAWING_DFSPC_CSORT_range[] = { "Y", "N", "0", "1" };
01261 static char *_GEANT_DRAWING_DFSPC_CSORT_text[] = { (char*)0, (char*)0,
01262  (char*)0, (char*)0 };
01263 static KmParOption _GEANT_DRAWING_DFSPC_CSORT_type = {
01264  _GEANT_DRAWING_DFSPC_CSORT_text, (int*)0, (int*)0 };
01265 static KmParameter _GEANT_DRAWING_DFSPC_CSORT = { "CSORT", 5,
01266  "Alphabetic sorting flag", "N", (char*)0, 8, 4,
01267  _GEANT_DRAWING_DFSPC_CSORT_range, 4, _GEANT_DRAWING_DFSPC_CSORT_range,
01268  (KmParFlag)0, KmTYPE_OPTION, &_GEANT_DRAWING_DFSPC_CSORT_type };
01269 static char *_GEANT_DRAWING_DFSPC_CINTER_range[] = { "I", "B", "0", "1" };
01270 static char *_GEANT_DRAWING_DFSPC_CINTER_text[] = { (char*)0, (char*)0,
01271  (char*)0, (char*)0 };
01272 static KmParOption _GEANT_DRAWING_DFSPC_CINTER_type = {
01273  _GEANT_DRAWING_DFSPC_CINTER_text, (int*)0, (int*)0 };
01274 static KmParameter _GEANT_DRAWING_DFSPC_CINTER = { "CINTER", 6,
01275  "Interactive/Batch version", "I", (char*)0, 8, 4,
01276  _GEANT_DRAWING_DFSPC_CINTER_range, 4, _GEANT_DRAWING_DFSPC_CINTER_range,
01277  (KmParFlag)0, KmTYPE_OPTION, &_GEANT_DRAWING_DFSPC_CINTER_type };
01278 static KmParameter *_GEANT_DRAWING_DFSPC_parameters[] = {
01279  &_GEANT_DRAWING_DFSPC_NAME, &_GEANT_DRAWING_DFSPC_CSORT,
01280  &_GEANT_DRAWING_DFSPC_CINTER };
01281 static char *_GEANT_DRAWING_DFSPC_guidance[] = {
01282  " CALL GDFSPC(name,isort,inter)",
01283  "Same as DSPEC, but it will draw the specifications for all the volumes.",
01284  "If the alphabetic sorting flag is YES, all pictures will be drawn in\
01285  ascending", "alphabetic order; isort is set to 1.",
01286  "If INTERACTIVE, (inter=1), the routine will prompt the user at each plot",
01287  "before doing a clear screen, otherwise it will clear automatically",
01288  "the screen before starting a new frame." };
01289 static KmCommand _GEANT_DRAWING_DFSPC = { &_GEANT_DRAWING_DTEXT,
01290  "/GEANT/DRAWING/DFSPC", "DFSPC", 0, 2, 3, 1, _GEANT_DRAWING_DFSPC_parameters,
01291  0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 7,
01292  _GEANT_DRAWING_DFSPC_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
01293  (char*)0, (int*)0 };
01294  
01295 static KmParameter _GEANT_DRAWING_D3DSPEC_NAME = { "NAME", 4, "Volume name",
01296  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
01297  KmTYPE_CHAR,  (void*)0 };
01298 static KmParReal   _GEANT_DRAWING_D3DSPEC_TETA3_type = { "0.", "180.", "0.",
01299  "180.", 0 };
01300 static KmParameter _GEANT_DRAWING_D3DSPEC_TETA3 = { "TETA3", 5, "Theta angle",
01301  "40.", (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01302  &_GEANT_DRAWING_D3DSPEC_TETA3_type };
01303 static KmParReal   _GEANT_DRAWING_D3DSPEC_PHI3_type = { "0.", "360.", "0.",
01304  "360.", 0 };
01305 static KmParameter _GEANT_DRAWING_D3DSPEC_PHI3 = { "PHI3", 4, "Phi angle",
01306  "40.", (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01307  &_GEANT_DRAWING_D3DSPEC_PHI3_type };
01308 static KmParReal   _GEANT_DRAWING_D3DSPEC_PSI3_type = { "0.", "360.", "0.",
01309  "360.", 0 };
01310 static KmParameter _GEANT_DRAWING_D3DSPEC_PSI3 = { "PSI3", 4, "Psi angle",
01311  "0.", (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01312  &_GEANT_DRAWING_D3DSPEC_PSI3_type };
01313 static KmParReal   _GEANT_DRAWING_D3DSPEC_U03_type = { "-40.", "40.", "-40.",
01314  "40.", 0 };
01315 static KmParameter _GEANT_DRAWING_D3DSPEC_U03 = { "U03", 3,
01316  "U-coord. (horizontal) of volume origin", "10.", (char*)0, 12, 0, (char**)0,
01317  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_D3DSPEC_U03_type };
01318 static KmParReal   _GEANT_DRAWING_D3DSPEC_V03_type = { "-40.", "40.", "-40.",
01319  "40.", 0 };
01320 static KmParameter _GEANT_DRAWING_D3DSPEC_V03 = { "V03", 3,
01321  "V-coord. (vertical) of volume origin", "10.", (char*)0, 12, 0, (char**)0, 0,
01322  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_D3DSPEC_V03_type };
01323 static KmParReal   _GEANT_DRAWING_D3DSPEC_ZM3_type = { "0.00001", "10.",
01324  "0.00001", "10.", 5 };
01325 static KmParameter _GEANT_DRAWING_D3DSPEC_ZM3 = { "ZM3", 3,
01326  "Zoom factor for current size factors", "1.", (char*)0, 12, 0, (char**)0, 0,
01327  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_D3DSPEC_ZM3_type };
01328 static KmParameter *_GEANT_DRAWING_D3DSPEC_parameters[] = {
01329  &_GEANT_DRAWING_D3DSPEC_NAME, &_GEANT_DRAWING_D3DSPEC_TETA3,
01330  &_GEANT_DRAWING_D3DSPEC_PHI3, &_GEANT_DRAWING_D3DSPEC_PSI3,
01331  &_GEANT_DRAWING_D3DSPEC_U03, &_GEANT_DRAWING_D3DSPEC_V03,
01332  &_GEANT_DRAWING_D3DSPEC_ZM3 };
01333 static char *_GEANT_DRAWING_D3DSPEC_guidance[] = {
01334  "Trough a call to GSPE3D, this command allows one to show",
01335  "the volume (3D views in real time), together with",
01336  "its geometrical specifications (if using MOTIF). The 3D drawing will",
01337  "be performed according the current values of the options HIDE and",
01338  "SHAD and according the current CVOL clipping parameters for that", "volume."
01339  };
01340 static KmCommand _GEANT_DRAWING_D3DSPEC = { &_GEANT_DRAWING_DFSPC,
01341  "/GEANT/DRAWING/D3DSPEC", "D3DSPEC", 0, 2, 7, 1,
01342  _GEANT_DRAWING_D3DSPEC_parameters, 0, 0, gxdraw_, (IntFunc*)0,
01343  (SUBROUTINE*)0, (pCharFunc*)0, 6, _GEANT_DRAWING_D3DSPEC_guidance, 0,
01344  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
01345  
01346 static KmParameter _GEANT_DRAWING_DSPEC_NAME = { "NAME", 4, "Volume name",
01347  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
01348  KmTYPE_CHAR,  (void*)0 };
01349 static KmParameter *_GEANT_DRAWING_DSPEC_parameters[] = {
01350  &_GEANT_DRAWING_DSPEC_NAME };
01351 static char *_GEANT_DRAWING_DSPEC_guidance[] = {
01352  "Trough a call to GDSPEC(name), this command allows one to show three",
01353  "views of the volume (two cut-views and a 3D view), together with",
01354  "its geometrical specifications. The 3D drawing will",
01355  "be performed according the current values of the options HIDE and",
01356  "SHAD and according the current CVOL clipping parameters for that", "volume."
01357  };
01358 static KmCommand _GEANT_DRAWING_DSPEC = { &_GEANT_DRAWING_D3DSPEC,
01359  "/GEANT/DRAWING/DSPEC", "DSPEC", 0, 2, 1, 1, _GEANT_DRAWING_DSPEC_parameters,
01360  0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 6,
01361  _GEANT_DRAWING_DSPEC_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
01362  (char*)0, (int*)0 };
01363  
01364 static KmParameter _GEANT_DRAWING_DTREE_NAME = { "NAME", 4, "Volume name",
01365  " ", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
01366  (void*)0 };
01367 static KmParInt    _GEANT_DRAWING_DTREE_LEVMAX_type = { "-15", "15", "-15",
01368  "15", 0 };
01369 static KmParameter _GEANT_DRAWING_DTREE_LEVMAX = { "LEVMAX", 6, "Depth level",
01370  "3", (char*)0, 3, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
01371  &_GEANT_DRAWING_DTREE_LEVMAX_type };
01372 static KmParInt    _GEANT_DRAWING_DTREE_ISELT_type = { (char*)0, (char*)0,
01373  (char*)0, (char*)0, 0 };
01374 static KmParameter _GEANT_DRAWING_DTREE_ISELT = { "ISELT", 5, "Options    ",
01375  "111", (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
01376  &_GEANT_DRAWING_DTREE_ISELT_type };
01377 static KmParameter *_GEANT_DRAWING_DTREE_parameters[] = {
01378  &_GEANT_DRAWING_DTREE_NAME, &_GEANT_DRAWING_DTREE_LEVMAX,
01379  &_GEANT_DRAWING_DTREE_ISELT };
01380 static char *_GEANT_DRAWING_DTREE_guidance[] = {
01381  "This command allows the drawing of the logical tree,",
01382  "displaying the name, the multiplicity and other information about the\
01383  volumes,", "via a call to GDTREE(name,levmax,isel):",
01384  "if the third parameter is not given (default), the command will",
01385  "produce the drawing of the tree displaying, for each volume, the",
01386  "number of the following levels (red arrows) and of the preceeding",
01387  "levels (green arrows); then the control is automatically given to the",
01388  "mouse: clicking on the left button when the cursor is inside a volume's",
01389  "pave will perform a DSPEC for that volume; doing the same when the cursor",
01390  "is on a red arrow, will perform a DTREE for the relative volume (the",
01391  "number of levels displayed depending on the clicked arrow); doing the",
01392  "same for the 'i-th' green arrow of a given volume, will perform a DTREE",
01393  "for its mother-volume staying 'i' levels before.",
01394  "If running with X-windows, the drawing of the specification (DSPEC)",
01395  "is performed",
01396  "in a different window to speed up the scanning of the tree.",
01397  "Iterating this procedure it is possible to analyse very easily and quickly",
01398  "any kind of tree. Clicking the right button of the mouse will return",
01399  "the control to the command mode.", "If the ISELT parameter is given,",
01400  "then the TREE will work as in the",
01401  "previous version, with ISELT up to 10001.",
01402  "The following command will perform a drawing of the tree and give the",
01403  "control to the user via the mouse:", " EXAMPLE -", " dtree NAME 3" };
01404 static KmCommand _GEANT_DRAWING_DTREE = { &_GEANT_DRAWING_DSPEC,
01405  "/GEANT/DRAWING/DTREE", "DTREE", 0, 2, 3, 0, _GEANT_DRAWING_DTREE_parameters,
01406  0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 26,
01407  _GEANT_DRAWING_DTREE_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
01408  (char*)0, (int*)0 };
01409  
01410 static KmParReal   _GEANT_DRAWING_BOMB_BOOM_type = { "-10.", "10.", "-10.",
01411  "10.", 0 };
01412 static KmParameter _GEANT_DRAWING_BOMB_BOOM = { "BOOM", 4,
01413  " Exploding factor for volumes position ", "0.", (char*)0, 12, 0, (char**)0,
01414  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_BOMB_BOOM_type };
01415 static KmParameter *_GEANT_DRAWING_BOMB_parameters[] = {
01416  &_GEANT_DRAWING_BOMB_BOOM };
01417 static char *_GEANT_DRAWING_BOMB_guidance[] = {
01418  "To 'explode' the detector. If BOOM is positive (values smaller",
01419  "than 1. are suggested, but any value is possible)",
01420  "all the volumes are shifted by a distance",
01421  "proportional to BOOM along the direction between their centre",
01422  "and the origin of the MARS; the volumes which are symmetric",
01423  "with respect to this origin are simply not shown.",
01424  "BOOM equal to 0 resets the normal mode.",
01425  "A negative (greater than -1.) value of",
01426  "BOOM will cause an 'implosion'; for even lower values of BOOM",
01427  "the volumes' positions will be reflected respect to the origin.",
01428  "This command can be useful to improve the 3D effect for very",
01429  "complex detectors. The following commands will make explode the",
01430  "detector:", " EXAMPLE -", " dopt hide on", " satt * seen 1",
01431  " draw NAME 40 40 0 10 10 .01 .01", " bomb 1", " next",
01432  " draw NAME 40 40 0 10 10 .01 .01" };
01433 static KmCommand _GEANT_DRAWING_BOMB = { &_GEANT_DRAWING_DTREE,
01434  "/GEANT/DRAWING/BOMB", "BOMB", 0, 2, 1, 1, _GEANT_DRAWING_BOMB_parameters, 0,
01435  0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 20,
01436  _GEANT_DRAWING_BOMB_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
01437  (char*)0, (int*)0 };
01438  
01439 static KmParameter _GEANT_DRAWING_SHIFT_CNVN = { "CNVN", 4,
01440  " Name of volume to be shifted        ", "*", (char*)0, 20, 0, (char**)0, 0,
01441  (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
01442 static KmParReal   _GEANT_DRAWING_SHIFT_XXXX_type = { (char*)0, (char*)0,
01443  (char*)0, (char*)0, 0 };
01444 static KmParameter _GEANT_DRAWING_SHIFT_XXXX = { "XXXX", 4,
01445  " Shift along X axis                  ", "0.", (char*)0, 12, 0, (char**)0, 0,
01446  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_SHIFT_XXXX_type };
01447 static KmParReal   _GEANT_DRAWING_SHIFT_YYYY_type = { (char*)0, (char*)0,
01448  (char*)0, (char*)0, 0 };
01449 static KmParameter _GEANT_DRAWING_SHIFT_YYYY = { "YYYY", 4,
01450  " Shift along Y axis                  ", "0.", (char*)0, 12, 0, (char**)0, 0,
01451  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_SHIFT_YYYY_type };
01452 static KmParReal   _GEANT_DRAWING_SHIFT_ZZZZ_type = { (char*)0, (char*)0,
01453  (char*)0, (char*)0, 0 };
01454 static KmParameter _GEANT_DRAWING_SHIFT_ZZZZ = { "ZZZZ", 4,
01455  " Shift along Z axis                  ", "0.", (char*)0, 12, 0, (char**)0, 0,
01456  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_SHIFT_ZZZZ_type };
01457 static KmParameter *_GEANT_DRAWING_SHIFT_parameters[] = {
01458  &_GEANT_DRAWING_SHIFT_CNVN, &_GEANT_DRAWING_SHIFT_XXXX,
01459  &_GEANT_DRAWING_SHIFT_YYYY, &_GEANT_DRAWING_SHIFT_ZZZZ };
01460 static char *_GEANT_DRAWING_SHIFT_guidance[] = {
01461  "To draw a volume shifted from its initial position when hidden",
01462  "line removal is ON. It can be useful if you want to extract a",
01463  "volume or some volumes from the detector to show them more clearly.",
01464  "The last requested SHIFT for each volume",
01465  "NAME is performed. Moreover, the SHIFT of",
01466  "each volume will be performed starting from where its mother has",
01467  "been shifted, so that it's easier to SHIFT nicely sets",
01468  "of volumes using the mother-daughter relationships.",
01469  "If '.' is given as the name of the volume",
01470  "to be shifted, the shifts for all volumes will be reset.",
01471  "The following commands will produce the translation along",
01472  "the Z-axis of the previously drawn volume:", " EXAMPLE -", " dopt hide on",
01473  " satt * seen -2", " draw NAME 40 40 0 10 10 .01 .01", " shift NAME 0 0 10" };
01474 static KmCommand _GEANT_DRAWING_SHIFT = { &_GEANT_DRAWING_BOMB,
01475  "/GEANT/DRAWING/SHIFT", "SHIFT", 0, 2, 4, 4, _GEANT_DRAWING_SHIFT_parameters,
01476  0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 17,
01477  _GEANT_DRAWING_SHIFT_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
01478  (char*)0, (int*)0 };
01479  
01480 static KmParameter _GEANT_DRAWING_DXCUT_NAME = { "NAME", 4, "Volume name",
01481  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
01482  KmTYPE_CHAR,  (void*)0 };
01483 static KmParReal   _GEANT_DRAWING_DXCUT_CUTTHE_type = { "0.", "360.", "0.",
01484  "360.", 0 };
01485 static KmParameter _GEANT_DRAWING_DXCUT_CUTTHE = { "CUTTHE", 6,
01486  "Theta angle of the line normal to cut plane", (char*)0, (char*)0, 12, 0,
01487  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01488  &_GEANT_DRAWING_DXCUT_CUTTHE_type };
01489 static KmParReal   _GEANT_DRAWING_DXCUT_CUTPHI_type = { "0.", "360.", "0.",
01490  "360.", 0 };
01491 static KmParameter _GEANT_DRAWING_DXCUT_CUTPHI = { "CUTPHI", 6,
01492  "Phi angle of the line normal to cut plane", (char*)0, (char*)0, 12, 0,
01493  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01494  &_GEANT_DRAWING_DXCUT_CUTPHI_type };
01495 static KmParReal   _GEANT_DRAWING_DXCUT_CUTVAL_type = { (char*)0, (char*)0,
01496  (char*)0, (char*)0, 0 };
01497 static KmParameter _GEANT_DRAWING_DXCUT_CUTVAL = { "CUTVAL", 6,
01498  "Cut plane distance from the origin along the axis", (char*)0, (char*)0, 12,
01499  0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01500  &_GEANT_DRAWING_DXCUT_CUTVAL_type };
01501 static KmParReal   _GEANT_DRAWING_DXCUT_THETA_type = { "0.", "360.", "0.",
01502  "360.", 0 };
01503 static KmParameter _GEANT_DRAWING_DXCUT_THETA = { "THETA", 5,
01504  "Viewing angle theta (for 3D projection)", (char*)0, (char*)0, 12, 0,
01505  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01506  &_GEANT_DRAWING_DXCUT_THETA_type };
01507 static KmParReal   _GEANT_DRAWING_DXCUT_PHI_type = { "0.", "360.", "0.",
01508  "360.", 0 };
01509 static KmParameter _GEANT_DRAWING_DXCUT_PHI = { "PHI", 3,
01510  "Viewing angle phi (for 3D projection)", (char*)0, (char*)0, 12, 0,
01511  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01512  &_GEANT_DRAWING_DXCUT_PHI_type };
01513 static KmParReal   _GEANT_DRAWING_DXCUT_U0_type = { (char*)0, (char*)0,
01514  (char*)0, (char*)0, 0 };
01515 static KmParameter _GEANT_DRAWING_DXCUT_U0 = { "U0", 2,
01516  "U-coord. (horizontal) of volume origin", (char*)0, (char*)0, 12, 0,
01517  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01518  &_GEANT_DRAWING_DXCUT_U0_type };
01519 static KmParReal   _GEANT_DRAWING_DXCUT_V0_type = { (char*)0, (char*)0,
01520  (char*)0, (char*)0, 0 };
01521 static KmParameter _GEANT_DRAWING_DXCUT_V0 = { "V0", 2,
01522  "V-coord. (vertical) of volume origin", (char*)0, (char*)0, 12, 0, (char**)0,
01523  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DXCUT_V0_type };
01524 static KmParReal   _GEANT_DRAWING_DXCUT_SU_type = { (char*)0, (char*)0,
01525  (char*)0, (char*)0, 0 };
01526 static KmParameter _GEANT_DRAWING_DXCUT_SU = { "SU", 2,
01527  "Scale factor for U-coord.", (char*)0, (char*)0, 12, 0, (char**)0, 0,
01528  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DXCUT_SU_type };
01529 static KmParReal   _GEANT_DRAWING_DXCUT_SV_type = { (char*)0, (char*)0,
01530  (char*)0, (char*)0, 0 };
01531 static KmParameter _GEANT_DRAWING_DXCUT_SV = { "SV", 2,
01532  "Scale factor for V-coord.", (char*)0, (char*)0, 12, 0, (char**)0, 0,
01533  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DXCUT_SV_type };
01534 static KmParameter *_GEANT_DRAWING_DXCUT_parameters[] = {
01535  &_GEANT_DRAWING_DXCUT_NAME, &_GEANT_DRAWING_DXCUT_CUTTHE,
01536  &_GEANT_DRAWING_DXCUT_CUTPHI, &_GEANT_DRAWING_DXCUT_CUTVAL,
01537  &_GEANT_DRAWING_DXCUT_THETA, &_GEANT_DRAWING_DXCUT_PHI,
01538  &_GEANT_DRAWING_DXCUT_U0, &_GEANT_DRAWING_DXCUT_V0, &_GEANT_DRAWING_DXCUT_SU,
01539  &_GEANT_DRAWING_DXCUT_SV };
01540 static char *_GEANT_DRAWING_DXCUT_guidance[] = {
01541  " CALL GDRAWX(name,cutthe,cutphi,cutval,theta,phi,u0,v0,su,sv)",
01542  "The cut plane is normal to the line given by the cut angles",
01543  "cutthe and cutphi and placed at the distance cutval from the origin.",
01544  "The resulting picture is seen from the viewing angles theta,phi.",
01545  "If optional parameters are missing, the current values in /GCDRAW/",
01546  "are taken." };
01547 static KmCommand _GEANT_DRAWING_DXCUT = { &_GEANT_DRAWING_SHIFT,
01548  "/GEANT/DRAWING/DXCUT", "DXCUT", 0, 2, 10, 4,
01549  _GEANT_DRAWING_DXCUT_parameters, 0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0,
01550  (pCharFunc*)0, 6, _GEANT_DRAWING_DXCUT_guidance, 0, (char**)0, 0, (char**)0,
01551  0, (char**)0, (char*)0, (int*)0 };
01552  
01553 static KmParameter _GEANT_DRAWING_DCUT_NAME = { "NAME", 4, "Volume name",
01554  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
01555  KmTYPE_CHAR,  (void*)0 };
01556 static char *_GEANT_DRAWING_DCUT_CAXIS_range[] = { "X", "Y", "Z" };
01557 static char *_GEANT_DRAWING_DCUT_CAXIS_text[] = { (char*)0, (char*)0, (char*)0
01558  };
01559 static KmParOption _GEANT_DRAWING_DCUT_CAXIS_type = {
01560  _GEANT_DRAWING_DCUT_CAXIS_text, (int*)0, (int*)0 };
01561 static KmParameter _GEANT_DRAWING_DCUT_CAXIS = { "CAXIS", 5, "Axis value",
01562  (char*)0, (char*)0, 8, 3, _GEANT_DRAWING_DCUT_CAXIS_range, 3,
01563  _GEANT_DRAWING_DCUT_CAXIS_range, (KmParFlag)0, KmTYPE_OPTION,
01564  &_GEANT_DRAWING_DCUT_CAXIS_type };
01565 static KmParReal   _GEANT_DRAWING_DCUT_CUTVAL_type = { (char*)0, (char*)0,
01566  (char*)0, (char*)0, 0 };
01567 static KmParameter _GEANT_DRAWING_DCUT_CUTVAL = { "CUTVAL", 6,
01568  "Cut plane distance from the origin along the axis", (char*)0, (char*)0, 12,
01569  0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01570  &_GEANT_DRAWING_DCUT_CUTVAL_type };
01571 static KmParReal   _GEANT_DRAWING_DCUT_U0_type = { (char*)0, (char*)0,
01572  (char*)0, (char*)0, 0 };
01573 static KmParameter _GEANT_DRAWING_DCUT_U0 = { "U0", 2,
01574  "U-coord. (horizontal) of volume origin", (char*)0, (char*)0, 12, 0,
01575  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01576  &_GEANT_DRAWING_DCUT_U0_type };
01577 static KmParReal   _GEANT_DRAWING_DCUT_V0_type = { (char*)0, (char*)0,
01578  (char*)0, (char*)0, 0 };
01579 static KmParameter _GEANT_DRAWING_DCUT_V0 = { "V0", 2,
01580  "V-coord. (vertical) of volume origin", (char*)0, (char*)0, 12, 0, (char**)0,
01581  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DCUT_V0_type };
01582 static KmParReal   _GEANT_DRAWING_DCUT_SU_type = { (char*)0, (char*)0,
01583  (char*)0, (char*)0, 0 };
01584 static KmParameter _GEANT_DRAWING_DCUT_SU = { "SU", 2,
01585  "Scale factor for U-coord.", (char*)0, (char*)0, 12, 0, (char**)0, 0,
01586  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DCUT_SU_type };
01587 static KmParReal   _GEANT_DRAWING_DCUT_SV_type = { (char*)0, (char*)0,
01588  (char*)0, (char*)0, 0 };
01589 static KmParameter _GEANT_DRAWING_DCUT_SV = { "SV", 2,
01590  "Scale factor for V-coord.", (char*)0, (char*)0, 12, 0, (char**)0, 0,
01591  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DCUT_SV_type };
01592 static KmParameter *_GEANT_DRAWING_DCUT_parameters[] = {
01593  &_GEANT_DRAWING_DCUT_NAME, &_GEANT_DRAWING_DCUT_CAXIS,
01594  &_GEANT_DRAWING_DCUT_CUTVAL, &_GEANT_DRAWING_DCUT_U0,
01595  &_GEANT_DRAWING_DCUT_V0, &_GEANT_DRAWING_DCUT_SU, &_GEANT_DRAWING_DCUT_SV };
01596 static char *_GEANT_DRAWING_DCUT_guidance[] = {
01597  " CALL GDRAWC(name,iaxis,cutval,u0,v0,su,sv)",
01598  "The cut plane is normal to caxis (X,Y,Z), corresponding to iaxis (1,2,3),",
01599  "and placed at the distance cutval from the origin.",
01600  "The resulting picture is seen from the the same axis.",
01601  "If optional parameters are missing, the current values in /GCDRAW/",
01602  "are taken.",
01603  "When HIDE Mode is ON, it is possible to get the same effect with",
01604  "the CVOL/BOX command." };
01605 static KmCommand _GEANT_DRAWING_DCUT = { &_GEANT_DRAWING_DXCUT,
01606  "/GEANT/DRAWING/DCUT", "DCUT", 0, 2, 7, 3, _GEANT_DRAWING_DCUT_parameters, 0,
01607  0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 8,
01608  _GEANT_DRAWING_DCUT_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
01609  (char*)0, (int*)0 };
01610  
01611 static KmParInt    _GEANT_DRAWING_DVOLUME_N_type = { (char*)0, (char*)0,
01612  (char*)0, (char*)0, 0 };
01613 static KmParameter _GEANT_DRAWING_DVOLUME_N = { "N", 1,
01614  "Number of elements in arrays LNAMES and LNUMBS", "1", (char*)0, 8, 0,
01615  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
01616  &_GEANT_DRAWING_DVOLUME_N_type };
01617 static KmParameter _GEANT_DRAWING_DVOLUME_NAMNUM = { "NAMNUM", 6,
01618  "Volume names and numbers (ex. \"NAME1,NR1,NAME2,NR2\")", (char*)0, (char*)0,
01619  20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
01620 static char *_GEANT_DRAWING_DVOLUME_CHNRS_range[] = { "MARS", "DRS" };
01621 static char *_GEANT_DRAWING_DVOLUME_CHNRS_text[] = { (char*)0, (char*)0 };
01622 static KmParOption _GEANT_DRAWING_DVOLUME_CHNRS_type = {
01623  _GEANT_DRAWING_DVOLUME_CHNRS_text, (int*)0, (int*)0 };
01624 static KmParameter _GEANT_DRAWING_DVOLUME_CHNRS = { "CHNRS", 5,
01625  "Reference system used", "MARS", (char*)0, 8, 2,
01626  _GEANT_DRAWING_DVOLUME_CHNRS_range, 2, _GEANT_DRAWING_DVOLUME_CHNRS_range,
01627  (KmParFlag)0, KmTYPE_OPTION, &_GEANT_DRAWING_DVOLUME_CHNRS_type };
01628 static KmParReal   _GEANT_DRAWING_DVOLUME_THETA_type = { "0.", "360.", "0.",
01629  "360.", 0 };
01630 static KmParameter _GEANT_DRAWING_DVOLUME_THETA = { "THETA", 5,
01631  "Viewing angle theta (for 3D projection)", (char*)0, (char*)0, 12, 0,
01632  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01633  &_GEANT_DRAWING_DVOLUME_THETA_type };
01634 static KmParReal   _GEANT_DRAWING_DVOLUME_PHI_type = { "0.", "360.", "0.",
01635  "360.", 0 };
01636 static KmParameter _GEANT_DRAWING_DVOLUME_PHI = { "PHI", 3,
01637  "Viewing angle phi (for 3D projection)", (char*)0, (char*)0, 12, 0,
01638  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01639  &_GEANT_DRAWING_DVOLUME_PHI_type };
01640 static KmParReal   _GEANT_DRAWING_DVOLUME_PSI_type = { "0.", "180.", "0.",
01641  "180.", 0 };
01642 static KmParameter _GEANT_DRAWING_DVOLUME_PSI = { "PSI", 3,
01643  "Viewing angle psi (for 2D rotation)", (char*)0, (char*)0, 12, 0, (char**)0,
01644  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DVOLUME_PSI_type };
01645 static KmParReal   _GEANT_DRAWING_DVOLUME_U0_type = { (char*)0, (char*)0,
01646  (char*)0, (char*)0, 0 };
01647 static KmParameter _GEANT_DRAWING_DVOLUME_U0 = { "U0", 2,
01648  "U-coord. (horizontal) of volume origin", (char*)0, (char*)0, 12, 0,
01649  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01650  &_GEANT_DRAWING_DVOLUME_U0_type };
01651 static KmParReal   _GEANT_DRAWING_DVOLUME_V0_type = { (char*)0, (char*)0,
01652  (char*)0, (char*)0, 0 };
01653 static KmParameter _GEANT_DRAWING_DVOLUME_V0 = { "V0", 2,
01654  "V-coord. (vertical) of volume origin", (char*)0, (char*)0, 12, 0, (char**)0,
01655  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DVOLUME_V0_type };
01656 static KmParReal   _GEANT_DRAWING_DVOLUME_SU_type = { (char*)0, (char*)0,
01657  (char*)0, (char*)0, 0 };
01658 static KmParameter _GEANT_DRAWING_DVOLUME_SU = { "SU", 2,
01659  "Scale factor for U-coord.", (char*)0, (char*)0, 12, 0, (char**)0, 0,
01660  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DVOLUME_SU_type };
01661 static KmParReal   _GEANT_DRAWING_DVOLUME_SV_type = { (char*)0, (char*)0,
01662  (char*)0, (char*)0, 0 };
01663 static KmParameter _GEANT_DRAWING_DVOLUME_SV = { "SV", 2,
01664  "Scale factor for V-coord.", (char*)0, (char*)0, 12, 0, (char**)0, 0,
01665  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DVOLUME_SV_type };
01666 static KmParameter *_GEANT_DRAWING_DVOLUME_parameters[] = {
01667  &_GEANT_DRAWING_DVOLUME_N, &_GEANT_DRAWING_DVOLUME_NAMNUM,
01668  &_GEANT_DRAWING_DVOLUME_CHNRS, &_GEANT_DRAWING_DVOLUME_THETA,
01669  &_GEANT_DRAWING_DVOLUME_PHI, &_GEANT_DRAWING_DVOLUME_PSI,
01670  &_GEANT_DRAWING_DVOLUME_U0, &_GEANT_DRAWING_DVOLUME_V0,
01671  &_GEANT_DRAWING_DVOLUME_SU, &_GEANT_DRAWING_DVOLUME_SV };
01672 static char *_GEANT_DRAWING_DVOLUME_guidance[] = {
01673  " CALL GDRVOL(n,lnames,lnumbs,nrs,theta,phi,psi,u0,v0,su,sv)",
01674  "N is the number of levels from the top of the geometry structure",
01675  "to the volume lnames(n),lnumbs(n) to be drawn.",
01676  "NAMNUM contain the arrays lnames and lnumbs,",
01677  "identifying the path, in pairs and separated by commas; for",
01678  "example (with n=2) :", "'lname(1),lnumbs(1),lname(2),lnumbs(2) '",
01679  "CHNRS is the name of the reference system used: MARS for MAster Reference",
01680  "System or DRS for Daughter Reference System.",
01681  "NRS=0 for MARS or NRS<>0 for DRS",
01682  "If optional parameters are missing, the current values in /GCDRAW/",
01683  "are taken." };
01684 static KmCommand _GEANT_DRAWING_DVOLUME = { &_GEANT_DRAWING_DCUT,
01685  "/GEANT/DRAWING/DVOLUME", "DVOLUME", 0, 2, 10, 3,
01686  _GEANT_DRAWING_DVOLUME_parameters, 0, 0, gxdraw_, (IntFunc*)0,
01687  (SUBROUTINE*)0, (pCharFunc*)0, 12, _GEANT_DRAWING_DVOLUME_guidance, 0,
01688  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
01689  
01690 static KmParReal   _GEANT_DRAWING_RANG5D_X1MIN_type = { (char*)0, (char*)0,
01691  (char*)0, (char*)0, 0 };
01692 static KmParameter _GEANT_DRAWING_RANG5D_X1MIN = { "X1MIN", 5,
01693  "x coordinate min", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
01694  (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_RANG5D_X1MIN_type };
01695 static KmParReal   _GEANT_DRAWING_RANG5D_X1MAX_type = { (char*)0, (char*)0,
01696  (char*)0, (char*)0, 0 };
01697 static KmParameter _GEANT_DRAWING_RANG5D_X1MAX = { "X1MAX", 5,
01698  "x coordinate max", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
01699  (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_RANG5D_X1MAX_type };
01700 static KmParReal   _GEANT_DRAWING_RANG5D_Y1MIN_type = { (char*)0, (char*)0,
01701  (char*)0, (char*)0, 0 };
01702 static KmParameter _GEANT_DRAWING_RANG5D_Y1MIN = { "Y1MIN", 5,
01703  "y coordinate min", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
01704  (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_RANG5D_Y1MIN_type };
01705 static KmParReal   _GEANT_DRAWING_RANG5D_Y1MAX_type = { (char*)0, (char*)0,
01706  (char*)0, (char*)0, 0 };
01707 static KmParameter _GEANT_DRAWING_RANG5D_Y1MAX = { "Y1MAX", 5,
01708  "y coordinate max", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
01709  (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_RANG5D_Y1MAX_type };
01710 static KmParReal   _GEANT_DRAWING_RANG5D_Z1MIN_type = { (char*)0, (char*)0,
01711  (char*)0, (char*)0, 0 };
01712 static KmParameter _GEANT_DRAWING_RANG5D_Z1MIN = { "Z1MIN", 5,
01713  "z coordinate min", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
01714  (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_RANG5D_Z1MIN_type };
01715 static KmParReal   _GEANT_DRAWING_RANG5D_Z1MAX_type = { (char*)0, (char*)0,
01716  (char*)0, (char*)0, 0 };
01717 static KmParameter _GEANT_DRAWING_RANG5D_Z1MAX = { "Z1MAX", 5,
01718  "z coordinate max", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
01719  (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_RANG5D_Z1MAX_type };
01720 static KmParameter *_GEANT_DRAWING_RANG5D_parameters[] = {
01721  &_GEANT_DRAWING_RANG5D_X1MIN, &_GEANT_DRAWING_RANG5D_X1MAX,
01722  &_GEANT_DRAWING_RANG5D_Y1MIN, &_GEANT_DRAWING_RANG5D_Y1MAX,
01723  &_GEANT_DRAWING_RANG5D_Z1MIN, &_GEANT_DRAWING_RANG5D_Z1MAX };
01724 static char *_GEANT_DRAWING_RANG5D_guidance[] = {
01725  "It sets the range for the x,y,z variables." };
01726 static KmCommand _GEANT_DRAWING_RANG5D = { &_GEANT_DRAWING_DVOLUME,
01727  "/GEANT/DRAWING/RANG5D", "RANG5D", 0, 2, 6, 6,
01728  _GEANT_DRAWING_RANG5D_parameters, 0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0,
01729  (pCharFunc*)0, 1, _GEANT_DRAWING_RANG5D_guidance, 0, (char**)0, 0, (char**)0,
01730  0, (char**)0, (char*)0, (int*)0 };
01731  
01732 static KmParReal   _GEANT_DRAWING_VAR5D_TSEQTO_type = { (char*)0, (char*)0,
01733  (char*)0, (char*)0, 0 };
01734 static KmParameter _GEANT_DRAWING_VAR5D_TSEQTO = { "TSEQTO", 6,
01735  "total sequential time", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
01736  (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_VAR5D_TSEQTO_type };
01737 static KmParInt    _GEANT_DRAWING_VAR5D_NPROC_type = { (char*)0, (char*)0,
01738  (char*)0, (char*)0, 0 };
01739 static KmParameter _GEANT_DRAWING_VAR5D_NPROC = { "NPROC", 5,
01740  "number of processors", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
01741  (KmParFlag)0, KmTYPE_INT, &_GEANT_DRAWING_VAR5D_NPROC_type };
01742 static KmParInt    _GEANT_DRAWING_VAR5D_NMPTOT_type = { (char*)0, (char*)0,
01743  (char*)0, (char*)0, 0 };
01744 static KmParameter _GEANT_DRAWING_VAR5D_NMPTOT = { "NMPTOT", 6,
01745  "number of message passing", (char*)0, (char*)0, 8, 0, (char**)0, 0,
01746  (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_DRAWING_VAR5D_NMPTOT_type };
01747 static KmParReal   _GEANT_DRAWING_VAR5D_TOTMBY_type = { (char*)0, (char*)0,
01748  (char*)0, (char*)0, 0 };
01749 static KmParameter _GEANT_DRAWING_VAR5D_TOTMBY = { "TOTMBY", 6,
01750  "total megabytes transfert", (char*)0, (char*)0, 12, 0, (char**)0, 0,
01751  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_VAR5D_TOTMBY_type };
01752 static KmParReal   _GEANT_DRAWING_VAR5D_TSEQ_type = { (char*)0, (char*)0,
01753  (char*)0, (char*)0, 0 };
01754 static KmParameter _GEANT_DRAWING_VAR5D_TSEQ = { "TSEQ", 4,
01755  "not parallelized code", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
01756  (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_VAR5D_TSEQ_type };
01757 static KmParReal   _GEANT_DRAWING_VAR5D_TLAT_type = { (char*)0, (char*)0,
01758  (char*)0, (char*)0, 0 };
01759 static KmParameter _GEANT_DRAWING_VAR5D_TLAT = { "TLAT", 4, "latency time",
01760  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
01761  KmTYPE_REAL, &_GEANT_DRAWING_VAR5D_TLAT_type };
01762 static KmParReal   _GEANT_DRAWING_VAR5D_TNET_type = { (char*)0, (char*)0,
01763  (char*)0, (char*)0, 0 };
01764 static KmParameter _GEANT_DRAWING_VAR5D_TNET = { "TNET", 4,
01765  "network speed in Mbytes/sec", (char*)0, (char*)0, 12, 0, (char**)0, 0,
01766  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_VAR5D_TNET_type };
01767 static KmParameter *_GEANT_DRAWING_VAR5D_parameters[] = {
01768  &_GEANT_DRAWING_VAR5D_TSEQTO, &_GEANT_DRAWING_VAR5D_NPROC,
01769  &_GEANT_DRAWING_VAR5D_NMPTOT, &_GEANT_DRAWING_VAR5D_TOTMBY,
01770  &_GEANT_DRAWING_VAR5D_TSEQ, &_GEANT_DRAWING_VAR5D_TLAT,
01771  &_GEANT_DRAWING_VAR5D_TNET };
01772 static char *_GEANT_DRAWING_VAR5D_guidance[] = {
01773  "It sets the values of the parameters expressed in the formula and",
01774  "specify which variables must be assumed as x,y,z (setting their value",
01775  "to 1001,1002,1003, respectively)." };
01776 static KmCommand _GEANT_DRAWING_VAR5D = { &_GEANT_DRAWING_RANG5D,
01777  "/GEANT/DRAWING/VAR5D", "VAR5D", 0, 2, 7, 7, _GEANT_DRAWING_VAR5D_parameters,
01778  0, 0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3,
01779  _GEANT_DRAWING_VAR5D_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
01780  (char*)0, (int*)0 };
01781  
01782 static KmParReal   _GEANT_DRAWING_SPOT_XLPOS_type = { (char*)0, (char*)0,
01783  (char*)0, (char*)0, 0 };
01784 static KmParameter _GEANT_DRAWING_SPOT_XLPOS = { "XLPOS", 5,
01785  "x coordinate of light source", (char*)0, (char*)0, 12, 0, (char**)0, 0,
01786  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_SPOT_XLPOS_type };
01787 static KmParReal   _GEANT_DRAWING_SPOT_YLPOS_type = { (char*)0, (char*)0,
01788  (char*)0, (char*)0, 0 };
01789 static KmParameter _GEANT_DRAWING_SPOT_YLPOS = { "YLPOS", 5,
01790  "y coordinate of light source", (char*)0, (char*)0, 12, 0, (char**)0, 0,
01791  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_SPOT_YLPOS_type };
01792 static KmParReal   _GEANT_DRAWING_SPOT_ZLPOS_type = { (char*)0, (char*)0,
01793  (char*)0, (char*)0, 0 };
01794 static KmParameter _GEANT_DRAWING_SPOT_ZLPOS = { "ZLPOS", 5,
01795  "z coordinate of light source", (char*)0, (char*)0, 12, 0, (char**)0, 0,
01796  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_SPOT_ZLPOS_type };
01797 static KmParInt    _GEANT_DRAWING_SPOT_INTEN_type = { (char*)0, (char*)0,
01798  (char*)0, (char*)0, 0 };
01799 static KmParameter _GEANT_DRAWING_SPOT_INTEN = { "INTEN", 5,
01800  "intensity of light source", (char*)0, (char*)0, 8, 0, (char**)0, 0,
01801  (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_DRAWING_SPOT_INTEN_type };
01802 static KmParameter *_GEANT_DRAWING_SPOT_parameters[] = {
01803  &_GEANT_DRAWING_SPOT_XLPOS, &_GEANT_DRAWING_SPOT_YLPOS,
01804  &_GEANT_DRAWING_SPOT_ZLPOS, &_GEANT_DRAWING_SPOT_INTEN };
01805 static char *_GEANT_DRAWING_SPOT_guidance[] = {
01806  "This point-like light source can be moved in the space and its intensity",
01807  "can be changed (INTEN going from 0 to 10) relatively to the ambience light."
01808  };
01809 static KmCommand _GEANT_DRAWING_SPOT = { &_GEANT_DRAWING_VAR5D,
01810  "/GEANT/DRAWING/SPOT", "SPOT", 0, 2, 4, 4, _GEANT_DRAWING_SPOT_parameters, 0,
01811  0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 2,
01812  _GEANT_DRAWING_SPOT_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
01813  (char*)0, (int*)0 };
01814  
01815 static KmParameter _GEANT_DRAWING_DRAW_NAME = { "NAME", 4, "Volume name",
01816  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
01817  KmTYPE_CHAR,  (void*)0 };
01818 static KmParReal   _GEANT_DRAWING_DRAW_THETA_type = { "0.", "180.", "0.",
01819  "180.", 0 };
01820 static KmParameter _GEANT_DRAWING_DRAW_THETA = { "THETA", 5,
01821  "Viewing angle theta (for 3D projection)", (char*)0, (char*)0, 12, 0,
01822  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01823  &_GEANT_DRAWING_DRAW_THETA_type };
01824 static KmParReal   _GEANT_DRAWING_DRAW_PHI_type = { "0.", "360.", "0.",
01825  "360.", 0 };
01826 static KmParameter _GEANT_DRAWING_DRAW_PHI = { "PHI", 3,
01827  "Viewing angle phi (for 3D projection)", (char*)0, (char*)0, 12, 0,
01828  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01829  &_GEANT_DRAWING_DRAW_PHI_type };
01830 static KmParReal   _GEANT_DRAWING_DRAW_PSI_type = { "0.", "360.", "0.",
01831  "360.", 0 };
01832 static KmParameter _GEANT_DRAWING_DRAW_PSI = { "PSI", 3,
01833  "Viewing angle psi (for 2D rotation)", (char*)0, (char*)0, 12, 0, (char**)0,
01834  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DRAW_PSI_type };
01835 static KmParReal   _GEANT_DRAWING_DRAW_U0_type = { (char*)0, (char*)0,
01836  (char*)0, (char*)0, 0 };
01837 static KmParameter _GEANT_DRAWING_DRAW_U0 = { "U0", 2,
01838  "U-coord. (horizontal) of volume origin", (char*)0, (char*)0, 12, 0,
01839  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
01840  &_GEANT_DRAWING_DRAW_U0_type };
01841 static KmParReal   _GEANT_DRAWING_DRAW_V0_type = { (char*)0, (char*)0,
01842  (char*)0, (char*)0, 0 };
01843 static KmParameter _GEANT_DRAWING_DRAW_V0 = { "V0", 2,
01844  "V-coord. (vertical) of volume origin", (char*)0, (char*)0, 12, 0, (char**)0,
01845  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DRAW_V0_type };
01846 static KmParReal   _GEANT_DRAWING_DRAW_SU_type = { (char*)0, (char*)0,
01847  (char*)0, (char*)0, 0 };
01848 static KmParameter _GEANT_DRAWING_DRAW_SU = { "SU", 2,
01849  "Scale factor for U-coord.", (char*)0, (char*)0, 12, 0, (char**)0, 0,
01850  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DRAW_SU_type };
01851 static KmParReal   _GEANT_DRAWING_DRAW_SV_type = { (char*)0, (char*)0,
01852  (char*)0, (char*)0, 0 };
01853 static KmParameter _GEANT_DRAWING_DRAW_SV = { "SV", 2,
01854  "Scale factor for V-coord.", (char*)0, (char*)0, 12, 0, (char**)0, 0,
01855  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_DRAWING_DRAW_SV_type };
01856 static KmParameter *_GEANT_DRAWING_DRAW_parameters[] = {
01857  &_GEANT_DRAWING_DRAW_NAME, &_GEANT_DRAWING_DRAW_THETA,
01858  &_GEANT_DRAWING_DRAW_PHI, &_GEANT_DRAWING_DRAW_PSI, &_GEANT_DRAWING_DRAW_U0,
01859  &_GEANT_DRAWING_DRAW_V0, &_GEANT_DRAWING_DRAW_SU, &_GEANT_DRAWING_DRAW_SV };
01860 static char *_GEANT_DRAWING_DRAW_guidance[] = {
01861  " CALL GDRAW(name,theta,phi,psi,u0,v0,su,sv)",
01862  "If optional parameters are missing, the corresponding values are",
01863  "taken from the common /GCDRAW/. This command will draw the volumes,",
01864  "selected with their graphical attributes, set by the SATT",
01865  "facility. The drawing may be performed with hidden line removal",
01866  "and with shading effects according to the value of the options HIDE",
01867  "and SHAD; if the option SHAD is ON, the contour's edges can be",
01868  "drawn or not. If the option HIDE is ON, the detector can be",
01869  "exploded (BOMB), clipped with different shapes (CVOL), and some",
01870  "of its parts can be shifted from their original",
01871  "position (SHIFT). When HIDE is ON, if",
01872  "the drawing requires more than the available memory, the program",
01873  "will evaluate and display the number of missing words",
01874  "(so that the user can increase the",
01875  "size of its ZEBRA store). Finally, at the end of each drawing (with HIDE\
01876  on),", "the program will print messages about the memory used and",
01877  "statistics on the volumes' visibility.",
01878  "The following commands will produce the drawing of a green",
01879  "volume, specified by NAME, without using the hidden line removal",
01880  "technique, using the hidden line removal technique,",
01881  "with different linewidth and colour (red), with",
01882  "solid colour, with shading of surfaces, and without edges.",
01883  "Finally, some examples are given for the ray-tracing. (A possible",
01884  "string for the NAME of the volume can be found using the command DTREE).",
01885  " EXAMPLE -", " satt * seen -2", " satt NAME colo 3",
01886  " draw NAME 40 40 0 10 10 .01 .01", " next", " dopt hide on",
01887  " draw NAME 40 40 0 10 10 .01 .01", " next", " satt NAME colo 2",
01888  " satt NAME lwid 4", " draw NAME 40 40 0 10 10 .01 .01", " next",
01889  " dopt shad on", " satt * lwid 1", " satt NAME fill 1",
01890  " draw NAME 40 40 0 10 10 .01 .01", " next", " satt NAME fill 3",
01891  " draw NAME 40 40 0 10 10 .01 .01", " next", " dopt edge off",
01892  " draw NAME 40 40 0 10 10 .01 .01", " dopt rayt on", " satt * fill 20",
01893  " dopt mapp 1", " draw NAME 40 40 0 10 10 .01 .01", " dopt proj pers",
01894  " persp NAME 500", " draw NAME 40 40 0 10 10 1 1", " valcut 100 100 100",
01895  " dopt mapp 0", " dopt user on", " satt NAM1 seen 0", " satt NAM2 colo 2",
01896  " draw NAME 40 40 0 10 10 5 5" };
01897 static KmCommand _GEANT_DRAWING_DRAW = { &_GEANT_DRAWING_SPOT,
01898  "/GEANT/DRAWING/DRAW", "DRAW", 0, 2, 8, 1, _GEANT_DRAWING_DRAW_parameters, 0,
01899  0, gxdraw_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 59,
01900  _GEANT_DRAWING_DRAW_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
01901  (char*)0, (int*)0 };
01902  
01903 static char *_GEANT_DRAWING_guidance[] = {
01904  "Drawing commands. These commands allow the visualization in several ways",
01905  "of the volumes defined in the geometrical data structure. It is possible",
01906  "to draw the logical tree of volumes belonging to the detector (DTREE),",
01907  "to show their geometrical specification (DSPEC,DFSPC), to draw them",
01908  "and their cut views (DRAW, DCUT). Moreover, it is possible to execute",
01909  "these commands when the hidden line removal option is activated; in",
01910  "this case, the volumes can be also either translated in the space",
01911  "(SHIFT), or clipped by boolean operation (CVOL). In addition, it is",
01912  "possible to fill the surfaces of the volumes",
01913  "with solid colours when the shading option (SHAD) is activated.",
01914  "Several tools (ZOOM, LENS) have been developed to zoom detailed parts",
01915  "of the detectors or to scan physical events as well.",
01916  "Finally, the command MOVE will allow the rotation, translation and zooming",
01917  "on real time parts of the detectors or tracks and hits of a simulated\
01918  event.",
01919  "Ray-tracing commands. In case the command (DOPT RAYT ON) is executed,",
01920  "the drawing is performed by the Geant ray-tracing;",
01921  "automatically, the color is assigned according to the tracking medium of\
01922  each",
01923  "volume and the volumes with a density lower/equal than the air are\
01924  considered",
01925  "transparent; if the option (USER) is set (ON) (again via the command\
01926  (DOPT)),",
01927  "the user can set color and visibility for the desired volumes via the\
01928  command",
01929  "(SATT), as usual, relatively to the attributes (COLO) and (SEEN).",
01930  "The resolution can be set via the command (SATT * FILL VALUE), where\
01931  (VALUE)",
01932  "is the ratio between the number of pixels drawn and 20 (user coordinates).",
01933  "Parallel view and perspective view are possible (DOPT PROJ PARA/PERS); in\
01934  the",
01935  "first case, we assume that the first mother volume of the tree is a box\
01936  with",
01937  "dimensions 10000 X 10000 X 10000 cm and the view point (infinetely far) is",
01938  "5000 cm far from the origin along the Z axis of the user coordinates; in\
01939  the",
01940  "second case, the distance between the observer and the origin of the world",
01941  "reference system is set in cm by the command (PERSP NAME VALUE);\
01942  grand-angle",
01943  "or telescopic effects can be achieved changing the scale factors in the\
01944  command", "(DRAW). When the final picture does not occupy the full window,",
01945  "mapping the space before tracing can speed up the drawing, but can also",
01946  "produce less precise results; values from 1 to 4 are allowed in the\
01947  command",
01948  "(DOPT MAPP VALUE), the mapping being more precise for increasing (VALUE);\
01949  for",
01950  "(VALUE = 0) no mapping is performed (therefore max precision and lowest\
01951  speed).",
01952  "The command (VALCUT) allows the cutting of the detector by three planes",
01953  "ortogonal to the x,y,z axis. The attribute (LSTY) can be set by the\
01954  command",
01955  "SATT for any desired volume and can assume values from 0 to 7; it\
01956  determines",
01957  "the different light processing to be performed for different materials:",
01958  "0 = dark-matt, 1 = bright-matt, 2 = plastic, 3 = ceramic, 4 =\
01959  rough-metals,",
01960  "5 = shiny-metals, 6 = glass, 7 = mirror. The detector is assumed to be in\
01961  the",
01962  "dark, the ambient light luminosity is 0.2 for each basic hue (the\
01963  saturation",
01964  "is 0.9) and the observer is assumed to have a light source (therefore he\
01965  will",
01966  "produce parallel light in the case of parallel view and point-like-source",
01967  "light in the case of perspective view)." };
01968 static KmMenu _GEANT_DRAWING = {  (KmMenu*)0,  (KmMenu*)0, "/GEANT/DRAWING",
01969  "DRAWING", 2, &_GEANT_DRAWING_DRAW, 45, _GEANT_DRAWING_guidance, 0,
01970  (char**)0, 0, (char**)0 };
01971  
01972 static char *_GEANT_CVOL_guidance[] = { "Clipping commands.",
01973  "The hidden line removal technique is necessary to visualize properly",
01974  "very complex detectors. At the same time, it can be useful to visualize",
01975  "the inner elements of a detector in detail. For this purpose, the",
01976  "commands menu CVOL has been developed: these commands allow",
01977  "subtractions (via boolean operation) of given shapes from any part of",
01978  "the detector, therefore showing its inner contents. It is possible",
01979  "to clip each different volume by means of a different shape (BOX ,",
01980  "TUBE, CONE, SPHE are available). If '*' is given as the name of the",
01981  "volume to be clipped, all volumes are clipped by the given shape.",
01982  "A volume can be clipped at most twice (even by",
01983  "different shapes); if a volume is explicitely clipped",
01984  "twice, the '*' will not act on it anymore. Giving '.' as the name",
01985  "of the volume to be clipped will reset the clipping." };
01986 static KmMenu _GEANT_CVOL = { &_GEANT_DRAWING,  (KmMenu*)0, "/GEANT/CVOL",
01987  "CVOL", 2, &_GEANT_CVOL_BOX, 14, _GEANT_CVOL_guidance, 0, (char**)0, 0,
01988  (char**)0 };
01989  
01990 static char *_GEANT_guidance[] = { "GEANT specific commands." };
01991 static KmMenu _GEANT = {  (KmMenu*)0, &_GEANT_CVOL, "/GEANT", "GEANT", 1,
01992  (KmCommand*)0, 1, _GEANT_guidance, 0, (char**)0, 0, (char**)0 };
01993  
01994   klnkmenu( &_GEANT, 950303 );
01995 }

void gkdz_ (  ) 

Definition at line 4950 of file g321x.c.

References gkfz_(), gxfz_(), klnkmenu(), KmTYPE_CHAR, KmTYPE_INT, and KmTYPE_OPTION.

Referenced by gkcont_(), and gkfort_().

04951 {
04952  
04953 static KmParameter _GEANT_DZ_DIRZ_PATH = { "PATH", 4,
04954  "Name of the RZ directory to analyse", (char*)0, (char*)0, 20, 0, (char**)0,
04955  0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
04956 static KmParameter *_GEANT_DZ_DIRZ_parameters[] = { &_GEANT_DZ_DIRZ_PATH };
04957 static char *_GEANT_DZ_DIRZ_guidance[] = {
04958  "Facility to display RZ directory trees.",
04959  " CALL DZDIRZ(0,LDUMMY,0,path,'N',1,0,1)" };
04960 static KmCommand _GEANT_DZ_DIRZ = {  (KmCommand*)0, "/GEANT/DZ/DIRZ", "DIRZ",
04961  0, 2, 1, 0, _GEANT_DZ_DIRZ_parameters, 0, 0, gxdz_, (IntFunc*)0,
04962  (SUBROUTINE*)0, (pCharFunc*)0, 2, _GEANT_DZ_DIRZ_guidance, 0, (char**)0, 0,
04963  (char**)0, 0, (char**)0, (char*)0, (int*)0 };
04964  
04965 static KmParameter _GEANT_DZ_DISP_BANK = { "BANK", 4, "Name of the bank",
04966  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04967  KmTYPE_CHAR,  (void*)0 };
04968 static KmParameter _GEANT_DZ_DISP_PATH = { "PATH", 4, "Name of the doc file",
04969  " ", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
04970  (void*)0 };
04971 static KmParInt    _GEANT_DZ_DISP_NUMBER_type = { (char*)0, (char*)0,
04972  (char*)0, (char*)0, 0 };
04973 static KmParameter _GEANT_DZ_DISP_NUMBER = { "NUMBER", 6,
04974  "Number of the bank", "1", (char*)0, 8, 0, (char**)0, 0, (char**)0,
04975  (KmParFlag)0, KmTYPE_INT, &_GEANT_DZ_DISP_NUMBER_type };
04976 static KmParameter *_GEANT_DZ_DISP_parameters[] = { &_GEANT_DZ_DISP_BANK,
04977  &_GEANT_DZ_DISP_PATH, &_GEANT_DZ_DISP_NUMBER };
04978 static char *_GEANT_DZ_DISP_guidance[] = { "Interactive bank display tool.",
04979  " CALL DZDISP(IXSTOR,LBANK,path,'N',1,0,1,IWTYPE)" };
04980 static KmCommand _GEANT_DZ_DISP = { &_GEANT_DZ_DIRZ, "/GEANT/DZ/DISP", "DISP",
04981  0, 2, 3, 1, _GEANT_DZ_DISP_parameters, 0, 0, gxdz_, (IntFunc*)0,
04982  (SUBROUTINE*)0, (pCharFunc*)0, 2, _GEANT_DZ_DISP_guidance, 0, (char**)0, 0,
04983  (char**)0, 0, (char**)0, (char*)0, (int*)0 };
04984  
04985 static KmParInt    _GEANT_DZ_DDIV_IDIV_type = { (char*)0, (char*)0, (char*)0,
04986  (char*)0, 0 };
04987 static KmParameter _GEANT_DZ_DDIV_IDIV = { "IDIV", 4, "Division number", "2",
04988  (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
04989  &_GEANT_DZ_DDIV_IDIV_type };
04990 static KmParameter _GEANT_DZ_DDIV_PATH = { "PATH", 4, "Name of the doc file",
04991  " ", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
04992  (void*)0 };
04993 static KmParameter *_GEANT_DZ_DDIV_parameters[] = { &_GEANT_DZ_DDIV_IDIV,
04994  &_GEANT_DZ_DDIV_PATH };
04995 static char *_GEANT_DZ_DDIV_guidance[] = {
04996  "Facility to display the layout of stores and divisions.",
04997  " CALL DZDDIV(idiv,LDUMMY,path,'IN',1,0,1,IWTYPE)" };
04998 static KmCommand _GEANT_DZ_DDIV = { &_GEANT_DZ_DISP, "/GEANT/DZ/DDIV", "DDIV",
04999  0, 2, 2, 0, _GEANT_DZ_DDIV_parameters, 0, 0, gxdz_, (IntFunc*)0,
05000  (SUBROUTINE*)0, (pCharFunc*)0, 2, _GEANT_DZ_DDIV_guidance, 0, (char**)0, 0,
05001  (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05002  
05003 static KmParInt    _GEANT_DZ_STORE_IXSTOR_type = { "0", "24", "0", "24", 0 };
05004 static KmParameter _GEANT_DZ_STORE_IXSTOR = { "IXSTOR", 6, "Store number",
05005  "0", (char*)0, 3, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
05006  &_GEANT_DZ_STORE_IXSTOR_type };
05007 static KmParameter *_GEANT_DZ_STORE_parameters[] = { &_GEANT_DZ_STORE_IXSTOR };
05008 static char *_GEANT_DZ_STORE_guidance[] = {
05009  "Display the structure of the ZEBRA store IXSTOR.",
05010  "Output the parameters characterizing the store, followed by a",
05011  "list of all divisions and all link areas associated with the store in",
05012  "question." };
05013 static KmCommand _GEANT_DZ_STORE = { &_GEANT_DZ_DDIV, "/GEANT/DZ/STORE",
05014  "STORE", 0, 2, 1, 0, _GEANT_DZ_STORE_parameters, 0, 0, gxdz_, (IntFunc*)0,
05015  (SUBROUTINE*)0, (pCharFunc*)0, 4, _GEANT_DZ_STORE_guidance, 0, (char**)0, 0,
05016  (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05017  
05018 static KmParInt    _GEANT_DZ_VERIFY_IDIV_type = { "0", "24", "0", "24", 0 };
05019 static KmParameter _GEANT_DZ_VERIFY_IDIV = { "IDIV", 4, "Division number ",
05020  "0", (char*)0, 3, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
05021  &_GEANT_DZ_VERIFY_IDIV_type };
05022 static KmParOption _GEANT_DZ_VERIFY_CHOPT_type = { (char**)0, (int*)0, (int*)0
05023  };
05024 static KmParameter _GEANT_DZ_VERIFY_CHOPT = { "CHOPT", 5, "Options", "CLSU",
05025  (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_OPTION,
05026  &_GEANT_DZ_VERIFY_CHOPT_type };
05027 static KmParameter *_GEANT_DZ_VERIFY_parameters[] = { &_GEANT_DZ_VERIFY_IDIV,
05028  &_GEANT_DZ_VERIFY_CHOPT };
05029 static char *_GEANT_DZ_VERIFY_guidance[] = {
05030  "Check the structure of one or more ZEBRA divisions.",
05031  "The verification detail depends on the settings in CHOPT.",
05032  " CHOPT='C' Check chaining of banks only",
05033  " CHOPT='L' Check validity of the structural links (implies 'C')",
05034  " CHOPT='S' Check the store parameters",
05035  " CHOPT='U' Check the validity of the up and origin (implies 'C')",
05036  " CHOPT='F' Errors are considered fatal and generate a call to ZFATAL" };
05037 static KmCommand _GEANT_DZ_VERIFY = { &_GEANT_DZ_STORE, "/GEANT/DZ/VERIFY",
05038  "VERIFY", 0, 2, 2, 0, _GEANT_DZ_VERIFY_parameters, 0, 0, gxdz_, (IntFunc*)0,
05039  (SUBROUTINE*)0, (pCharFunc*)0, 7, _GEANT_DZ_VERIFY_guidance, 0, (char**)0, 0,
05040  (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05041  
05042 static KmParInt    _GEANT_DZ_SNAP_IDIV_type = { "0", "24", "0", "24", 0 };
05043 static KmParameter _GEANT_DZ_SNAP_IDIV = { "IDIV", 4, "Division number ", "2",
05044  (char*)0, 3, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
05045  &_GEANT_DZ_SNAP_IDIV_type };
05046 static KmParOption _GEANT_DZ_SNAP_CHOPT_type = { (char**)0, (int*)0, (int*)0 };
05047 static KmParameter _GEANT_DZ_SNAP_CHOPT = { "CHOPT", 5, "Options", "M",
05048  (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_OPTION,
05049  &_GEANT_DZ_SNAP_CHOPT_type };
05050 static KmParameter *_GEANT_DZ_SNAP_parameters[] = { &_GEANT_DZ_SNAP_IDIV,
05051  &_GEANT_DZ_SNAP_CHOPT };
05052 static char *_GEANT_DZ_SNAP_guidance[] = { "Snap of one or more divisions.",
05053  "Provides a snapshot of one or more divisions in a ZEBRA store.",
05054  "The kind of information provided is controlled by CHOPT.",
05055  " CHOPT='M' Print Map entry for each bank",
05056  " CHOPT='E' Extend map entry to dump all links of each bank",
05057  "           (otherwise only as many links as will fit on a line)",
05058  " CHOPT='F' Full. Dump all active banks, links and data",
05059  " CHOPT='K' Kill. Dropped banks to be treated as active",
05060  "           (dropped banks are not normally dumped under D or F option)",
05061  " CHOPT='L' Dump all Link areas associated with the store",
05062  " CHOPT='W' Dump the Working space, links and data",
05063  " CHOPT='Z' Dump the information in hexadecimal." };
05064 static KmCommand _GEANT_DZ_SNAP = { &_GEANT_DZ_VERIFY, "/GEANT/DZ/SNAP",
05065  "SNAP", 0, 2, 2, 0, _GEANT_DZ_SNAP_parameters, 0, 0, gxdz_, (IntFunc*)0,
05066  (SUBROUTINE*)0, (pCharFunc*)0, 12, _GEANT_DZ_SNAP_guidance, 0, (char**)0, 0,
05067  (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05068  
05069 static KmParameter _GEANT_DZ_SHOW_NAME = { "NAME", 4, "Bank name", (char*)0,
05070  (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
05071  (void*)0 };
05072 static KmParInt    _GEANT_DZ_SHOW_NUMBER_type = { (char*)0, (char*)0,
05073  (char*)0, (char*)0, 0 };
05074 static KmParameter _GEANT_DZ_SHOW_NUMBER = { "NUMBER", 6, "Bank number", "1",
05075  (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
05076  &_GEANT_DZ_SHOW_NUMBER_type };
05077 static KmParOption _GEANT_DZ_SHOW_CHOPT_type = { (char**)0, (int*)0, (int*)0 };
05078 static KmParameter _GEANT_DZ_SHOW_CHOPT = { "CHOPT", 5, "Options", "BSV",
05079  (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_OPTION,
05080  &_GEANT_DZ_SHOW_CHOPT_type };
05081 static KmParameter *_GEANT_DZ_SHOW_parameters[] = { &_GEANT_DZ_SHOW_NAME,
05082  &_GEANT_DZ_SHOW_NUMBER, &_GEANT_DZ_SHOW_CHOPT };
05083 static char *_GEANT_DZ_SHOW_guidance[] = {
05084  "Display the contents of a bank or a data structure",
05085  "identified by its NAME and NUMBER.",
05086  "The output format of the data part is controlled by the internal",
05087  "or external I/O characteristic.", " CHOPT='B' Print the bank.",
05088  " CHOPT='S' Print the bank contents from left to right Sideways",
05089  "           with up to ten elements per line.",
05090  " CHOPT='V' Print the vertical (down) structure.",
05091  " CHOPT='D' Print the bank contents from top to bottom Downwards",
05092  "           with five elements per line.",
05093  " CHOPT='L' Print the linear structure.",
05094  " CHOPT='Z' Print the data part of each bank in hexadecimal format" };
05095 static KmCommand _GEANT_DZ_SHOW = { &_GEANT_DZ_SNAP, "/GEANT/DZ/SHOW", "SHOW",
05096  0, 2, 3, 1, _GEANT_DZ_SHOW_parameters, 0, 0, gxdz_, (IntFunc*)0,
05097  (SUBROUTINE*)0, (pCharFunc*)0, 12, _GEANT_DZ_SHOW_guidance, 0, (char**)0, 0,
05098  (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05099  
05100 static KmParameter _GEANT_DZ_SURV_NAME = { "NAME", 4, "Bank name", (char*)0,
05101  (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
05102  (void*)0 };
05103 static KmParInt    _GEANT_DZ_SURV_NUMBER_type = { (char*)0, (char*)0,
05104  (char*)0, (char*)0, 0 };
05105 static KmParameter _GEANT_DZ_SURV_NUMBER = { "NUMBER", 6, "Bank number", "1",
05106  (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
05107  &_GEANT_DZ_SURV_NUMBER_type };
05108 static KmParameter *_GEANT_DZ_SURV_parameters[] = { &_GEANT_DZ_SURV_NAME,
05109  &_GEANT_DZ_SURV_NUMBER };
05110 static char *_GEANT_DZ_SURV_guidance[] = {
05111  "Print a survey of the structure identified by NAME, NUMBER." };
05112 static KmCommand _GEANT_DZ_SURV = { &_GEANT_DZ_SHOW, "/GEANT/DZ/SURV", "SURV",
05113  0, 2, 2, 1, _GEANT_DZ_SURV_parameters, 0, 0, gxdz_, (IntFunc*)0,
05114  (SUBROUTINE*)0, (pCharFunc*)0, 1, _GEANT_DZ_SURV_guidance, 0, (char**)0, 0,
05115  (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05116  
05117 static KmMenu _GEANT_DZ = {  (KmMenu*)0,  (KmMenu*)0, "/GEANT/DZ", "DZ", 2,
05118  &_GEANT_DZ_SURV, 0, (char**)0, 0, (char**)0, 0, (char**)0 };
05119  
05120 static KmMenu _GEANT = {  (KmMenu*)0, &_GEANT_DZ, "/GEANT", "GEANT", 1,
05121  (KmCommand*)0, 0, (char**)0, 0, (char**)0, 0, (char**)0 };
05122  
05123   klnkmenu( &_GEANT, 950303 );
05124 }

void gkfort_ (  ) 

Definition at line 6348 of file g321x.c.

References _KmButton::accel, _BrAction::accel, _KmButton::accel_text, _KmButton::action, _KmCommand::action_C, _KmCommand::action_F, _KmCommand::argc, _KmCommand::argline, _KmCommand::argoffs, _KmCommand::argv, _KmClass::bicon, _KmClass::big_icon, _KmIcon::bitmap, BRACT_CONT, BRACT_GRAF, BRACT_OPEN, BRACT_ROOT, BrActSensitive, BrActSeparator, BrActToggle, BrActToggleOn, BrActUpdate, _KmButton::call_C, _BrAction::call_C, _KmButton::call_F, _BrAction::call_F, _KmMenu::cmds, _KmClass::cont, _KmMenu::down, _BrAction::exec, _BrAction::flags, _KmButton::flags, gkcont_(), gkdraw_(), gkdz_(), gkfz_(), gkgcon_(), gkgeom_(), gklist_(), gkphys_(), gkrz_(), gkscan_(), _KmClass::graf, graf_attr_F, graf_close_F, graf_info_C, graf_pick_F, graf_size_F, _KmCommand::guidance, _KmMenu::guidance, gxcont_(), gxdraw_(), gxdz_(), gxfort_(), gxfz_(), gxgcon_(), gxgeom_(), gxlist_(), gxphys_(), gxpick_(), gxrz_(), gxscan_(), _KmIcon::height, _KmIcon::hi_pix, _KmCommand::hidden, _KmClass::is_dir, klnkaddr, klnkbrcl(), klnkbutt(), klnkicon(), klnkkmcl(), klnkmenu(), KmButtBrowser, KmButtNonSensitive, KmButtSensitive, KmButtSensitivityMask, KmButtSeparator, KmButtToggleSensitive, KmFLAG_CONST, KmFLAG_FORGET, KmFLAG_HIDDEN, KmFLAG_MINUS, KmFLAG_QUOTE, KmFLAG_SEPARATE, KmFLAG_VARARG, KmTYPE_CHAR, KmTYPE_FILE, KmTYPE_INT, KmTYPE_OPTION, KmTYPE_REAL, _KmButton::label, _KmCommand::level, _KmMenu::level, _KmCommand::list_par, _KmCommand::mandatory, _KmButton::menu, _KmButton::mnemo, _KmClass::name, _BrClass::name, _KmIcon::name, _KmMenu::name, _KmCommand::name, _KmButton::next, _KmIcon::next, _KmCommand::next, _BrClass::next, _BrAction::next, _KmClass::next, _KmMenu::next, _KmCommand::nguidance, _KmMenu::nguidance, _KmClass::obj_count, _BrClass::open, _KmCommand::par, _KmCommand::path, _KmMenu::path, _KmIcon::pix, _BrClass::root, _BrClass::scan_br_C, _BrClass::scan_br_F, _BrClass::scan_km_C, _BrClass::scan_km_F, _KmClass::sicon, _KmClass::sm_icon, _BrAction::tag, _BrAction::text, _BrClass::title, _KmClass::title, _KmCommand::total, user_FallBk_C, _KmCommand::user_help_C, _KmCommand::user_help_F, _KmClass::user_icon_C, _KmClass::user_icon_F, _BrAction::user_text, user_TopWid_C, _KmButton::widget, _KmIcon::width, and _KmCommand::xcount.

Referenced by gkphys_().

06349 {
06350  
06351 static KmParameter _FORTRAN_FORTRAN_FNAME = { "FNAME", 5, "File name",
06352  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
06353  KmTYPE_CHAR,  (void*)0 };
06354 static KmParameter *_FORTRAN_FORTRAN_parameters[] = { &_FORTRAN_FORTRAN_FNAME
06355  };
06356 static char *_FORTRAN_FORTRAN_guidance[] = {
06357  "The routines in the file FNAME will be compiled by COMIS.",
06358  "If routines with names: UGEOM,GUKINE,GUOUT,UGLAST are found,",
06359  "then they will be automatically called by GXINT instead of",
06360  "the routines with the same names compiled with the standard",
06361  "Fortran compiler and linked with the application.",
06362  "The user callable routines from the GEANT library as well as",
06363  "routines from PACKLIB (HBOOK,HPLOT,HIGZ,ZEBRA) may be called",
06364  "from these user routines. All GEANT common blocks may be", "referenced.",
06365  "In case where the routine UGEOM is called several times,",
06366  "it is important to DROP all the initialisation data structures",
06367  "JVOLUM,JMATE,JTMED,etc already in memory by using the routine GIDROP.",
06368  " Example of an interactive session where the routine UGEOM is modified:",
06369  "", "   GEANT > Edit ugeom.for", "   GEANT > Fortran ugeom.for",
06370  "   GEANT > Call GIDROP", "   GEANT > Call UGEOM", "   GEANT > Dtree",
06371  "   GEANT > Edit ugeom.for", "   GEANT > Fortran ugeom.for",
06372  "   GEANT > Call GIDROP", "   GEANT > Call UGEOM", "   GEANT > Dtree",
06373  "If FNAME='-', calls to user routines is reset and standard",
06374  "routines called instead." };
06375 static KmCommand _FORTRAN_FORTRAN = {  (KmCommand*)0, "/FORTRAN/FORTRAN",
06376  "FORTRAN", 0, 1, 1, 1, _FORTRAN_FORTRAN_parameters, 0, 0, gxfort_,
06377  (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 26, _FORTRAN_FORTRAN_guidance, 0,
06378  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
06379  
06380 static KmMenu _FORTRAN = {  (KmMenu*)0,  (KmMenu*)0, "/FORTRAN", "FORTRAN", 1,
06381  &_FORTRAN_FORTRAN, 0, (char**)0, 0, (char**)0, 0, (char**)0 };
06382  
06383   klnkmenu( &_FORTRAN, 950303 );
06384 }

void gkfz_ (  ) 

Definition at line 5145 of file g321x.c.

References gkrz_(), gxrz_(), klnkmenu(), KmTYPE_CHAR, KmTYPE_INT, and KmTYPE_OPTION.

Referenced by gkdz_(), and gkfort_().

05146 {
05147  
05148 static KmParInt    _GEANT_FZ_FZCLOSE_LUN_type = { (char*)0, (char*)0,
05149  (char*)0, (char*)0, 0 };
05150 static KmParameter _GEANT_FZ_FZCLOSE_LUN = { "LUN", 3,
05151  "Fortran unit of the FZ to close", (char*)0, (char*)0, 8, 0, (char**)0, 0,
05152  (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_FZ_FZCLOSE_LUN_type };
05153 static KmParameter *_GEANT_FZ_FZCLOSE_parameters[] = { &_GEANT_FZ_FZCLOSE_LUN
05154  };
05155 static char *_GEANT_FZ_FZCLOSE_guidance[] = { "Equivalent to a call to:",
05156  "       CALL GCLOSE(LUN,IER)" };
05157 static KmCommand _GEANT_FZ_FZCLOSE = {  (KmCommand*)0, "/GEANT/FZ/FZCLOSE",
05158  "FZCLOSE", 0, 2, 1, 1, _GEANT_FZ_FZCLOSE_parameters, 0, 0, gxfz_,
05159  (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 2, _GEANT_FZ_FZCLOSE_guidance, 0,
05160  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05161  
05162 static KmParInt    _GEANT_FZ_FZOUT_LUN_type = { (char*)0, (char*)0, (char*)0,
05163  (char*)0, 0 };
05164 static KmParameter _GEANT_FZ_FZOUT_LUN = { "LUN", 3,
05165  "Fortran unit of the FZ file", (char*)0, (char*)0, 8, 0, (char**)0, 0,
05166  (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_FZ_FZOUT_LUN_type };
05167 static KmParameter _GEANT_FZ_FZOUT_KEYSU = { "KEYSU", 5,
05168  "Name of the data structure to be saved", (char*)0, (char*)0, 20, 0,
05169  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
05170 static KmParInt    _GEANT_FZ_FZOUT_IDENT_type = { (char*)0, (char*)0,
05171  (char*)0, (char*)0, 0 };
05172 static KmParameter _GEANT_FZ_FZOUT_IDENT = { "IDENT", 5,
05173  "Version of the data structure to be saved", "1", (char*)0, 8, 0, (char**)0,
05174  0, (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_FZ_FZOUT_IDENT_type };
05175 static KmParameter *_GEANT_FZ_FZOUT_parameters[] = { &_GEANT_FZ_FZOUT_LUN,
05176  &_GEANT_FZ_FZOUT_KEYSU, &_GEANT_FZ_FZOUT_IDENT };
05177 static char *_GEANT_FZ_FZOUT_guidance[] = { "Equivalent to a call to:",
05178  "       CALL GFOUT(LUN,KEYSU,1,IDENT,' ',IER)" };
05179 static KmCommand _GEANT_FZ_FZOUT = { &_GEANT_FZ_FZCLOSE, "/GEANT/FZ/FZOUT",
05180  "FZOUT", 0, 2, 3, 2, _GEANT_FZ_FZOUT_parameters, 0, 0, gxfz_, (IntFunc*)0,
05181  (SUBROUTINE*)0, (pCharFunc*)0, 2, _GEANT_FZ_FZOUT_guidance, 0, (char**)0, 0,
05182  (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05183  
05184 static KmParInt    _GEANT_FZ_FZOPEN_LUN_type = { (char*)0, (char*)0, (char*)0,
05185  (char*)0, 0 };
05186 static KmParameter _GEANT_FZ_FZOPEN_LUN = { "LUN", 3,
05187  "Fortran unit with which to open the file", (char*)0, (char*)0, 8, 0,
05188  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_FZ_FZOPEN_LUN_type
05189  };
05190 static KmParameter _GEANT_FZ_FZOPEN_FILE = { "FILE", 4,
05191  "Name of the file to be opened", (char*)0, (char*)0, 20, 0, (char**)0, 0,
05192  (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
05193 static KmParameter _GEANT_FZ_FZOPEN_LUNTYP = { "LUNTYP", 6,
05194  "Type of FZ file to be opened by GOPEN", "XI", (char*)0, 20, 0, (char**)0, 0,
05195  (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
05196 static KmParInt    _GEANT_FZ_FZOPEN_LEN_type = { (char*)0, (char*)0, (char*)0,
05197  (char*)0, 0 };
05198 static KmParameter _GEANT_FZ_FZOPEN_LEN = { "LEN", 3,
05199  "Recordlenght of the file", "0", (char*)0, 8, 0, (char**)0, 0, (char**)0,
05200  (KmParFlag)0, KmTYPE_INT, &_GEANT_FZ_FZOPEN_LEN_type };
05201 static KmParOption _GEANT_FZ_FZOPEN_CHOPT_type = { (char**)0, (int*)0, (int*)0
05202  };
05203 static KmParameter _GEANT_FZ_FZOPEN_CHOPT = { "CHOPT", 5,
05204  "Optional parameter to specify the action", " ", (char*)0, 20, 0, (char**)0,
05205  0, (char**)0, (KmParFlag)0, KmTYPE_OPTION, &_GEANT_FZ_FZOPEN_CHOPT_type };
05206 static KmParameter *_GEANT_FZ_FZOPEN_parameters[] = { &_GEANT_FZ_FZOPEN_LUN,
05207  &_GEANT_FZ_FZOPEN_FILE, &_GEANT_FZ_FZOPEN_LUNTYP, &_GEANT_FZ_FZOPEN_LEN,
05208  &_GEANT_FZ_FZOPEN_CHOPT };
05209 static char *_GEANT_FZ_FZOPEN_guidance[] = { "Equivalent to a call to:",
05210  "       CALL GOPEN(LUN,FILE,LUNTYP,LEN,IER)",
05211  "If CHOPT = I then a call to GFIN or GFOUT will be performed in addition",
05212  "according to the value of LUNTYP, with the key INIT to save or retrieve",
05213  "the whole initialization data structure." };
05214 static KmCommand _GEANT_FZ_FZOPEN = { &_GEANT_FZ_FZOUT, "/GEANT/FZ/FZOPEN",
05215  "FZOPEN", 0, 2, 5, 4, _GEANT_FZ_FZOPEN_parameters, 0, 0, gxfz_, (IntFunc*)0,
05216  (SUBROUTINE*)0, (pCharFunc*)0, 5, _GEANT_FZ_FZOPEN_guidance, 0, (char**)0, 0,
05217  (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05218  
05219 static KmParInt    _GEANT_FZ_FZIN_LUN_type = { (char*)0, (char*)0, (char*)0,
05220  (char*)0, 0 };
05221 static KmParameter _GEANT_FZ_FZIN_LUN = { "LUN", 3,
05222  "Fortran unit of the FZ file", (char*)0, (char*)0, 8, 0, (char**)0, 0,
05223  (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_FZ_FZIN_LUN_type };
05224 static KmParameter _GEANT_FZ_FZIN_KEYSU = { "KEYSU", 5,
05225  "Name of the data structure to be retrieved", (char*)0, (char*)0, 20, 0,
05226  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
05227 static KmParInt    _GEANT_FZ_FZIN_IDENT_type = { (char*)0, (char*)0, (char*)0,
05228  (char*)0, 0 };
05229 static KmParameter _GEANT_FZ_FZIN_IDENT = { "IDENT", 5,
05230  "Version of the data structure to be retrieved", "0", (char*)0, 8, 0,
05231  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_FZ_FZIN_IDENT_type
05232  };
05233 static KmParameter *_GEANT_FZ_FZIN_parameters[] = { &_GEANT_FZ_FZIN_LUN,
05234  &_GEANT_FZ_FZIN_KEYSU, &_GEANT_FZ_FZIN_IDENT };
05235 static char *_GEANT_FZ_FZIN_guidance[] = { "Equivalent to a call to:",
05236  "       CALL GFIN(LUN,KEYSU,1,IDENT,' ',IER)" };
05237 static KmCommand _GEANT_FZ_FZIN = { &_GEANT_FZ_FZOPEN, "/GEANT/FZ/FZIN",
05238  "FZIN", 0, 2, 3, 2, _GEANT_FZ_FZIN_parameters, 0, 0, gxfz_, (IntFunc*)0,
05239  (SUBROUTINE*)0, (pCharFunc*)0, 2, _GEANT_FZ_FZIN_guidance, 0, (char**)0, 0,
05240  (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05241  
05242 static char *_GEANT_FZ_guidance[] = { "ZEBRA/FZ commands" };
05243 static KmMenu _GEANT_FZ = {  (KmMenu*)0,  (KmMenu*)0, "/GEANT/FZ", "FZ", 2,
05244  &_GEANT_FZ_FZIN, 1, _GEANT_FZ_guidance, 0, (char**)0, 0, (char**)0 };
05245  
05246 static KmMenu _GEANT = {  (KmMenu*)0, &_GEANT_FZ, "/GEANT", "GEANT", 1,
05247  (KmCommand*)0, 0, (char**)0, 0, (char**)0, 0, (char**)0 };
05248  
05249   klnkmenu( &_GEANT, 950303 );
05250 }

void gkgcon_ (  ) 

Definition at line 2016 of file g321x.c.

References gklist_(), gxlist_(), klnkmenu(), KmTYPE_CHAR, KmTYPE_INT, and KmTYPE_REAL.

Referenced by gkdraw_(), and gkfort_().

02017 {
02018  
02019 static KmParInt    _GEANT_GRAPHICS_CONTROL_MAP_COLOR_ICADD_type = { (char*)0,
02020  (char*)0, (char*)0, (char*)0, 0 };
02021 static KmParameter _GEANT_GRAPHICS_CONTROL_MAP_COLOR_ICADD = { "ICADD", 5,
02022  "Colour table index", "0", (char*)0, 8, 0, (char**)0, 0, (char**)0,
02023  (KmParFlag)0, KmTYPE_INT, &_GEANT_GRAPHICS_CONTROL_MAP_COLOR_ICADD_type };
02024 static KmParInt    _GEANT_GRAPHICS_CONTROL_MAP_COLOR_ICVAL_type = { (char*)0,
02025  (char*)0, (char*)0, (char*)0, 0 };
02026 static KmParameter _GEANT_GRAPHICS_CONTROL_MAP_COLOR_ICVAL = { "ICVAL", 5,
02027  "Colour table value", "0", (char*)0, 8, 0, (char**)0, 0, (char**)0,
02028  (KmParFlag)0, KmTYPE_INT, &_GEANT_GRAPHICS_CONTROL_MAP_COLOR_ICVAL_type };
02029 static KmParameter *_GEANT_GRAPHICS_CONTROL_MAP_COLOR_parameters[] = {
02030  &_GEANT_GRAPHICS_CONTROL_MAP_COLOR_ICADD,
02031  &_GEANT_GRAPHICS_CONTROL_MAP_COLOR_ICVAL };
02032 static char *_GEANT_GRAPHICS_CONTROL_MAP_COLOR_guidance[] = {
02033  "Sets the color table LOOKTB(ICADD)=ICVAL.",
02034  "If ICADD=0 then LOOKTB(1:16) is taken.",
02035  "If ICVAL is omitted the current value of LOOKTB(ICADD) is shown." };
02036 static KmCommand _GEANT_GRAPHICS_CONTROL_MAP_COLOR = {  (KmCommand*)0,
02037  "/GEANT/GRAPHICS_CONTROL/MAP_COLOR", "MAP_COLOR", 0, 2, 2, 0,
02038  _GEANT_GRAPHICS_CONTROL_MAP_COLOR_parameters, 0, 0, gxgcon_, (IntFunc*)0,
02039  (SUBROUTINE*)0, (pCharFunc*)0, 3, _GEANT_GRAPHICS_CONTROL_MAP_COLOR_guidance,
02040  0, (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
02041  
02042 static KmParReal   _GEANT_GRAPHICS_CONTROL_SPERS_DPERS_type = { (char*)0,
02043  (char*)0, (char*)0, (char*)0, 0 };
02044 static KmParameter _GEANT_GRAPHICS_CONTROL_SPERS_DPERS = { "DPERS", 5,
02045  "Distance from the origin", (char*)0, (char*)0, 12, 0, (char**)0, 0,
02046  (char**)0, (KmParFlag)0, KmTYPE_REAL,
02047  &_GEANT_GRAPHICS_CONTROL_SPERS_DPERS_type };
02048 static KmParameter *_GEANT_GRAPHICS_CONTROL_SPERS_parameters[] = {
02049  &_GEANT_GRAPHICS_CONTROL_SPERS_DPERS };
02050 static char *_GEANT_GRAPHICS_CONTROL_SPERS_guidance[] = {
02051  "Set the variable dpers in /GCDRAW/, representing",
02052  "the distance from the origin when using option PERSpective." };
02053 static KmCommand _GEANT_GRAPHICS_CONTROL_SPERS = {
02054  &_GEANT_GRAPHICS_CONTROL_MAP_COLOR, "/GEANT/GRAPHICS_CONTROL/SPERS", "SPERS",
02055  0, 2, 1, 1, _GEANT_GRAPHICS_CONTROL_SPERS_parameters, 0, 0, gxgcon_,
02056  (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 2,
02057  _GEANT_GRAPHICS_CONTROL_SPERS_guidance, 0, (char**)0, 0, (char**)0, 0,
02058  (char**)0, (char*)0, (int*)0 };
02059  
02060 static KmParReal   _GEANT_GRAPHICS_CONTROL_SIZE_XSIZE_type = { (char*)0,
02061  (char*)0, (char*)0, (char*)0, 0 };
02062 static KmParameter _GEANT_GRAPHICS_CONTROL_SIZE_XSIZE = { "XSIZE", 5,
02063  "Size along X", "20.", (char*)0, 12, 0, (char**)0, 0, (char**)0,
02064  (KmParFlag)0, KmTYPE_REAL, &_GEANT_GRAPHICS_CONTROL_SIZE_XSIZE_type };
02065 static KmParReal   _GEANT_GRAPHICS_CONTROL_SIZE_YSIZE_type = { (char*)0,
02066  (char*)0, (char*)0, (char*)0, 0 };
02067 static KmParameter _GEANT_GRAPHICS_CONTROL_SIZE_YSIZE = { "YSIZE", 5,
02068  "Size along Y", "20.", (char*)0, 12, 0, (char**)0, 0, (char**)0,
02069  (KmParFlag)0, KmTYPE_REAL, &_GEANT_GRAPHICS_CONTROL_SIZE_YSIZE_type };
02070 static KmParameter *_GEANT_GRAPHICS_CONTROL_SIZE_parameters[] = {
02071  &_GEANT_GRAPHICS_CONTROL_SIZE_XSIZE, &_GEANT_GRAPHICS_CONTROL_SIZE_YSIZE };
02072 static char *_GEANT_GRAPHICS_CONTROL_SIZE_guidance[] = {
02073  "Set the size of the picture.",
02074  "On the terminal, the pictures will have the ratio YSIZE/XSIZE, and,",
02075  "if a metafile is produced, pictures will be YSIZE by XSIZE cm.",
02076  "This command sets the parameters for the normalisation transformation",
02077  "number 1 to [0-XSIZE], [0-YSIZE]." };
02078 static KmCommand _GEANT_GRAPHICS_CONTROL_SIZE = {
02079  &_GEANT_GRAPHICS_CONTROL_SPERS, "/GEANT/GRAPHICS_CONTROL/SIZE", "SIZE", 0, 2,
02080  2, 0, _GEANT_GRAPHICS_CONTROL_SIZE_parameters, 0, 0, gxgcon_, (IntFunc*)0,
02081  (SUBROUTINE*)0, (pCharFunc*)0, 5, _GEANT_GRAPHICS_CONTROL_SIZE_guidance, 0,
02082  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
02083  
02084 static KmParameter _GEANT_GRAPHICS_CONTROL_DOPT_IOPT = { "IOPT", 4,
02085  "Option name", "*", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02086  KmTYPE_CHAR,  (void*)0 };
02087 static KmParameter _GEANT_GRAPHICS_CONTROL_DOPT_IVAL = { "IVAL", 4,
02088  "Option value", "*", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02089  KmTYPE_CHAR,  (void*)0 };
02090 static KmParameter *_GEANT_GRAPHICS_CONTROL_DOPT_parameters[] = {
02091  &_GEANT_GRAPHICS_CONTROL_DOPT_IOPT, &_GEANT_GRAPHICS_CONTROL_DOPT_IVAL };
02092 static char *_GEANT_GRAPHICS_CONTROL_DOPT_guidance[] = {
02093  " CALL GDOPT(iopt,ival)", "To set/modify the drawing options.",
02094  "   IOPT   IVAL      Action", "   THRZ    ON       Draw tracks in R vs Z",
02095  "           OFF (D)  Draw tracks in X,Y,Z", "           180",
02096  "           360", "   PROJ    PARA (D) Parallel projection",
02097  "           PERS     Perspective",
02098  "   TRAK    LINE (D) Trajectory drawn with lines",
02099  "           POIN       \" \" with markers",
02100  "   HIDE    ON       Hidden line removal using the CG package",
02101  "           OFF (D)  No hidden line removal",
02102  "   SHAD    ON       Fill area and shading of surfaces.",
02103  "           OFF (D)  Normal hidden line removal.",
02104  "   RAYT    ON       Ray-tracing on.",
02105  "           OFF (D)  Ray-tracing off.",
02106  "   EDGE    OFF      Does not draw contours when shad is on.",
02107  "           ON  (D)  Normal shading.",
02108  "   MAPP    1,2,3,4  Mapping before ray-tracing.",
02109  "           0   (D)  No mapping.",
02110  "   USER    ON       User graphics options in the raytracing.",
02111  "           OFF (D)  Automatic graphics options." };
02112 static KmCommand _GEANT_GRAPHICS_CONTROL_DOPT = {
02113  &_GEANT_GRAPHICS_CONTROL_SIZE, "/GEANT/GRAPHICS_CONTROL/DOPT", "DOPT", 0, 2,
02114  2, 0, _GEANT_GRAPHICS_CONTROL_DOPT_parameters, 0, 0, gxgcon_, (IntFunc*)0,
02115  (SUBROUTINE*)0, (pCharFunc*)0, 23, _GEANT_GRAPHICS_CONTROL_DOPT_guidance, 0,
02116  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
02117  
02118 static char *_GEANT_GRAPHICS_CONTROL_NEXT_guidance[] = {
02119  "Clear screen (start a new picture on graphics file, if opened)." };
02120 static KmCommand _GEANT_GRAPHICS_CONTROL_NEXT = {
02121  &_GEANT_GRAPHICS_CONTROL_DOPT, "/GEANT/GRAPHICS_CONTROL/NEXT", "NEXT", 0, 2,
02122  0, 0, (KmParameter**)0, 0, 0, gxgcon_, (IntFunc*)0, (SUBROUTINE*)0,
02123  (pCharFunc*)0, 1, _GEANT_GRAPHICS_CONTROL_NEXT_guidance, 0, (char**)0, 0,
02124  (char**)0, 0, (char**)0, (char*)0, (int*)0 };
02125  
02126 static KmParInt    _GEANT_GRAPHICS_CONTROL_LWID_LWIDTH_type = { (char*)0,
02127  (char*)0, (char*)0, (char*)0, 0 };
02128 static KmParameter _GEANT_GRAPHICS_CONTROL_LWID_LWIDTH = { "LWIDTH", 6,
02129  "Line width code", "1", (char*)0, 8, 0, (char**)0, 0, (char**)0,
02130  (KmParFlag)0, KmTYPE_INT, &_GEANT_GRAPHICS_CONTROL_LWID_LWIDTH_type };
02131 static KmParameter *_GEANT_GRAPHICS_CONTROL_LWID_parameters[] = {
02132  &_GEANT_GRAPHICS_CONTROL_LWID_LWIDTH };
02133 static char *_GEANT_GRAPHICS_CONTROL_LWID_guidance[] = {
02134  " CALL GDLW(-abs(lwidth))" };
02135 static KmCommand _GEANT_GRAPHICS_CONTROL_LWID = {
02136  &_GEANT_GRAPHICS_CONTROL_NEXT, "/GEANT/GRAPHICS_CONTROL/LWID", "LWID", 0, 2,
02137  1, 1, _GEANT_GRAPHICS_CONTROL_LWID_parameters, 0, 0, gxgcon_, (IntFunc*)0,
02138  (SUBROUTINE*)0, (pCharFunc*)0, 1, _GEANT_GRAPHICS_CONTROL_LWID_guidance, 0,
02139  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
02140  
02141 static KmParInt    _GEANT_GRAPHICS_CONTROL_COLOR_ICOL_type = { (char*)0,
02142  (char*)0, (char*)0, (char*)0, 0 };
02143 static KmParameter _GEANT_GRAPHICS_CONTROL_COLOR_ICOL = { "ICOL", 4,
02144  "Colour code", "1", (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02145  KmTYPE_INT, &_GEANT_GRAPHICS_CONTROL_COLOR_ICOL_type };
02146 static KmParameter *_GEANT_GRAPHICS_CONTROL_COLOR_parameters[] = {
02147  &_GEANT_GRAPHICS_CONTROL_COLOR_ICOL };
02148 static char *_GEANT_GRAPHICS_CONTROL_COLOR_guidance[] = {
02149  " CALL GDCOL(-abs(icol))" };
02150 static KmCommand _GEANT_GRAPHICS_CONTROL_COLOR = {
02151  &_GEANT_GRAPHICS_CONTROL_LWID, "/GEANT/GRAPHICS_CONTROL/COLOR", "COLOR", 0,
02152  2, 1, 1, _GEANT_GRAPHICS_CONTROL_COLOR_parameters, 0, 0, gxgcon_,
02153  (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 1,
02154  _GEANT_GRAPHICS_CONTROL_COLOR_guidance, 0, (char**)0, 0, (char**)0, 0,
02155  (char**)0, (char*)0, (int*)0 };
02156  
02157 static KmParReal   _GEANT_GRAPHICS_CONTROL_SCALE_GSCU_type = { (char*)0,
02158  (char*)0, (char*)0, (char*)0, 0 };
02159 static KmParameter _GEANT_GRAPHICS_CONTROL_SCALE_GSCU = { "GSCU", 4,
02160  "Scale factor for U-coord.", (char*)0, (char*)0, 12, 0, (char**)0, 0,
02161  (char**)0, (KmParFlag)0, KmTYPE_REAL,
02162  &_GEANT_GRAPHICS_CONTROL_SCALE_GSCU_type };
02163 static KmParReal   _GEANT_GRAPHICS_CONTROL_SCALE_GSCV_type = { (char*)0,
02164  (char*)0, (char*)0, (char*)0, 0 };
02165 static KmParameter _GEANT_GRAPHICS_CONTROL_SCALE_GSCV = { "GSCV", 4,
02166  "Scale factor for V-coord.", (char*)0, (char*)0, 12, 0, (char**)0, 0,
02167  (char**)0, (KmParFlag)0, KmTYPE_REAL,
02168  &_GEANT_GRAPHICS_CONTROL_SCALE_GSCV_type };
02169 static KmParameter *_GEANT_GRAPHICS_CONTROL_SCALE_parameters[] = {
02170  &_GEANT_GRAPHICS_CONTROL_SCALE_GSCU, &_GEANT_GRAPHICS_CONTROL_SCALE_GSCV };
02171 static char *_GEANT_GRAPHICS_CONTROL_SCALE_guidance[] = {
02172  "Change the scale factors GSCU and GSCV in /GCDRAW/." };
02173 static KmCommand _GEANT_GRAPHICS_CONTROL_SCALE = {
02174  &_GEANT_GRAPHICS_CONTROL_COLOR, "/GEANT/GRAPHICS_CONTROL/SCALE", "SCALE", 0,
02175  2, 2, 2, _GEANT_GRAPHICS_CONTROL_SCALE_parameters, 0, 0, gxgcon_,
02176  (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 1,
02177  _GEANT_GRAPHICS_CONTROL_SCALE_guidance, 0, (char**)0, 0, (char**)0, 0,
02178  (char**)0, (char*)0, (int*)0 };
02179  
02180 static KmParameter _GEANT_GRAPHICS_CONTROL_SATT_NAME = { "NAME", 4,
02181  "Volume name", "*   ", (char*)0, 20, 0, (char**)0, 0, (char**)0,
02182  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
02183 static KmParameter _GEANT_GRAPHICS_CONTROL_SATT_IOPT = { "IOPT", 4,
02184  "Name of the attribute to be set", "DEFA", (char*)0, 20, 0, (char**)0, 0,
02185  (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
02186 static KmParInt    _GEANT_GRAPHICS_CONTROL_SATT_IVAL_type = { (char*)0,
02187  (char*)0, (char*)0, (char*)0, 0 };
02188 static KmParameter _GEANT_GRAPHICS_CONTROL_SATT_IVAL = { "IVAL", 4,
02189  "Value to which the attribute is to be set", "10000", (char*)0, 8, 0,
02190  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
02191  &_GEANT_GRAPHICS_CONTROL_SATT_IVAL_type };
02192 static KmParameter *_GEANT_GRAPHICS_CONTROL_SATT_parameters[] = {
02193  &_GEANT_GRAPHICS_CONTROL_SATT_NAME, &_GEANT_GRAPHICS_CONTROL_SATT_IOPT,
02194  &_GEANT_GRAPHICS_CONTROL_SATT_IVAL };
02195 static char *_GEANT_GRAPHICS_CONTROL_SATT_guidance[] = {
02196  " CALL GSATT(name,iopt,ival)", "name='*' stands for all the volumes.",
02197  "iopt can be chosen among the following :",
02198  " 'WORK'   0=volume name is inactive for the tracking",
02199  "          1=volume name is active for the tracking (default)",
02200  " 'SEEN'   0=volume name is invisible",
02201  "          1=volume name is visible (default)",
02202  "         -1=volume invisible with all its descendants in the tree",
02203  "         -2=volume visible but not its descendants in the tree",
02204  " 'LSTY'   line style 1,2,3,... (default=1)",
02205  "          LSTY=7 will produce a very precise approximation for",
02206  "          revolution bodies.",
02207  " 'LWID'   line width -7,...,1,2,3,..7 (default=1)",
02208  "          LWID<0 will act as abs(LWID) was set for the volume",
02209  "          and for all the levels below it. When SHAD is 'ON', LWID",
02210  "          represent the linewidth of the scan lines filling the surfaces",
02211  "          (whereas the FILL value represent their number). Therefore",
02212  "          tuning this parameter will help to obtain the desired",
02213  "          quality/performance ratio.",
02214  " 'COLO'   colour code -166,...,1,2,..166 (default=1)",
02215  "          n=1=black",
02216  "          n=2=red;    n=17+m, m=0,25, increasing luminosity according to\
02217  'm';",
02218  "          n=3=green;  n=67+m, m=0,25, increasing luminosity according to\
02219  'm';",
02220  "          n=4=blue;   n=117+m, m=0,25, increasing luminosity according to\
02221  'm';",
02222  "          n=5=yellow; n=42+m, m=0,25, increasing luminosity according to\
02223  'm';",
02224  "          n=6=violet; n=142+m, m=0,25, increasing luminosity according to\
02225  'm';",
02226  "          n=7=lightblue; n=92+m, m=0,25, increasing luminosity according to\
02227  'm';", "          colour=n*10+m, m=1,2,...9, will produce the same colour",
02228  "          as 'n', but with increasing luminosity according to 'm';",
02229  "          COLO<0 will act as if abs(COLO) was set for the volume",
02230  "          and for all the levels below it.",
02231  "          When for a volume the attribute FILL is > 1 (and the",
02232  "          option SHAD is on), the ABS of its colour code must be < 8",
02233  "          because an automatic shading of its faces will be",
02234  "          performed.",
02235  " 'FILL'   (1992) fill area  -7,...,0,1,...7 (default=0)",
02236  "          when option SHAD is 'on' the FILL attribute of any",
02237  "          volume can be set different from 0 (normal drawing);",
02238  "          if it is set to 1, the faces of such volume will be filled",
02239  "          with solid colours; if ABS(FILL) is > 1, then a light",
02240  "          source is placed along the observer line, and the faces of",
02241  "          such volumes will be painted by colours whose luminosity",
02242  "          will depend on the amount of light reflected;",
02243  "          if ABS(FILL) = 1, then it is possible to use all the 166",
02244  "          colours of the colour table, becouse the automatic shading",
02245  "          is not performed;",
02246  "          for increasing values of FILL the drawing will be performed",
02247  "          with higher and higher resolution improving the quality (the",
02248  "          number of scan lines used to fill the faces increases with\
02249  FILL);", "          it is possible to set different values of FILL",
02250  "          for different volumes, in order to optimize at the same time",
02251  "          the performance and the quality of the picture;",
02252  "          FILL<0 will act as if abs(FILL) was set for the volume",
02253  "          and for all the levels below it.",
02254  "          This kind of drawing can be saved in 'picture files'",
02255  "          or in view banks.", "          0=drawing without fill area",
02256  "          1=faces filled with solid colours and resolution = 6",
02257  "          2=lowest resolution (very fast)",
02258  "          3=default resolution", "          4=.................",
02259  "          5=.................", "          6=.................",
02260  "          7=max resolution",
02261  "          Finally, if a coloured background is desired, the FILL",
02262  "          attribute for the first volume of the tree must be set",
02263  "          equal to -abs(colo), colo being >0 and <166.",
02264  " 'SET '   set number associated to volume name",
02265  " 'DET '   detector number associated to volume name",
02266  " 'DTYP'   detector type (1,2)" };
02267 static KmCommand _GEANT_GRAPHICS_CONTROL_SATT = {
02268  &_GEANT_GRAPHICS_CONTROL_SCALE, "/GEANT/GRAPHICS_CONTROL/SATT", "SATT", 0, 2,
02269  3, 0, _GEANT_GRAPHICS_CONTROL_SATT_parameters, 0, 0, gxgcon_, (IntFunc*)0,
02270  (SUBROUTINE*)0, (pCharFunc*)0, 70, _GEANT_GRAPHICS_CONTROL_SATT_guidance, 0,
02271  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
02272  
02273 static KmParReal   _GEANT_GRAPHICS_CONTROL_SSETVA_RVAL_type = { "-10.", "10.",
02274  "-10.", "10.", 0 };
02275 static KmParameter _GEANT_GRAPHICS_CONTROL_SSETVA_RVAL = { "RVAL", 4,
02276  "Attribute value", "1.", (char*)0, 12, 0, (char**)0, 0, (char**)0,
02277  (KmParFlag)0, KmTYPE_REAL, &_GEANT_GRAPHICS_CONTROL_SSETVA_RVAL_type };
02278 static KmParameter *_GEANT_GRAPHICS_CONTROL_SSETVA_parameters[] = {
02279  &_GEANT_GRAPHICS_CONTROL_SSETVA_RVAL };
02280 static char *_GEANT_GRAPHICS_CONTROL_SSETVA_guidance[] = {
02281  "Set current attribute value." };
02282 static KmCommand _GEANT_GRAPHICS_CONTROL_SSETVA = {
02283  &_GEANT_GRAPHICS_CONTROL_SATT, "/GEANT/GRAPHICS_CONTROL/SSETVA", "SSETVA", 0,
02284  2, 1, 0, _GEANT_GRAPHICS_CONTROL_SSETVA_parameters, 0, 0, gxgcon_,
02285  (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 1,
02286  _GEANT_GRAPHICS_CONTROL_SSETVA_guidance, 0, (char**)0, 0, (char**)0, 0,
02287  (char**)0, (char*)0, (int*)0 };
02288  
02289 static KmParameter _GEANT_GRAPHICS_CONTROL_SSETAT_IOPT = { "IOPT", 4,
02290  "Attribute name", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
02291  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
02292 static KmParameter *_GEANT_GRAPHICS_CONTROL_SSETAT_parameters[] = {
02293  &_GEANT_GRAPHICS_CONTROL_SSETAT_IOPT };
02294 static char *_GEANT_GRAPHICS_CONTROL_SSETAT_guidance[] = {
02295  "Set current attribute." };
02296 static KmCommand _GEANT_GRAPHICS_CONTROL_SSETAT = {
02297  &_GEANT_GRAPHICS_CONTROL_SSETVA, "/GEANT/GRAPHICS_CONTROL/SSETAT", "SSETAT",
02298  0, 2, 1, 1, _GEANT_GRAPHICS_CONTROL_SSETAT_parameters, 0, 0, gxgcon_,
02299  (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 1,
02300  _GEANT_GRAPHICS_CONTROL_SSETAT_guidance, 0, (char**)0, 0, (char**)0, 0,
02301  (char**)0, (char*)0, (int*)0 };
02302  
02303 static char *_GEANT_GRAPHICS_CONTROL_RESETWK_guidance[] = { "CALL GRESWK",
02304  "It deactivate the previosly activated workstation and reactivate the",
02305  "default one." };
02306 static KmCommand _GEANT_GRAPHICS_CONTROL_RESETWK = {
02307  &_GEANT_GRAPHICS_CONTROL_SSETAT, "/GEANT/GRAPHICS_CONTROL/RESETWK",
02308  "RESETWK", 0, 2, 0, 0, (KmParameter**)0, 0, 0, gxgcon_, (IntFunc*)0,
02309  (SUBROUTINE*)0, (pCharFunc*)0, 3, _GEANT_GRAPHICS_CONTROL_RESETWK_guidance,
02310  0, (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
02311  
02312 static char *_GEANT_GRAPHICS_CONTROL_CHANGEWK_guidance[] = { "CALL GCHNWK",
02313  "It open a new workstation (if not already opened) and activate it",
02314  "(deactivating the default one)." };
02315 static KmCommand _GEANT_GRAPHICS_CONTROL_CHANGEWK = {
02316  &_GEANT_GRAPHICS_CONTROL_RESETWK, "/GEANT/GRAPHICS_CONTROL/CHANGEWK",
02317  "CHANGEWK", 0, 2, 0, 0, (KmParameter**)0, 0, 0, gxgcon_, (IntFunc*)0,
02318  (SUBROUTINE*)0, (pCharFunc*)0, 3, _GEANT_GRAPHICS_CONTROL_CHANGEWK_guidance,
02319  0, (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
02320  
02321 static char *_GEANT_GRAPHICS_CONTROL_DCLOSE_guidance[] = { " CALL GDCLOS",
02322  "It closes the currently open view bank; it must be called after the",
02323  "end of the drawing to be stored." };
02324 static KmCommand _GEANT_GRAPHICS_CONTROL_DCLOSE = {
02325  &_GEANT_GRAPHICS_CONTROL_CHANGEWK, "/GEANT/GRAPHICS_CONTROL/DCLOSE",
02326  "DCLOSE", 0, 2, 0, 0, (KmParameter**)0, 0, 0, gxgcon_, (IntFunc*)0,
02327  (SUBROUTINE*)0, (pCharFunc*)0, 3, _GEANT_GRAPHICS_CONTROL_DCLOSE_guidance, 0,
02328  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
02329  
02330 static KmParInt    _GEANT_GRAPHICS_CONTROL_DELETE_IVIEW_type = { (char*)0,
02331  (char*)0, (char*)0, (char*)0, 0 };
02332 static KmParameter _GEANT_GRAPHICS_CONTROL_DELETE_IVIEW = { "IVIEW", 5,
02333  "View number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
02334  (KmParFlag)0, KmTYPE_INT, &_GEANT_GRAPHICS_CONTROL_DELETE_IVIEW_type };
02335 static KmParameter *_GEANT_GRAPHICS_CONTROL_DELETE_parameters[] = {
02336  &_GEANT_GRAPHICS_CONTROL_DELETE_IVIEW };
02337 static char *_GEANT_GRAPHICS_CONTROL_DELETE_guidance[] = {
02338  " CALL GDELET(iview)", "It deletes a view bank from memory." };
02339 static KmCommand _GEANT_GRAPHICS_CONTROL_DELETE = {
02340  &_GEANT_GRAPHICS_CONTROL_DCLOSE, "/GEANT/GRAPHICS_CONTROL/DELETE", "DELETE",
02341  0, 2, 1, 1, _GEANT_GRAPHICS_CONTROL_DELETE_parameters, 0, 0, gxgcon_,
02342  (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 2,
02343  _GEANT_GRAPHICS_CONTROL_DELETE_guidance, 0, (char**)0, 0, (char**)0, 0,
02344  (char**)0, (char*)0, (int*)0 };
02345  
02346 static KmParInt    _GEANT_GRAPHICS_CONTROL_DSHOW_IVIEW_type = { (char*)0,
02347  (char*)0, (char*)0, (char*)0, 0 };
02348 static KmParameter _GEANT_GRAPHICS_CONTROL_DSHOW_IVIEW = { "IVIEW", 5,
02349  "View number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
02350  (KmParFlag)0, KmTYPE_INT, &_GEANT_GRAPHICS_CONTROL_DSHOW_IVIEW_type };
02351 static KmParameter *_GEANT_GRAPHICS_CONTROL_DSHOW_parameters[] = {
02352  &_GEANT_GRAPHICS_CONTROL_DSHOW_IVIEW };
02353 static char *_GEANT_GRAPHICS_CONTROL_DSHOW_guidance[] = {
02354  " CALL GDSHOW(iview)",
02355  "It shows on the screen the contents of a view bank. It",
02356  "can be called after a view bank has been closed." };
02357 static KmCommand _GEANT_GRAPHICS_CONTROL_DSHOW = {
02358  &_GEANT_GRAPHICS_CONTROL_DELETE, "/GEANT/GRAPHICS_CONTROL/DSHOW", "DSHOW", 0,
02359  2, 1, 0, _GEANT_GRAPHICS_CONTROL_DSHOW_parameters, 0, 0, gxgcon_,
02360  (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3,
02361  _GEANT_GRAPHICS_CONTROL_DSHOW_guidance, 0, (char**)0, 0, (char**)0, 0,
02362  (char**)0, (char*)0, (int*)0 };
02363  
02364 static KmParInt    _GEANT_GRAPHICS_CONTROL_DOPEN_IVIEW_type = { (char*)0,
02365  (char*)0, (char*)0, (char*)0, 0 };
02366 static KmParameter _GEANT_GRAPHICS_CONTROL_DOPEN_IVIEW = { "IVIEW", 5,
02367  "View number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
02368  (KmParFlag)0, KmTYPE_INT, &_GEANT_GRAPHICS_CONTROL_DOPEN_IVIEW_type };
02369 static KmParameter *_GEANT_GRAPHICS_CONTROL_DOPEN_parameters[] = {
02370  &_GEANT_GRAPHICS_CONTROL_DOPEN_IVIEW };
02371 static char *_GEANT_GRAPHICS_CONTROL_DOPEN_guidance[] = {
02372  " CALL GDOPEN(iview)",
02373  "When a drawing is very complex and requires a long time to be",
02374  "executed, it can be useful to store it in a view bank: after a",
02375  "call to DOPEN and the execution of the drawing (nothing will",
02376  "appear on the screen), and after a necessary call to DCLOSE,",
02377  "the contents of the bank can be displayed in a very fast way",
02378  "through a call to DSHOW; therefore, the detector can be easily",
02379  "zoomed many times in different ways. Please note that the pictures",
02380  "with solid colours can now be stored in a view bank or in 'PICTURE FILES'."
02381  };
02382 static KmCommand _GEANT_GRAPHICS_CONTROL_DOPEN = {
02383  &_GEANT_GRAPHICS_CONTROL_DSHOW, "/GEANT/GRAPHICS_CONTROL/DOPEN", "DOPEN", 0,
02384  2, 1, 1, _GEANT_GRAPHICS_CONTROL_DOPEN_parameters, 0, 0, gxgcon_,
02385  (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 9,
02386  _GEANT_GRAPHICS_CONTROL_DOPEN_guidance, 0, (char**)0, 0, (char**)0, 0,
02387  (char**)0, (char*)0, (int*)0 };
02388  
02389 static char *_GEANT_GRAPHICS_CONTROL_guidance[] = {
02390  "Graphics control commands." };
02391 static KmMenu _GEANT_GRAPHICS_CONTROL = {  (KmMenu*)0,  (KmMenu*)0,
02392  "/GEANT/GRAPHICS_CONTROL", "GRAPHICS_CONTROL", 2,
02393  &_GEANT_GRAPHICS_CONTROL_DOPEN, 1, _GEANT_GRAPHICS_CONTROL_guidance, 0,
02394  (char**)0, 0, (char**)0 };
02395  
02396 static KmMenu _GEANT = {  (KmMenu*)0, &_GEANT_GRAPHICS_CONTROL, "/GEANT",
02397  "GEANT", 1,  (KmCommand*)0, 0, (char**)0, 0, (char**)0, 0, (char**)0 };
02398  
02399   klnkmenu( &_GEANT, 950303 );
02400 }

void gkgeom_ (  ) 

Definition at line 3339 of file g321x.c.

References gkcont_(), gxcont_(), klnkmenu(), KmTYPE_CHAR, KmTYPE_INT, KmTYPE_OPTION, and KmTYPE_REAL.

Referenced by gkfort_(), and gklist_().

03340 {
03341  
03342 static KmParInt    _GEANT_GEOMETRY_WEUCLID_LUN_type = { "1", "100", "1",
03343  "100", 0 };
03344 static KmParameter _GEANT_GEOMETRY_WEUCLID_LUN = { "LUN", 3,
03345  "Logical unit of the file to be written", (char*)0, (char*)0, 4, 0,
03346  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
03347  &_GEANT_GEOMETRY_WEUCLID_LUN_type };
03348 static KmParameter _GEANT_GEOMETRY_WEUCLID_FNAME = { "FNAME", 5,
03349  "Name of the EUCLID file to be written", (char*)0, (char*)0, 20, 0,
03350  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
03351 static KmParameter _GEANT_GEOMETRY_WEUCLID_TOPVOL = { "TOPVOL", 6,
03352  "Volume name of the starting node", (char*)0, (char*)0, 20, 0, (char**)0, 0,
03353  (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
03354 static KmParInt    _GEANT_GEOMETRY_WEUCLID_NUMBER_type = { (char*)0, (char*)0,
03355  (char*)0, (char*)0, 0 };
03356 static KmParameter _GEANT_GEOMETRY_WEUCLID_NUMBER = { "NUMBER", 6,
03357  "Copy number of TOPVOL (relevant for GSPOSP)", "1", (char*)0, 8, 0,
03358  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
03359  &_GEANT_GEOMETRY_WEUCLID_NUMBER_type };
03360 static KmParInt    _GEANT_GEOMETRY_WEUCLID_NLEVEL_type = { (char*)0, (char*)0,
03361  (char*)0, (char*)0, 0 };
03362 static KmParameter _GEANT_GEOMETRY_WEUCLID_NLEVEL = { "NLEVEL", 6,
03363  "Number of levels in the tree structure", "15", (char*)0, 8, 0, (char**)0, 0,
03364  (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_GEOMETRY_WEUCLID_NLEVEL_type };
03365 static KmParameter *_GEANT_GEOMETRY_WEUCLID_parameters[] = {
03366  &_GEANT_GEOMETRY_WEUCLID_LUN, &_GEANT_GEOMETRY_WEUCLID_FNAME,
03367  &_GEANT_GEOMETRY_WEUCLID_TOPVOL, &_GEANT_GEOMETRY_WEUCLID_NUMBER,
03368  &_GEANT_GEOMETRY_WEUCLID_NLEVEL };
03369 static char *_GEANT_GEOMETRY_WEUCLID_guidance[] = {
03370  "          CALL GWEUCL(LUN,FNAME)",
03371  "Calls the routine to write the current GEANT geometry into an ASCII file",
03372  "in EUCLID compatible format." };
03373 static KmCommand _GEANT_GEOMETRY_WEUCLID = {  (KmCommand*)0,
03374  "/GEANT/GEOMETRY/WEUCLID", "WEUCLID", 0, 2, 5, 3,
03375  _GEANT_GEOMETRY_WEUCLID_parameters, 0, 0, gxgeom_, (IntFunc*)0,
03376  (SUBROUTINE*)0, (pCharFunc*)0, 3, _GEANT_GEOMETRY_WEUCLID_guidance, 0,
03377  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
03378  
03379 static KmParInt    _GEANT_GEOMETRY_REUCLID_LUN_type = { "1", "100", "1",
03380  "100", 0 };
03381 static KmParameter _GEANT_GEOMETRY_REUCLID_LUN = { "LUN", 3,
03382  "Logical unit of the file to be read", (char*)0, (char*)0, 4, 0, (char**)0,
03383  0, (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_GEOMETRY_REUCLID_LUN_type };
03384 static KmParameter _GEANT_GEOMETRY_REUCLID_FNAME = { "FNAME", 5,
03385  "Name of the EUCLID file to be read", (char*)0, (char*)0, 20, 0, (char**)0,
03386  0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
03387 static KmParameter *_GEANT_GEOMETRY_REUCLID_parameters[] = {
03388  &_GEANT_GEOMETRY_REUCLID_LUN, &_GEANT_GEOMETRY_REUCLID_FNAME };
03389 static char *_GEANT_GEOMETRY_REUCLID_guidance[] = {
03390  "          CALL GREUCL(LUN,FNAME)",
03391  "Calls the routine to read into GEANT a geometry from an ASCII file",
03392  "written by the EUCLID-GEANT interface." };
03393 static KmCommand _GEANT_GEOMETRY_REUCLID = { &_GEANT_GEOMETRY_WEUCLID,
03394  "/GEANT/GEOMETRY/REUCLID", "REUCLID", 0, 2, 2, 2,
03395  _GEANT_GEOMETRY_REUCLID_parameters, 0, 0, gxgeom_, (IntFunc*)0,
03396  (SUBROUTINE*)0, (pCharFunc*)0, 3, _GEANT_GEOMETRY_REUCLID_guidance, 0,
03397  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
03398  
03399 static KmParameter _GEANT_GEOMETRY_CADINT_FNAME = { "FNAME", 5,
03400  "Name of the SET file", "example.set", (char*)0, 20, 0, (char**)0, 0,
03401  (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
03402 static KmParameter _GEANT_GEOMETRY_CADINT_ANAME = { "ANAME", 5,
03403  "Name of the volume", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
03404  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
03405 static KmParInt    _GEANT_GEOMETRY_CADINT_NBINS_type = { (char*)0, (char*)0,
03406  (char*)0, (char*)0, 0 };
03407 static KmParameter _GEANT_GEOMETRY_CADINT_NBINS = { "NBINS", 5,
03408  "Number of the instances", "1", (char*)0, 8, 0, (char**)0, 0, (char**)0,
03409  (KmParFlag)0, KmTYPE_INT, &_GEANT_GEOMETRY_CADINT_NBINS_type };
03410 static KmParInt    _GEANT_GEOMETRY_CADINT_LUNIT_type = { (char*)0, (char*)0,
03411  (char*)0, (char*)0, 0 };
03412 static KmParameter _GEANT_GEOMETRY_CADINT_LUNIT = { "LUNIT", 5,
03413  "Logical unit number for SET file", "66", (char*)0, 8, 0, (char**)0, 0,
03414  (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_GEOMETRY_CADINT_LUNIT_type };
03415 static KmParInt    _GEANT_GEOMETRY_CADINT_LUNIT2_type = { (char*)0, (char*)0,
03416  (char*)0, (char*)0, 0 };
03417 static KmParameter _GEANT_GEOMETRY_CADINT_LUNIT2 = { "LUNIT2", 6,
03418  "Logical unit number for material file", "67", (char*)0, 8, 0, (char**)0, 0,
03419  (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_GEOMETRY_CADINT_LUNIT2_type };
03420 static KmParameter _GEANT_GEOMETRY_CADINT_INST = { "INST", 4,
03421  "Name of your institute", "CERN", (char*)0, 20, 0, (char**)0, 0, (char**)0,
03422  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
03423 static KmParameter _GEANT_GEOMETRY_CADINT_SITE = { "SITE", 4, "Name of site",
03424  "MEYRIN", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03425  KmTYPE_CHAR,  (void*)0 };
03426 static KmParameter _GEANT_GEOMETRY_CADINT_DEPT = { "DEPT", 4,
03427  "Name of departement", "CN", (char*)0, 20, 0, (char**)0, 0, (char**)0,
03428  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
03429 static KmParameter _GEANT_GEOMETRY_CADINT_RESP = { "RESP", 4,
03430  "Name of sender", "god_knows_who", (char*)0, 20, 0, (char**)0, 0, (char**)0,
03431  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
03432 static KmParameter *_GEANT_GEOMETRY_CADINT_parameters[] = {
03433  &_GEANT_GEOMETRY_CADINT_FNAME, &_GEANT_GEOMETRY_CADINT_ANAME,
03434  &_GEANT_GEOMETRY_CADINT_NBINS, &_GEANT_GEOMETRY_CADINT_LUNIT,
03435  &_GEANT_GEOMETRY_CADINT_LUNIT2, &_GEANT_GEOMETRY_CADINT_INST,
03436  &_GEANT_GEOMETRY_CADINT_SITE, &_GEANT_GEOMETRY_CADINT_DEPT,
03437  &_GEANT_GEOMETRY_CADINT_RESP };
03438 static char *_GEANT_GEOMETRY_CADINT_guidance[] = {
03439  " CALL GTXSET(fname,aname,nbins,lunit,lunit2,inst,site,dept,resp)",
03440  "This command produces a SET file describing the given volume with",
03441  "the contents currently set visible. (Use the visibility attribute,",
03442  "see SATT SEEN.) The description is given as a flat assembly",
03443  "related to the global coordinate system.",
03444  "The ouput can be read into CAD systems (EUCLID-IS) trough a SET interface.",
03445  "A list of materials of the volumes in the SET file and the GEANT tree",
03446  "is written into a file with the same filename as the SET file,",
03447  "but with extension .mat." };
03448 static KmCommand _GEANT_GEOMETRY_CADINT = { &_GEANT_GEOMETRY_REUCLID,
03449  "/GEANT/GEOMETRY/CADINT", "CADINT", 0, 2, 9, 9,
03450  _GEANT_GEOMETRY_CADINT_parameters, 0, 0, gxgeom_, (IntFunc*)0,
03451  (SUBROUTINE*)0, (pCharFunc*)0, 9, _GEANT_GEOMETRY_CADINT_guidance, 0,
03452  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
03453  
03454 static KmParInt    _GEANT_GEOMETRY_EDITV_ISEL_type = { (char*)0, (char*)0,
03455  (char*)0, (char*)0, 0 };
03456 static KmParameter _GEANT_GEOMETRY_EDITV_ISEL = { "ISEL", 4, "Options", "0",
03457  (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
03458  &_GEANT_GEOMETRY_EDITV_ISEL_type };
03459 static KmParameter _GEANT_GEOMETRY_EDITV_NAME = { "NAME", 4, "Volume name",
03460  "   ", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
03461  (void*)0 };
03462 static KmParameter *_GEANT_GEOMETRY_EDITV_parameters[] = {
03463  &_GEANT_GEOMETRY_EDITV_ISEL, &_GEANT_GEOMETRY_EDITV_NAME };
03464 static char *_GEANT_GEOMETRY_EDITV_guidance[] = { " CALL GEDITV(isel,name)",
03465  "When the routine prompts for input parameters that do not need",
03466  "to be changed, type return.",
03467  "ISEL is used to select the editing operation to be performed:",
03468  " ISEL=0, CALL GGCLOS",
03469  " ISEL=1, to modify shape parameters PAR given by GSVOLU",
03470  " ISEL=2, to modify NAME given by GSVOLU",
03471  " ISEL=3, to delete NAME given by GSVOLU",
03472  " ISEL=4, to unlink NAME,NR given by GSPOS/GSDVN/GSDV..",
03473  " ISEL=5, to modify X0,Y0,Z0 of NAME,NR given by GSPOS",
03474  " ISEL=6, to modify IROT of NAME,NR given by GSPOS",
03475  " ISEL=7, to modify NDIV given by GSDVN",
03476  " ISEL=8, to modify IAXIS given by GSDVN" };
03477 static KmCommand _GEANT_GEOMETRY_EDITV = { &_GEANT_GEOMETRY_CADINT,
03478  "/GEANT/GEOMETRY/EDITV", "EDITV", 0, 2, 2, 0,
03479  _GEANT_GEOMETRY_EDITV_parameters, 0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0,
03480  (pCharFunc*)0, 13, _GEANT_GEOMETRY_EDITV_guidance, 0, (char**)0, 0,
03481  (char**)0, 0, (char**)0, (char*)0, (int*)0 };
03482  
03483 static KmParInt    _GEANT_GEOMETRY_PTMED_NUMB_type = { (char*)0, (char*)0,
03484  (char*)0, (char*)0, 0 };
03485 static KmParameter _GEANT_GEOMETRY_PTMED_NUMB = { "NUMB", 4, "Medium ID",
03486  (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
03487  &_GEANT_GEOMETRY_PTMED_NUMB_type };
03488 static KmParameter *_GEANT_GEOMETRY_PTMED_parameters[] = {
03489  &_GEANT_GEOMETRY_PTMED_NUMB };
03490 static char *_GEANT_GEOMETRY_PTMED_guidance[] = { " CALL GPTMED(numb)",
03491  "Print tracking media's specifications." };
03492 static KmCommand _GEANT_GEOMETRY_PTMED = { &_GEANT_GEOMETRY_EDITV,
03493  "/GEANT/GEOMETRY/PTMED", "PTMED", 0, 2, 1, 1,
03494  _GEANT_GEOMETRY_PTMED_parameters, 0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0,
03495  (pCharFunc*)0, 2, _GEANT_GEOMETRY_PTMED_guidance, 0, (char**)0, 0, (char**)0,
03496  0, (char**)0, (char*)0, (int*)0 };
03497  
03498 static KmParInt    _GEANT_GEOMETRY_STMED_NTMED_type = { (char*)0, (char*)0,
03499  (char*)0, (char*)0, 0 };
03500 static KmParameter _GEANT_GEOMETRY_STMED_NTMED = { "NTMED", 5,
03501  "Tracking medium number", "1", (char*)0, 8, 0, (char**)0, 0, (char**)0,
03502  (KmParFlag)0, KmTYPE_INT, &_GEANT_GEOMETRY_STMED_NTMED_type };
03503 static KmParameter _GEANT_GEOMETRY_STMED_NAME = { "NAME", 4,
03504  "Tracking medium name", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
03505  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
03506 static KmParInt    _GEANT_GEOMETRY_STMED_NMAT_type = { (char*)0, (char*)0,
03507  (char*)0, (char*)0, 0 };
03508 static KmParameter _GEANT_GEOMETRY_STMED_NMAT = { "NMAT", 4,
03509  "Material number", "1", (char*)0, 8, 0, (char**)0, 0, (char**)0,
03510  (KmParFlag)0, KmTYPE_INT, &_GEANT_GEOMETRY_STMED_NMAT_type };
03511 static KmParInt    _GEANT_GEOMETRY_STMED_ISVOL_type = { (char*)0, (char*)0,
03512  (char*)0, (char*)0, 0 };
03513 static KmParameter _GEANT_GEOMETRY_STMED_ISVOL = { "ISVOL", 5,
03514  "Sensitive volume flag", "0", (char*)0, 8, 0, (char**)0, 0, (char**)0,
03515  (KmParFlag)0, KmTYPE_INT, &_GEANT_GEOMETRY_STMED_ISVOL_type };
03516 static KmParInt    _GEANT_GEOMETRY_STMED_IFIELD_type = { (char*)0, (char*)0,
03517  (char*)0, (char*)0, 0 };
03518 static KmParameter _GEANT_GEOMETRY_STMED_IFIELD = { "IFIELD", 6,
03519  "Magnetic field", "0", (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03520  KmTYPE_INT, &_GEANT_GEOMETRY_STMED_IFIELD_type };
03521 static KmParReal   _GEANT_GEOMETRY_STMED_FIELDM_type = { (char*)0, (char*)0,
03522  (char*)0, (char*)0, 0 };
03523 static KmParameter _GEANT_GEOMETRY_STMED_FIELDM = { "FIELDM", 6,
03524  "Max. field value (Kilogauss)", "0", (char*)0, 12, 0, (char**)0, 0,
03525  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_GEOMETRY_STMED_FIELDM_type };
03526 static KmParReal   _GEANT_GEOMETRY_STMED_TMAXFD_type = { (char*)0, (char*)0,
03527  (char*)0, (char*)0, 0 };
03528 static KmParameter _GEANT_GEOMETRY_STMED_TMAXFD = { "TMAXFD", 6,
03529  "Max. angle due to field (deg/step)", "0.01", (char*)0, 12, 0, (char**)0, 0,
03530  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_GEOMETRY_STMED_TMAXFD_type };
03531 static KmParReal   _GEANT_GEOMETRY_STMED_STEMAX_type = { (char*)0, (char*)0,
03532  (char*)0, (char*)0, 0 };
03533 static KmParameter _GEANT_GEOMETRY_STMED_STEMAX = { "STEMAX", 6,
03534  "Max. step allowed", "1.E+10", (char*)0, 12, 0, (char**)0, 0, (char**)0,
03535  (KmParFlag)0, KmTYPE_REAL, &_GEANT_GEOMETRY_STMED_STEMAX_type };
03536 static KmParReal   _GEANT_GEOMETRY_STMED_DEEMAX_type = { (char*)0, (char*)0,
03537  (char*)0, (char*)0, 0 };
03538 static KmParameter _GEANT_GEOMETRY_STMED_DEEMAX = { "DEEMAX", 6,
03539  "Max. fraction of energy lost in a step", "0.01", (char*)0, 12, 0, (char**)0,
03540  0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_GEOMETRY_STMED_DEEMAX_type };
03541 static KmParReal   _GEANT_GEOMETRY_STMED_EPSIL_type = { (char*)0, (char*)0,
03542  (char*)0, (char*)0, 0 };
03543 static KmParameter _GEANT_GEOMETRY_STMED_EPSIL = { "EPSIL", 5,
03544  "Tracking precision (cm)", "0.01", (char*)0, 12, 0, (char**)0, 0, (char**)0,
03545  (KmParFlag)0, KmTYPE_REAL, &_GEANT_GEOMETRY_STMED_EPSIL_type };
03546 static KmParReal   _GEANT_GEOMETRY_STMED_STMIN_type = { (char*)0, (char*)0,
03547  (char*)0, (char*)0, 0 };
03548 static KmParameter _GEANT_GEOMETRY_STMED_STMIN = { "STMIN", 5,
03549  "Min. step due to continuos processes (cm)", "0.1", (char*)0, 12, 0,
03550  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
03551  &_GEANT_GEOMETRY_STMED_STMIN_type };
03552 static KmParameter *_GEANT_GEOMETRY_STMED_parameters[] = {
03553  &_GEANT_GEOMETRY_STMED_NTMED, &_GEANT_GEOMETRY_STMED_NAME,
03554  &_GEANT_GEOMETRY_STMED_NMAT, &_GEANT_GEOMETRY_STMED_ISVOL,
03555  &_GEANT_GEOMETRY_STMED_IFIELD, &_GEANT_GEOMETRY_STMED_FIELDM,
03556  &_GEANT_GEOMETRY_STMED_TMAXFD, &_GEANT_GEOMETRY_STMED_STEMAX,
03557  &_GEANT_GEOMETRY_STMED_DEEMAX, &_GEANT_GEOMETRY_STMED_EPSIL,
03558  &_GEANT_GEOMETRY_STMED_STMIN };
03559 static char *_GEANT_GEOMETRY_STMED_guidance[] = {
03560  "      CALL GSTMED(ntmed,name,nmat,isvol,ifield,fieldm,tmaxfd,",
03561  "     +            stemax,deemax,epsil,stmin,0,0)",
03562  "IFIELD = 0 if no magnetic field; IFIELD = -1 if user decision in GUSWIM;",
03563  "IFIELD = 1 if tracking performed with GRKUTA; IFIELD = 2 if tracking",
03564  "performed with GHELIX; IFIELD = 3 if tracking performed with GHELX3." };
03565 static KmCommand _GEANT_GEOMETRY_STMED = { &_GEANT_GEOMETRY_PTMED,
03566  "/GEANT/GEOMETRY/STMED", "STMED", 0, 2, 11, 11,
03567  _GEANT_GEOMETRY_STMED_parameters, 0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0,
03568  (pCharFunc*)0, 5, _GEANT_GEOMETRY_STMED_guidance, 0, (char**)0, 0, (char**)0,
03569  0, (char**)0, (char*)0, (int*)0 };
03570  
03571 static KmParInt    _GEANT_GEOMETRY_PROTM_NUMB_type = { (char*)0, (char*)0,
03572  (char*)0, (char*)0, 0 };
03573 static KmParameter _GEANT_GEOMETRY_PROTM_NUMB = { "NUMB", 4, "Matrix ID",
03574  (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
03575  &_GEANT_GEOMETRY_PROTM_NUMB_type };
03576 static KmParameter *_GEANT_GEOMETRY_PROTM_parameters[] = {
03577  &_GEANT_GEOMETRY_PROTM_NUMB };
03578 static char *_GEANT_GEOMETRY_PROTM_guidance[] = { " CALL GPROTM(numb)",
03579  "Print matrixes' specifications." };
03580 static KmCommand _GEANT_GEOMETRY_PROTM = { &_GEANT_GEOMETRY_STMED,
03581  "/GEANT/GEOMETRY/PROTM", "PROTM", 0, 2, 1, 1,
03582  _GEANT_GEOMETRY_PROTM_parameters, 0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0,
03583  (pCharFunc*)0, 2, _GEANT_GEOMETRY_PROTM_guidance, 0, (char**)0, 0, (char**)0,
03584  0, (char**)0, (char*)0, (int*)0 };
03585  
03586 static KmParInt    _GEANT_GEOMETRY_SROTM_IROT_type = { (char*)0, (char*)0,
03587  (char*)0, (char*)0, 0 };
03588 static KmParameter _GEANT_GEOMETRY_SROTM_IROT = { "IROT", 4,
03589  "Rotation matrix number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
03590  (KmParFlag)0, KmTYPE_INT, &_GEANT_GEOMETRY_SROTM_IROT_type };
03591 static KmParReal   _GEANT_GEOMETRY_SROTM_THETA1_type = { "0.", "180.", "0.",
03592  "180.", 0 };
03593 static KmParameter _GEANT_GEOMETRY_SROTM_THETA1 = { "THETA1", 6,
03594  "Polar angle for axis I", "0.", (char*)0, 12, 0, (char**)0, 0, (char**)0,
03595  (KmParFlag)0, KmTYPE_REAL, &_GEANT_GEOMETRY_SROTM_THETA1_type };
03596 static KmParReal   _GEANT_GEOMETRY_SROTM_PHI1_type = { "0.", "360.", "0.",
03597  "360.", 0 };
03598 static KmParameter _GEANT_GEOMETRY_SROTM_PHI1 = { "PHI1", 4,
03599  "Azimuthal angle for axis I", "0.", (char*)0, 12, 0, (char**)0, 0, (char**)0,
03600  (KmParFlag)0, KmTYPE_REAL, &_GEANT_GEOMETRY_SROTM_PHI1_type };
03601 static KmParReal   _GEANT_GEOMETRY_SROTM_THETA2_type = { "0.", "180.", "0.",
03602  "180.", 0 };
03603 static KmParameter _GEANT_GEOMETRY_SROTM_THETA2 = { "THETA2", 6,
03604  "Polar angle for axis II", "0.", (char*)0, 12, 0, (char**)0, 0, (char**)0,
03605  (KmParFlag)0, KmTYPE_REAL, &_GEANT_GEOMETRY_SROTM_THETA2_type };
03606 static KmParReal   _GEANT_GEOMETRY_SROTM_PHI2_type = { "0.", "360.", "0.",
03607  "360.", 0 };
03608 static KmParameter _GEANT_GEOMETRY_SROTM_PHI2 = { "PHI2", 4,
03609  "Azimuthal angle for axis II", "0.", (char*)0, 12, 0, (char**)0, 0,
03610  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_GEOMETRY_SROTM_PHI2_type };
03611 static KmParReal   _GEANT_GEOMETRY_SROTM_THETA3_type = { "0.", "180.", "0.",
03612  "180.", 0 };
03613 static KmParameter _GEANT_GEOMETRY_SROTM_THETA3 = { "THETA3", 6,
03614  "Polar angle for axis III", "0.", (char*)0, 12, 0, (char**)0, 0, (char**)0,
03615  (KmParFlag)0, KmTYPE_REAL, &_GEANT_GEOMETRY_SROTM_THETA3_type };
03616 static KmParReal   _GEANT_GEOMETRY_SROTM_PHI3_type = { "0.", "360.", "0.",
03617  "360.", 0 };
03618 static KmParameter _GEANT_GEOMETRY_SROTM_PHI3 = { "PHI3", 4,
03619  "Azimuthal angle for axis III", "0.", (char*)0, 12, 0, (char**)0, 0,
03620  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_GEOMETRY_SROTM_PHI3_type };
03621 static KmParameter *_GEANT_GEOMETRY_SROTM_parameters[] = {
03622  &_GEANT_GEOMETRY_SROTM_IROT, &_GEANT_GEOMETRY_SROTM_THETA1,
03623  &_GEANT_GEOMETRY_SROTM_PHI1, &_GEANT_GEOMETRY_SROTM_THETA2,
03624  &_GEANT_GEOMETRY_SROTM_PHI2, &_GEANT_GEOMETRY_SROTM_THETA3,
03625  &_GEANT_GEOMETRY_SROTM_PHI3 };
03626 static char *_GEANT_GEOMETRY_SROTM_guidance[] = {
03627  " CALL GSROTM(irot,theta1,phi1,theta2,phi2,theta3,phi3)",
03628  "It defines the rotation matrix number IROT." };
03629 static KmCommand _GEANT_GEOMETRY_SROTM = { &_GEANT_GEOMETRY_PROTM,
03630  "/GEANT/GEOMETRY/SROTM", "SROTM", 0, 2, 7, 7,
03631  _GEANT_GEOMETRY_SROTM_parameters, 0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0,
03632  (pCharFunc*)0, 2, _GEANT_GEOMETRY_SROTM_guidance, 0, (char**)0, 0, (char**)0,
03633  0, (char**)0, (char*)0, (int*)0 };
03634  
03635 static KmParInt    _GEANT_GEOMETRY_PVOLU_NUMB_type = { (char*)0, (char*)0,
03636  (char*)0, (char*)0, 0 };
03637 static KmParameter _GEANT_GEOMETRY_PVOLU_NUMB = { "NUMB", 4, "Volume ID",
03638  (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
03639  &_GEANT_GEOMETRY_PVOLU_NUMB_type };
03640 static KmParameter *_GEANT_GEOMETRY_PVOLU_parameters[] = {
03641  &_GEANT_GEOMETRY_PVOLU_NUMB };
03642 static char *_GEANT_GEOMETRY_PVOLU_guidance[] = { " CALL GPVOLU(numb)",
03643  "Prints volumes' specifications." };
03644 static KmCommand _GEANT_GEOMETRY_PVOLU = { &_GEANT_GEOMETRY_SROTM,
03645  "/GEANT/GEOMETRY/PVOLU", "PVOLU", 0, 2, 1, 1,
03646  _GEANT_GEOMETRY_PVOLU_parameters, 0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0,
03647  (pCharFunc*)0, 2, _GEANT_GEOMETRY_PVOLU_guidance, 0, (char**)0, 0, (char**)0,
03648  0, (char**)0, (char*)0, (int*)0 };
03649  
03650 static KmParameter _GEANT_GEOMETRY_SDVN_NAME = { "NAME", 4, "Volume name",
03651  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03652  KmTYPE_CHAR,  (void*)0 };
03653 static KmParameter _GEANT_GEOMETRY_SDVN_MOTHER = { "MOTHER", 6,
03654  "Mother volume name", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
03655  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
03656 static KmParInt    _GEANT_GEOMETRY_SDVN_NDIV_type = { (char*)0, (char*)0,
03657  (char*)0, (char*)0, 0 };
03658 static KmParameter _GEANT_GEOMETRY_SDVN_NDIV = { "NDIV", 4,
03659  "Number of divisions", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
03660  (KmParFlag)0, KmTYPE_INT, &_GEANT_GEOMETRY_SDVN_NDIV_type };
03661 static char *_GEANT_GEOMETRY_SDVN_CAXIS_range[] = { "X", "Y", "Z", "1", "2",
03662  "3" };
03663 static char *_GEANT_GEOMETRY_SDVN_CAXIS_text[] = { (char*)0, (char*)0,
03664  (char*)0, (char*)0, (char*)0, (char*)0 };
03665 static KmParOption _GEANT_GEOMETRY_SDVN_CAXIS_type = {
03666  _GEANT_GEOMETRY_SDVN_CAXIS_text, (int*)0, (int*)0 };
03667 static KmParameter _GEANT_GEOMETRY_SDVN_CAXIS = { "CAXIS", 5, "Axis value",
03668  (char*)0, (char*)0, 8, 6, _GEANT_GEOMETRY_SDVN_CAXIS_range, 6,
03669  _GEANT_GEOMETRY_SDVN_CAXIS_range, (KmParFlag)0, KmTYPE_OPTION,
03670  &_GEANT_GEOMETRY_SDVN_CAXIS_type };
03671 static KmParameter *_GEANT_GEOMETRY_SDVN_parameters[] = {
03672  &_GEANT_GEOMETRY_SDVN_NAME, &_GEANT_GEOMETRY_SDVN_MOTHER,
03673  &_GEANT_GEOMETRY_SDVN_NDIV, &_GEANT_GEOMETRY_SDVN_CAXIS };
03674 static char *_GEANT_GEOMETRY_SDVN_guidance[] = {
03675  " CALL GSDVN(name,mother,ndiv,iaxis)",
03676  "X,Y,Z of CAXIS will be translated to 1,2,3 for IAXIS.",
03677  "It divides a previously defined volume." };
03678 static KmCommand _GEANT_GEOMETRY_SDVN = { &_GEANT_GEOMETRY_PVOLU,
03679  "/GEANT/GEOMETRY/SDVN", "SDVN", 0, 2, 4, 4, _GEANT_GEOMETRY_SDVN_parameters,
03680  0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3,
03681  _GEANT_GEOMETRY_SDVN_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
03682  (char*)0, (int*)0 };
03683  
03684 static KmParameter _GEANT_GEOMETRY_SPOS_NAME = { "NAME", 4, "Volume name",
03685  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03686  KmTYPE_CHAR,  (void*)0 };
03687 static KmParInt    _GEANT_GEOMETRY_SPOS_NUMBER_type = { (char*)0, (char*)0,
03688  (char*)0, (char*)0, 0 };
03689 static KmParameter _GEANT_GEOMETRY_SPOS_NUMBER = { "NUMBER", 6,
03690  "Copy number of the volume", (char*)0, (char*)0, 8, 0, (char**)0, 0,
03691  (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_GEOMETRY_SPOS_NUMBER_type };
03692 static KmParameter _GEANT_GEOMETRY_SPOS_MOTHER = { "MOTHER", 6,
03693  "Mother volume name", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
03694  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
03695 static KmParReal   _GEANT_GEOMETRY_SPOS_X0_type = { (char*)0, (char*)0,
03696  (char*)0, (char*)0, 0 };
03697 static KmParameter _GEANT_GEOMETRY_SPOS_X0 = { "X0", 2,
03698  "X coord. of the volume in mother ref. sys.", (char*)0, (char*)0, 12, 0,
03699  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
03700  &_GEANT_GEOMETRY_SPOS_X0_type };
03701 static KmParReal   _GEANT_GEOMETRY_SPOS_Y0_type = { (char*)0, (char*)0,
03702  (char*)0, (char*)0, 0 };
03703 static KmParameter _GEANT_GEOMETRY_SPOS_Y0 = { "Y0", 2,
03704  "Y coord. of the volume in mother ref. sys.", (char*)0, (char*)0, 12, 0,
03705  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
03706  &_GEANT_GEOMETRY_SPOS_Y0_type };
03707 static KmParReal   _GEANT_GEOMETRY_SPOS_Z0_type = { (char*)0, (char*)0,
03708  (char*)0, (char*)0, 0 };
03709 static KmParameter _GEANT_GEOMETRY_SPOS_Z0 = { "Z0", 2,
03710  "Z coord. of the volume in mother ref. sys.", (char*)0, (char*)0, 12, 0,
03711  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
03712  &_GEANT_GEOMETRY_SPOS_Z0_type };
03713 static KmParInt    _GEANT_GEOMETRY_SPOS_IROT_type = { (char*)0, (char*)0,
03714  (char*)0, (char*)0, 0 };
03715 static KmParameter _GEANT_GEOMETRY_SPOS_IROT = { "IROT", 4,
03716  "Rotation matrix number w.r.t. mother ref. sys.", (char*)0, (char*)0, 8, 0,
03717  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
03718  &_GEANT_GEOMETRY_SPOS_IROT_type };
03719 static KmParameter _GEANT_GEOMETRY_SPOS_ONLY = { "ONLY", 4, "ONLY/MANY flag",
03720  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03721  KmTYPE_CHAR,  (void*)0 };
03722 static KmParameter *_GEANT_GEOMETRY_SPOS_parameters[] = {
03723  &_GEANT_GEOMETRY_SPOS_NAME, &_GEANT_GEOMETRY_SPOS_NUMBER,
03724  &_GEANT_GEOMETRY_SPOS_MOTHER, &_GEANT_GEOMETRY_SPOS_X0,
03725  &_GEANT_GEOMETRY_SPOS_Y0, &_GEANT_GEOMETRY_SPOS_Z0,
03726  &_GEANT_GEOMETRY_SPOS_IROT, &_GEANT_GEOMETRY_SPOS_ONLY };
03727 static char *_GEANT_GEOMETRY_SPOS_guidance[] = {
03728  " CALL GSPOS(name,number,mother,x0,y0,z0,irot,only)",
03729  "It positions a previously defined volume in the mother." };
03730 static KmCommand _GEANT_GEOMETRY_SPOS = { &_GEANT_GEOMETRY_SDVN,
03731  "/GEANT/GEOMETRY/SPOS", "SPOS", 0, 2, 8, 8, _GEANT_GEOMETRY_SPOS_parameters,
03732  0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 2,
03733  _GEANT_GEOMETRY_SPOS_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
03734  (char*)0, (int*)0 };
03735  
03736 static KmParameter _GEANT_GEOMETRY_SVOLU_NAME = { "NAME", 4, "Volume name",
03737  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03738  KmTYPE_CHAR,  (void*)0 };
03739 static KmParameter _GEANT_GEOMETRY_SVOLU_SHAPE = { "SHAPE", 5, "Volume type",
03740  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03741  KmTYPE_CHAR,  (void*)0 };
03742 static KmParInt    _GEANT_GEOMETRY_SVOLU_NUMED_type = { (char*)0, (char*)0,
03743  (char*)0, (char*)0, 0 };
03744 static KmParameter _GEANT_GEOMETRY_SVOLU_NUMED = { "NUMED", 5,
03745  "Tracking medium number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
03746  (KmParFlag)0, KmTYPE_INT, &_GEANT_GEOMETRY_SVOLU_NUMED_type };
03747 static KmParInt    _GEANT_GEOMETRY_SVOLU_NPAR_type = { (char*)0, (char*)0,
03748  (char*)0, (char*)0, 0 };
03749 static KmParameter _GEANT_GEOMETRY_SVOLU_NPAR = { "NPAR", 4,
03750  "Number of shape parameters", (char*)0, (char*)0, 8, 0, (char**)0, 0,
03751  (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_GEOMETRY_SVOLU_NPAR_type };
03752 static KmParameter _GEANT_GEOMETRY_SVOLU_PAR = { "PAR", 3,
03753  "Vector containing shape parameters", (char*)0, (char*)0, 20, 0, (char**)0,
03754  0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
03755 static KmParameter *_GEANT_GEOMETRY_SVOLU_parameters[] = {
03756  &_GEANT_GEOMETRY_SVOLU_NAME, &_GEANT_GEOMETRY_SVOLU_SHAPE,
03757  &_GEANT_GEOMETRY_SVOLU_NUMED, &_GEANT_GEOMETRY_SVOLU_NPAR,
03758  &_GEANT_GEOMETRY_SVOLU_PAR };
03759 static char *_GEANT_GEOMETRY_SVOLU_guidance[] = {
03760  " CALL GSVOLU(name,shape,numed,par,npar,ivolu)",
03761  "where par is a KUIP vector.",
03762  "It creates a new volume in the JVOLUM data structure." };
03763 static KmCommand _GEANT_GEOMETRY_SVOLU = { &_GEANT_GEOMETRY_SPOS,
03764  "/GEANT/GEOMETRY/SVOLU", "SVOLU", 0, 2, 5, 5,
03765  _GEANT_GEOMETRY_SVOLU_parameters, 0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0,
03766  (pCharFunc*)0, 3, _GEANT_GEOMETRY_SVOLU_guidance, 0, (char**)0, 0, (char**)0,
03767  0, (char**)0, (char*)0, (int*)0 };
03768  
03769 static char *_GEANT_GEOMETRY_OPTI_IOPTI_range[] = { "-1", "2" };
03770 static KmParInt    _GEANT_GEOMETRY_OPTI_IOPTI_type = { (char*)0, (char*)0,
03771  (char*)0, (char*)0, 0 };
03772 static KmParameter _GEANT_GEOMETRY_OPTI_IOPTI = { "IOPTI", 5,
03773  "GSORD optimisation level", "0", (char*)0, 8, 2,
03774  _GEANT_GEOMETRY_OPTI_IOPTI_range, 2, _GEANT_GEOMETRY_OPTI_IOPTI_range,
03775  (KmParFlag)2, KmTYPE_INT, &_GEANT_GEOMETRY_OPTI_IOPTI_type };
03776 static KmParameter *_GEANT_GEOMETRY_OPTI_parameters[] = {
03777  &_GEANT_GEOMETRY_OPTI_IOPTI };
03778 static char *_GEANT_GEOMETRY_OPTI_guidance[] = {
03779  "This flag controls the tracking optimisation performed via the",
03780  "GSORD routine:", "    1 no optimisation at all; GSORD calls disabled;",
03781  "    0 no optimisation; only user calls to GSORD kept;",
03782  "    1 all non-GSORDered volumes are ordered along the best axis;",
03783  "    2 all volumes are ordered along the best axis." };
03784 static KmCommand _GEANT_GEOMETRY_OPTI = { &_GEANT_GEOMETRY_SVOLU,
03785  "/GEANT/GEOMETRY/OPTI", "OPTI", 0, 2, 1, 1, _GEANT_GEOMETRY_OPTI_parameters,
03786  0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 6,
03787  _GEANT_GEOMETRY_OPTI_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
03788  (char*)0, (int*)0 };
03789  
03790 static KmParameter _GEANT_CREATE_SPARA_NAME = { "NAME", 4, "Volume name",
03791  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03792  KmTYPE_CHAR,  (void*)0 };
03793 static KmParInt    _GEANT_CREATE_SPARA_NUMED_type = { (char*)0, (char*)0,
03794  (char*)0, (char*)0, 0 };
03795 static KmParameter _GEANT_CREATE_SPARA_NUMED = { "NUMED", 5,
03796  "Tracking medium number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
03797  (KmParFlag)0, KmTYPE_INT, &_GEANT_CREATE_SPARA_NUMED_type };
03798 static KmParReal   _GEANT_CREATE_SPARA_HALFX_type = { (char*)0, (char*)0,
03799  (char*)0, (char*)0, 0 };
03800 static KmParameter _GEANT_CREATE_SPARA_HALFX = { "HALFX", 5, "Half X length",
03801  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03802  KmTYPE_REAL, &_GEANT_CREATE_SPARA_HALFX_type };
03803 static KmParReal   _GEANT_CREATE_SPARA_HALFY_type = { (char*)0, (char*)0,
03804  (char*)0, (char*)0, 0 };
03805 static KmParameter _GEANT_CREATE_SPARA_HALFY = { "HALFY", 5, "Half Y length",
03806  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03807  KmTYPE_REAL, &_GEANT_CREATE_SPARA_HALFY_type };
03808 static KmParReal   _GEANT_CREATE_SPARA_HALFZ_type = { (char*)0, (char*)0,
03809  (char*)0, (char*)0, 0 };
03810 static KmParameter _GEANT_CREATE_SPARA_HALFZ = { "HALFZ", 5, "Half Z length",
03811  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03812  KmTYPE_REAL, &_GEANT_CREATE_SPARA_HALFZ_type };
03813 static KmParReal   _GEANT_CREATE_SPARA_AXIS_type = { "0.", "360.", "0.",
03814  "360.", 0 };
03815 static KmParameter _GEANT_CREATE_SPARA_AXIS = { "AXIS", 4,
03816  "Angle of Y mid-faces segment to Y axis", (char*)0, (char*)0, 12, 0,
03817  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
03818  &_GEANT_CREATE_SPARA_AXIS_type };
03819 static KmParReal   _GEANT_CREATE_SPARA_PHI_type = { "0.", "360.", "0.",
03820  "360.", 0 };
03821 static KmParameter _GEANT_CREATE_SPARA_PHI = { "PHI", 3,
03822  "PHI angle of Low Z mid-face to High Z mid-face segment", (char*)0, (char*)0,
03823  12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
03824  &_GEANT_CREATE_SPARA_PHI_type };
03825 static KmParReal   _GEANT_CREATE_SPARA_THETA_type = { "0.", "360.", "0.",
03826  "360.", 0 };
03827 static KmParameter _GEANT_CREATE_SPARA_THETA = { "THETA", 5,
03828  "THETA angle of mid-low-Z-face to mid-high-Z-face segment", (char*)0,
03829  (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
03830  &_GEANT_CREATE_SPARA_THETA_type };
03831 static char *_GEANT_CREATE_SPARA_YESNO_range[] = { "YES", "NO" };
03832 static char *_GEANT_CREATE_SPARA_YESNO_text[] = { (char*)0, (char*)0 };
03833 static KmParOption _GEANT_CREATE_SPARA_YESNO_type = {
03834  _GEANT_CREATE_SPARA_YESNO_text, (int*)0, (int*)0 };
03835 static KmParameter _GEANT_CREATE_SPARA_YESNO = { "YESNO", 5, "GSPOSP option",
03836  "NO", (char*)0, 8, 2, _GEANT_CREATE_SPARA_YESNO_range, 2,
03837  _GEANT_CREATE_SPARA_YESNO_range, (KmParFlag)0, KmTYPE_OPTION,
03838  &_GEANT_CREATE_SPARA_YESNO_type };
03839 static KmParameter *_GEANT_CREATE_SPARA_parameters[] = {
03840  &_GEANT_CREATE_SPARA_NAME, &_GEANT_CREATE_SPARA_NUMED,
03841  &_GEANT_CREATE_SPARA_HALFX, &_GEANT_CREATE_SPARA_HALFY,
03842  &_GEANT_CREATE_SPARA_HALFZ, &_GEANT_CREATE_SPARA_AXIS,
03843  &_GEANT_CREATE_SPARA_PHI, &_GEANT_CREATE_SPARA_THETA,
03844  &_GEANT_CREATE_SPARA_YESNO };
03845 static KmCommand _GEANT_CREATE_SPARA = {  (KmCommand*)0,
03846  "/GEANT/CREATE/SPARA", "SPARA", 0, 2, 9, 8, _GEANT_CREATE_SPARA_parameters,
03847  0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 0, (char**)0, 0,
03848  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
03849  
03850 static KmParameter _GEANT_CREATE_SSPHE_NAME = { "NAME", 4, "Volume name",
03851  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03852  KmTYPE_CHAR,  (void*)0 };
03853 static KmParInt    _GEANT_CREATE_SSPHE_NUMED_type = { (char*)0, (char*)0,
03854  (char*)0, (char*)0, 0 };
03855 static KmParameter _GEANT_CREATE_SSPHE_NUMED = { "NUMED", 5,
03856  "Tracking medium number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
03857  (KmParFlag)0, KmTYPE_INT, &_GEANT_CREATE_SSPHE_NUMED_type };
03858 static KmParReal   _GEANT_CREATE_SSPHE_INRAD_type = { (char*)0, (char*)0,
03859  (char*)0, (char*)0, 0 };
03860 static KmParameter _GEANT_CREATE_SSPHE_INRAD = { "INRAD", 5, "Inside Radius",
03861  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03862  KmTYPE_REAL, &_GEANT_CREATE_SSPHE_INRAD_type };
03863 static KmParReal   _GEANT_CREATE_SSPHE_OUTRAD_type = { (char*)0, (char*)0,
03864  (char*)0, (char*)0, 0 };
03865 static KmParameter _GEANT_CREATE_SSPHE_OUTRAD = { "OUTRAD", 6,
03866  "Outside Radius", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
03867  (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_SSPHE_OUTRAD_type };
03868 static KmParReal   _GEANT_CREATE_SSPHE_SPHI_type = { "0.", "360.", "0.",
03869  "360.", 0 };
03870 static KmParameter _GEANT_CREATE_SSPHE_SPHI = { "SPHI", 4,
03871  "Start of section PHI", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
03872  (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_SSPHE_SPHI_type };
03873 static KmParReal   _GEANT_CREATE_SSPHE_EPHI_type = { "0.", "360.", "0.",
03874  "360.", 0 };
03875 static KmParameter _GEANT_CREATE_SSPHE_EPHI = { "EPHI", 4,
03876  "End of section PHI", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
03877  (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_SSPHE_EPHI_type };
03878 static KmParReal   _GEANT_CREATE_SSPHE_STHETA_type = { (char*)0, (char*)0,
03879  (char*)0, (char*)0, 0 };
03880 static KmParameter _GEANT_CREATE_SSPHE_STHETA = { "STHETA", 6,
03881  "Start of section THETA", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
03882  (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_SSPHE_STHETA_type };
03883 static KmParReal   _GEANT_CREATE_SSPHE_ETHETA_type = { (char*)0, (char*)0,
03884  (char*)0, (char*)0, 0 };
03885 static KmParameter _GEANT_CREATE_SSPHE_ETHETA = { "ETHETA", 6,
03886  "End of section THETA", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
03887  (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_SSPHE_ETHETA_type };
03888 static char *_GEANT_CREATE_SSPHE_YESNO_range[] = { "YES", "NO" };
03889 static char *_GEANT_CREATE_SSPHE_YESNO_text[] = { (char*)0, (char*)0 };
03890 static KmParOption _GEANT_CREATE_SSPHE_YESNO_type = {
03891  _GEANT_CREATE_SSPHE_YESNO_text, (int*)0, (int*)0 };
03892 static KmParameter _GEANT_CREATE_SSPHE_YESNO = { "YESNO", 5, "GSPOSP option",
03893  "NO", (char*)0, 8, 2, _GEANT_CREATE_SSPHE_YESNO_range, 2,
03894  _GEANT_CREATE_SSPHE_YESNO_range, (KmParFlag)0, KmTYPE_OPTION,
03895  &_GEANT_CREATE_SSPHE_YESNO_type };
03896 static KmParameter *_GEANT_CREATE_SSPHE_parameters[] = {
03897  &_GEANT_CREATE_SSPHE_NAME, &_GEANT_CREATE_SSPHE_NUMED,
03898  &_GEANT_CREATE_SSPHE_INRAD, &_GEANT_CREATE_SSPHE_OUTRAD,
03899  &_GEANT_CREATE_SSPHE_SPHI, &_GEANT_CREATE_SSPHE_EPHI,
03900  &_GEANT_CREATE_SSPHE_STHETA, &_GEANT_CREATE_SSPHE_ETHETA,
03901  &_GEANT_CREATE_SSPHE_YESNO };
03902 static KmCommand _GEANT_CREATE_SSPHE = { &_GEANT_CREATE_SPARA,
03903  "/GEANT/CREATE/SSPHE", "SSPHE", 0, 2, 9, 8, _GEANT_CREATE_SSPHE_parameters,
03904  0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 0, (char**)0, 0,
03905  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
03906  
03907 static KmParameter _GEANT_CREATE_SCONS_NAME = { "NAME", 4, "Volume name",
03908  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03909  KmTYPE_CHAR,  (void*)0 };
03910 static KmParInt    _GEANT_CREATE_SCONS_NUMED_type = { (char*)0, (char*)0,
03911  (char*)0, (char*)0, 0 };
03912 static KmParameter _GEANT_CREATE_SCONS_NUMED = { "NUMED", 5,
03913  "Tracking medium number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
03914  (KmParFlag)0, KmTYPE_INT, &_GEANT_CREATE_SCONS_NUMED_type };
03915 static KmParReal   _GEANT_CREATE_SCONS_INRDW_type = { (char*)0, (char*)0,
03916  (char*)0, (char*)0, 0 };
03917 static KmParameter _GEANT_CREATE_SCONS_INRDW = { "INRDW", 5,
03918  "Inside Radius in Lower Z Surface", (char*)0, (char*)0, 12, 0, (char**)0, 0,
03919  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_SCONS_INRDW_type };
03920 static KmParReal   _GEANT_CREATE_SCONS_OUTRDW_type = { (char*)0, (char*)0,
03921  (char*)0, (char*)0, 0 };
03922 static KmParameter _GEANT_CREATE_SCONS_OUTRDW = { "OUTRDW", 6,
03923  "Outside Radius in Lower Z Surface", (char*)0, (char*)0, 12, 0, (char**)0, 0,
03924  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_SCONS_OUTRDW_type };
03925 static KmParReal   _GEANT_CREATE_SCONS_INRUP_type = { (char*)0, (char*)0,
03926  (char*)0, (char*)0, 0 };
03927 static KmParameter _GEANT_CREATE_SCONS_INRUP = { "INRUP", 5,
03928  "Inside Radius in Upper Z Surface", (char*)0, (char*)0, 12, 0, (char**)0, 0,
03929  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_SCONS_INRUP_type };
03930 static KmParReal   _GEANT_CREATE_SCONS_OUTRUP_type = { (char*)0, (char*)0,
03931  (char*)0, (char*)0, 0 };
03932 static KmParameter _GEANT_CREATE_SCONS_OUTRUP = { "OUTRUP", 6,
03933  "Outside Radius in Upper Z Surface", (char*)0, (char*)0, 12, 0, (char**)0, 0,
03934  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_SCONS_OUTRUP_type };
03935 static KmParReal   _GEANT_CREATE_SCONS_HALFZ_type = { (char*)0, (char*)0,
03936  (char*)0, (char*)0, 0 };
03937 static KmParameter _GEANT_CREATE_SCONS_HALFZ = { "HALFZ", 5, "Half Z length",
03938  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03939  KmTYPE_REAL, &_GEANT_CREATE_SCONS_HALFZ_type };
03940 static KmParReal   _GEANT_CREATE_SCONS_SPHI_type = { "0.", "360.", "0.",
03941  "360.", 0 };
03942 static KmParameter _GEANT_CREATE_SCONS_SPHI = { "SPHI", 4,
03943  "Start of section PHI", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
03944  (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_SCONS_SPHI_type };
03945 static KmParReal   _GEANT_CREATE_SCONS_EPHI_type = { "0.", "360.", "0.",
03946  "360.", 0 };
03947 static KmParameter _GEANT_CREATE_SCONS_EPHI = { "EPHI", 4,
03948  "End of section PHI", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
03949  (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_SCONS_EPHI_type };
03950 static char *_GEANT_CREATE_SCONS_YESNO_range[] = { "YES", "NO" };
03951 static char *_GEANT_CREATE_SCONS_YESNO_text[] = { (char*)0, (char*)0 };
03952 static KmParOption _GEANT_CREATE_SCONS_YESNO_type = {
03953  _GEANT_CREATE_SCONS_YESNO_text, (int*)0, (int*)0 };
03954 static KmParameter _GEANT_CREATE_SCONS_YESNO = { "YESNO", 5, "GSPOSP option",
03955  "NO", (char*)0, 8, 2, _GEANT_CREATE_SCONS_YESNO_range, 2,
03956  _GEANT_CREATE_SCONS_YESNO_range, (KmParFlag)0, KmTYPE_OPTION,
03957  &_GEANT_CREATE_SCONS_YESNO_type };
03958 static KmParameter *_GEANT_CREATE_SCONS_parameters[] = {
03959  &_GEANT_CREATE_SCONS_NAME, &_GEANT_CREATE_SCONS_NUMED,
03960  &_GEANT_CREATE_SCONS_INRDW, &_GEANT_CREATE_SCONS_OUTRDW,
03961  &_GEANT_CREATE_SCONS_INRUP, &_GEANT_CREATE_SCONS_OUTRUP,
03962  &_GEANT_CREATE_SCONS_HALFZ, &_GEANT_CREATE_SCONS_SPHI,
03963  &_GEANT_CREATE_SCONS_EPHI, &_GEANT_CREATE_SCONS_YESNO };
03964 static KmCommand _GEANT_CREATE_SCONS = { &_GEANT_CREATE_SSPHE,
03965  "/GEANT/CREATE/SCONS", "SCONS", 0, 2, 10, 9, _GEANT_CREATE_SCONS_parameters,
03966  0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 0, (char**)0, 0,
03967  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
03968  
03969 static KmParameter _GEANT_CREATE_SCONE_NAME = { "NAME", 4, "Volume name",
03970  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03971  KmTYPE_CHAR,  (void*)0 };
03972 static KmParInt    _GEANT_CREATE_SCONE_NUMED_type = { (char*)0, (char*)0,
03973  (char*)0, (char*)0, 0 };
03974 static KmParameter _GEANT_CREATE_SCONE_NUMED = { "NUMED", 5,
03975  "Tracking medium number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
03976  (KmParFlag)0, KmTYPE_INT, &_GEANT_CREATE_SCONE_NUMED_type };
03977 static KmParReal   _GEANT_CREATE_SCONE_INRDW_type = { (char*)0, (char*)0,
03978  (char*)0, (char*)0, 0 };
03979 static KmParameter _GEANT_CREATE_SCONE_INRDW = { "INRDW", 5,
03980  "Inside Radius in Lower Z Surface", (char*)0, (char*)0, 12, 0, (char**)0, 0,
03981  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_SCONE_INRDW_type };
03982 static KmParReal   _GEANT_CREATE_SCONE_OUTRDW_type = { (char*)0, (char*)0,
03983  (char*)0, (char*)0, 0 };
03984 static KmParameter _GEANT_CREATE_SCONE_OUTRDW = { "OUTRDW", 6,
03985  "Outside Radius in Lower Z Surface", (char*)0, (char*)0, 12, 0, (char**)0, 0,
03986  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_SCONE_OUTRDW_type };
03987 static KmParReal   _GEANT_CREATE_SCONE_INRUP_type = { (char*)0, (char*)0,
03988  (char*)0, (char*)0, 0 };
03989 static KmParameter _GEANT_CREATE_SCONE_INRUP = { "INRUP", 5,
03990  "Inside Radius in Upper Z Surface", (char*)0, (char*)0, 12, 0, (char**)0, 0,
03991  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_SCONE_INRUP_type };
03992 static KmParReal   _GEANT_CREATE_SCONE_OUTRUP_type = { (char*)0, (char*)0,
03993  (char*)0, (char*)0, 0 };
03994 static KmParameter _GEANT_CREATE_SCONE_OUTRUP = { "OUTRUP", 6,
03995  "Outside Radius in Upper Z Surface", (char*)0, (char*)0, 12, 0, (char**)0, 0,
03996  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_SCONE_OUTRUP_type };
03997 static KmParReal   _GEANT_CREATE_SCONE_HALFZ_type = { (char*)0, (char*)0,
03998  (char*)0, (char*)0, 0 };
03999 static KmParameter _GEANT_CREATE_SCONE_HALFZ = { "HALFZ", 5, "Half Z length",
04000  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04001  KmTYPE_REAL, &_GEANT_CREATE_SCONE_HALFZ_type };
04002 static char *_GEANT_CREATE_SCONE_YESNO_range[] = { "YES", "NO" };
04003 static char *_GEANT_CREATE_SCONE_YESNO_text[] = { (char*)0, (char*)0 };
04004 static KmParOption _GEANT_CREATE_SCONE_YESNO_type = {
04005  _GEANT_CREATE_SCONE_YESNO_text, (int*)0, (int*)0 };
04006 static KmParameter _GEANT_CREATE_SCONE_YESNO = { "YESNO", 5, "GSPOSP option",
04007  "NO", (char*)0, 8, 2, _GEANT_CREATE_SCONE_YESNO_range, 2,
04008  _GEANT_CREATE_SCONE_YESNO_range, (KmParFlag)0, KmTYPE_OPTION,
04009  &_GEANT_CREATE_SCONE_YESNO_type };
04010 static KmParameter *_GEANT_CREATE_SCONE_parameters[] = {
04011  &_GEANT_CREATE_SCONE_NAME, &_GEANT_CREATE_SCONE_NUMED,
04012  &_GEANT_CREATE_SCONE_INRDW, &_GEANT_CREATE_SCONE_OUTRDW,
04013  &_GEANT_CREATE_SCONE_INRUP, &_GEANT_CREATE_SCONE_OUTRUP,
04014  &_GEANT_CREATE_SCONE_HALFZ, &_GEANT_CREATE_SCONE_YESNO };
04015 static KmCommand _GEANT_CREATE_SCONE = { &_GEANT_CREATE_SCONS,
04016  "/GEANT/CREATE/SCONE", "SCONE", 0, 2, 8, 7, _GEANT_CREATE_SCONE_parameters,
04017  0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 0, (char**)0, 0,
04018  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
04019  
04020 static KmParameter _GEANT_CREATE_STUBS_NAME = { "NAME", 4, "Volume name",
04021  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04022  KmTYPE_CHAR,  (void*)0 };
04023 static KmParInt    _GEANT_CREATE_STUBS_NUMED_type = { (char*)0, (char*)0,
04024  (char*)0, (char*)0, 0 };
04025 static KmParameter _GEANT_CREATE_STUBS_NUMED = { "NUMED", 5,
04026  "Tracking medium number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
04027  (KmParFlag)0, KmTYPE_INT, &_GEANT_CREATE_STUBS_NUMED_type };
04028 static KmParReal   _GEANT_CREATE_STUBS_INRAD_type = { (char*)0, (char*)0,
04029  (char*)0, (char*)0, 0 };
04030 static KmParameter _GEANT_CREATE_STUBS_INRAD = { "INRAD", 5, "Inside Radius",
04031  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04032  KmTYPE_REAL, &_GEANT_CREATE_STUBS_INRAD_type };
04033 static KmParReal   _GEANT_CREATE_STUBS_OUTRAD_type = { (char*)0, (char*)0,
04034  (char*)0, (char*)0, 0 };
04035 static KmParameter _GEANT_CREATE_STUBS_OUTRAD = { "OUTRAD", 6,
04036  "Outside Radius", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
04037  (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_STUBS_OUTRAD_type };
04038 static KmParReal   _GEANT_CREATE_STUBS_HALFZ_type = { (char*)0, (char*)0,
04039  (char*)0, (char*)0, 0 };
04040 static KmParameter _GEANT_CREATE_STUBS_HALFZ = { "HALFZ", 5, "Half Z length",
04041  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04042  KmTYPE_REAL, &_GEANT_CREATE_STUBS_HALFZ_type };
04043 static KmParReal   _GEANT_CREATE_STUBS_SPHI_type = { "0.", "360.", "0.",
04044  "360.", 0 };
04045 static KmParameter _GEANT_CREATE_STUBS_SPHI = { "SPHI", 4,
04046  "Start of section PHI", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
04047  (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_STUBS_SPHI_type };
04048 static KmParReal   _GEANT_CREATE_STUBS_EPHI_type = { "0.", "360.", "0.",
04049  "360.", 0 };
04050 static KmParameter _GEANT_CREATE_STUBS_EPHI = { "EPHI", 4,
04051  "End of section PHI", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
04052  (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_STUBS_EPHI_type };
04053 static char *_GEANT_CREATE_STUBS_YESNO_range[] = { "YES", "NO" };
04054 static char *_GEANT_CREATE_STUBS_YESNO_text[] = { (char*)0, (char*)0 };
04055 static KmParOption _GEANT_CREATE_STUBS_YESNO_type = {
04056  _GEANT_CREATE_STUBS_YESNO_text, (int*)0, (int*)0 };
04057 static KmParameter _GEANT_CREATE_STUBS_YESNO = { "YESNO", 5, "GSPOSP option",
04058  "NO", (char*)0, 8, 2, _GEANT_CREATE_STUBS_YESNO_range, 2,
04059  _GEANT_CREATE_STUBS_YESNO_range, (KmParFlag)0, KmTYPE_OPTION,
04060  &_GEANT_CREATE_STUBS_YESNO_type };
04061 static KmParameter *_GEANT_CREATE_STUBS_parameters[] = {
04062  &_GEANT_CREATE_STUBS_NAME, &_GEANT_CREATE_STUBS_NUMED,
04063  &_GEANT_CREATE_STUBS_INRAD, &_GEANT_CREATE_STUBS_OUTRAD,
04064  &_GEANT_CREATE_STUBS_HALFZ, &_GEANT_CREATE_STUBS_SPHI,
04065  &_GEANT_CREATE_STUBS_EPHI, &_GEANT_CREATE_STUBS_YESNO };
04066 static KmCommand _GEANT_CREATE_STUBS = { &_GEANT_CREATE_SCONE,
04067  "/GEANT/CREATE/STUBS", "STUBS", 0, 2, 8, 7, _GEANT_CREATE_STUBS_parameters,
04068  0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 0, (char**)0, 0,
04069  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
04070  
04071 static KmParameter _GEANT_CREATE_STUBE_NAME = { "NAME", 4, "Volume name",
04072  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04073  KmTYPE_CHAR,  (void*)0 };
04074 static KmParInt    _GEANT_CREATE_STUBE_NUMED_type = { (char*)0, (char*)0,
04075  (char*)0, (char*)0, 0 };
04076 static KmParameter _GEANT_CREATE_STUBE_NUMED = { "NUMED", 5,
04077  "Tracking medium number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
04078  (KmParFlag)0, KmTYPE_INT, &_GEANT_CREATE_STUBE_NUMED_type };
04079 static KmParReal   _GEANT_CREATE_STUBE_INRAD_type = { (char*)0, (char*)0,
04080  (char*)0, (char*)0, 0 };
04081 static KmParameter _GEANT_CREATE_STUBE_INRAD = { "INRAD", 5, "Inside Radius",
04082  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04083  KmTYPE_REAL, &_GEANT_CREATE_STUBE_INRAD_type };
04084 static KmParReal   _GEANT_CREATE_STUBE_OUTRAD_type = { (char*)0, (char*)0,
04085  (char*)0, (char*)0, 0 };
04086 static KmParameter _GEANT_CREATE_STUBE_OUTRAD = { "OUTRAD", 6,
04087  "Outside Radius", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
04088  (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_STUBE_OUTRAD_type };
04089 static KmParReal   _GEANT_CREATE_STUBE_HALFZ_type = { (char*)0, (char*)0,
04090  (char*)0, (char*)0, 0 };
04091 static KmParameter _GEANT_CREATE_STUBE_HALFZ = { "HALFZ", 5, "Half Z length",
04092  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04093  KmTYPE_REAL, &_GEANT_CREATE_STUBE_HALFZ_type };
04094 static char *_GEANT_CREATE_STUBE_YESNO_range[] = { "YES", "NO" };
04095 static char *_GEANT_CREATE_STUBE_YESNO_text[] = { (char*)0, (char*)0 };
04096 static KmParOption _GEANT_CREATE_STUBE_YESNO_type = {
04097  _GEANT_CREATE_STUBE_YESNO_text, (int*)0, (int*)0 };
04098 static KmParameter _GEANT_CREATE_STUBE_YESNO = { "YESNO", 5, "GSPOSP option",
04099  "NO", (char*)0, 8, 2, _GEANT_CREATE_STUBE_YESNO_range, 2,
04100  _GEANT_CREATE_STUBE_YESNO_range, (KmParFlag)0, KmTYPE_OPTION,
04101  &_GEANT_CREATE_STUBE_YESNO_type };
04102 static KmParameter *_GEANT_CREATE_STUBE_parameters[] = {
04103  &_GEANT_CREATE_STUBE_NAME, &_GEANT_CREATE_STUBE_NUMED,
04104  &_GEANT_CREATE_STUBE_INRAD, &_GEANT_CREATE_STUBE_OUTRAD,
04105  &_GEANT_CREATE_STUBE_HALFZ, &_GEANT_CREATE_STUBE_YESNO };
04106 static KmCommand _GEANT_CREATE_STUBE = { &_GEANT_CREATE_STUBS,
04107  "/GEANT/CREATE/STUBE", "STUBE", 0, 2, 6, 5, _GEANT_CREATE_STUBE_parameters,
04108  0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 0, (char**)0, 0,
04109  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
04110  
04111 static KmParameter _GEANT_CREATE_STRD2_NAME = { "NAME", 4, "Volume name",
04112  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04113  KmTYPE_CHAR,  (void*)0 };
04114 static KmParInt    _GEANT_CREATE_STRD2_NUMED_type = { (char*)0, (char*)0,
04115  (char*)0, (char*)0, 0 };
04116 static KmParameter _GEANT_CREATE_STRD2_NUMED = { "NUMED", 5,
04117  "Tracking medium number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
04118  (KmParFlag)0, KmTYPE_INT, &_GEANT_CREATE_STRD2_NUMED_type };
04119 static KmParReal   _GEANT_CREATE_STRD2_HLFDWX_type = { (char*)0, (char*)0,
04120  (char*)0, (char*)0, 0 };
04121 static KmParameter _GEANT_CREATE_STRD2_HLFDWX = { "HLFDWX", 6,
04122  "Half X length in Lower Z Surface", (char*)0, (char*)0, 12, 0, (char**)0, 0,
04123  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_STRD2_HLFDWX_type };
04124 static KmParReal   _GEANT_CREATE_STRD2_HLFUPX_type = { (char*)0, (char*)0,
04125  (char*)0, (char*)0, 0 };
04126 static KmParameter _GEANT_CREATE_STRD2_HLFUPX = { "HLFUPX", 6,
04127  "Half X length in Upper Z Surface", (char*)0, (char*)0, 12, 0, (char**)0, 0,
04128  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_STRD2_HLFUPX_type };
04129 static KmParReal   _GEANT_CREATE_STRD2_HLFDWY_type = { (char*)0, (char*)0,
04130  (char*)0, (char*)0, 0 };
04131 static KmParameter _GEANT_CREATE_STRD2_HLFDWY = { "HLFDWY", 6,
04132  "Half Y length in Lower Z Surface", (char*)0, (char*)0, 12, 0, (char**)0, 0,
04133  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_STRD2_HLFDWY_type };
04134 static KmParReal   _GEANT_CREATE_STRD2_HLFUPY_type = { (char*)0, (char*)0,
04135  (char*)0, (char*)0, 0 };
04136 static KmParameter _GEANT_CREATE_STRD2_HLFUPY = { "HLFUPY", 6,
04137  "Half Y length in Upper Z Surface", (char*)0, (char*)0, 12, 0, (char**)0, 0,
04138  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_STRD2_HLFUPY_type };
04139 static KmParReal   _GEANT_CREATE_STRD2_HALFZ_type = { (char*)0, (char*)0,
04140  (char*)0, (char*)0, 0 };
04141 static KmParameter _GEANT_CREATE_STRD2_HALFZ = { "HALFZ", 5, "Half Z length",
04142  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04143  KmTYPE_REAL, &_GEANT_CREATE_STRD2_HALFZ_type };
04144 static char *_GEANT_CREATE_STRD2_YESNO_range[] = { "YES", "NO" };
04145 static char *_GEANT_CREATE_STRD2_YESNO_text[] = { (char*)0, (char*)0 };
04146 static KmParOption _GEANT_CREATE_STRD2_YESNO_type = {
04147  _GEANT_CREATE_STRD2_YESNO_text, (int*)0, (int*)0 };
04148 static KmParameter _GEANT_CREATE_STRD2_YESNO = { "YESNO", 5, "GSPOSP option",
04149  "NO", (char*)0, 8, 2, _GEANT_CREATE_STRD2_YESNO_range, 2,
04150  _GEANT_CREATE_STRD2_YESNO_range, (KmParFlag)0, KmTYPE_OPTION,
04151  &_GEANT_CREATE_STRD2_YESNO_type };
04152 static KmParameter *_GEANT_CREATE_STRD2_parameters[] = {
04153  &_GEANT_CREATE_STRD2_NAME, &_GEANT_CREATE_STRD2_NUMED,
04154  &_GEANT_CREATE_STRD2_HLFDWX, &_GEANT_CREATE_STRD2_HLFUPX,
04155  &_GEANT_CREATE_STRD2_HLFDWY, &_GEANT_CREATE_STRD2_HLFUPY,
04156  &_GEANT_CREATE_STRD2_HALFZ, &_GEANT_CREATE_STRD2_YESNO };
04157 static KmCommand _GEANT_CREATE_STRD2 = { &_GEANT_CREATE_STUBE,
04158  "/GEANT/CREATE/STRD2", "STRD2", 0, 2, 8, 7, _GEANT_CREATE_STRD2_parameters,
04159  0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 0, (char**)0, 0,
04160  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
04161  
04162 static KmParameter _GEANT_CREATE_STRD1_NAME = { "NAME", 4, "Volume name",
04163  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04164  KmTYPE_CHAR,  (void*)0 };
04165 static KmParInt    _GEANT_CREATE_STRD1_NUMED_type = { (char*)0, (char*)0,
04166  (char*)0, (char*)0, 0 };
04167 static KmParameter _GEANT_CREATE_STRD1_NUMED = { "NUMED", 5,
04168  "Tracking medium number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
04169  (KmParFlag)0, KmTYPE_INT, &_GEANT_CREATE_STRD1_NUMED_type };
04170 static KmParReal   _GEANT_CREATE_STRD1_HLFDWX_type = { (char*)0, (char*)0,
04171  (char*)0, (char*)0, 0 };
04172 static KmParameter _GEANT_CREATE_STRD1_HLFDWX = { "HLFDWX", 6,
04173  "Half X length in Lower Z Surface", (char*)0, (char*)0, 12, 0, (char**)0, 0,
04174  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_STRD1_HLFDWX_type };
04175 static KmParReal   _GEANT_CREATE_STRD1_HLFUPX_type = { (char*)0, (char*)0,
04176  (char*)0, (char*)0, 0 };
04177 static KmParameter _GEANT_CREATE_STRD1_HLFUPX = { "HLFUPX", 6,
04178  "Half X length in Upper Z Surface", (char*)0, (char*)0, 12, 0, (char**)0, 0,
04179  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CREATE_STRD1_HLFUPX_type };
04180 static KmParReal   _GEANT_CREATE_STRD1_HALFY_type = { (char*)0, (char*)0,
04181  (char*)0, (char*)0, 0 };
04182 static KmParameter _GEANT_CREATE_STRD1_HALFY = { "HALFY", 5, "Half Y length",
04183  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04184  KmTYPE_REAL, &_GEANT_CREATE_STRD1_HALFY_type };
04185 static KmParReal   _GEANT_CREATE_STRD1_HALFZ_type = { (char*)0, (char*)0,
04186  (char*)0, (char*)0, 0 };
04187 static KmParameter _GEANT_CREATE_STRD1_HALFZ = { "HALFZ", 5, "Half Z length",
04188  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04189  KmTYPE_REAL, &_GEANT_CREATE_STRD1_HALFZ_type };
04190 static char *_GEANT_CREATE_STRD1_YESNO_range[] = { "YES", "NO" };
04191 static char *_GEANT_CREATE_STRD1_YESNO_text[] = { (char*)0, (char*)0 };
04192 static KmParOption _GEANT_CREATE_STRD1_YESNO_type = {
04193  _GEANT_CREATE_STRD1_YESNO_text, (int*)0, (int*)0 };
04194 static KmParameter _GEANT_CREATE_STRD1_YESNO = { "YESNO", 5, "GSPOSP option",
04195  "NO", (char*)0, 8, 2, _GEANT_CREATE_STRD1_YESNO_range, 2,
04196  _GEANT_CREATE_STRD1_YESNO_range, (KmParFlag)0, KmTYPE_OPTION,
04197  &_GEANT_CREATE_STRD1_YESNO_type };
04198 static KmParameter *_GEANT_CREATE_STRD1_parameters[] = {
04199  &_GEANT_CREATE_STRD1_NAME, &_GEANT_CREATE_STRD1_NUMED,
04200  &_GEANT_CREATE_STRD1_HLFDWX, &_GEANT_CREATE_STRD1_HLFUPX,
04201  &_GEANT_CREATE_STRD1_HALFY, &_GEANT_CREATE_STRD1_HALFZ,
04202  &_GEANT_CREATE_STRD1_YESNO };
04203 static KmCommand _GEANT_CREATE_STRD1 = { &_GEANT_CREATE_STRD2,
04204  "/GEANT/CREATE/STRD1", "STRD1", 0, 2, 7, 6, _GEANT_CREATE_STRD1_parameters,
04205  0, 0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 0, (char**)0, 0,
04206  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
04207  
04208 static KmParameter _GEANT_CREATE_SBOX_NAME = { "NAME", 4, "Volume name",
04209  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04210  KmTYPE_CHAR,  (void*)0 };
04211 static KmParInt    _GEANT_CREATE_SBOX_NUMED_type = { (char*)0, (char*)0,
04212  (char*)0, (char*)0, 0 };
04213 static KmParameter _GEANT_CREATE_SBOX_NUMED = { "NUMED", 5,
04214  "Tracking medium number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
04215  (KmParFlag)0, KmTYPE_INT, &_GEANT_CREATE_SBOX_NUMED_type };
04216 static KmParReal   _GEANT_CREATE_SBOX_HALFX_type = { (char*)0, (char*)0,
04217  (char*)0, (char*)0, 0 };
04218 static KmParameter _GEANT_CREATE_SBOX_HALFX = { "HALFX", 5, "Half X length",
04219  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04220  KmTYPE_REAL, &_GEANT_CREATE_SBOX_HALFX_type };
04221 static KmParReal   _GEANT_CREATE_SBOX_HALFY_type = { (char*)0, (char*)0,
04222  (char*)0, (char*)0, 0 };
04223 static KmParameter _GEANT_CREATE_SBOX_HALFY = { "HALFY", 5, "Half Y length",
04224  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04225  KmTYPE_REAL, &_GEANT_CREATE_SBOX_HALFY_type };
04226 static KmParReal   _GEANT_CREATE_SBOX_HALFZ_type = { (char*)0, (char*)0,
04227  (char*)0, (char*)0, 0 };
04228 static KmParameter _GEANT_CREATE_SBOX_HALFZ = { "HALFZ", 5, "Half Z length",
04229  (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
04230  KmTYPE_REAL, &_GEANT_CREATE_SBOX_HALFZ_type };
04231 static char *_GEANT_CREATE_SBOX_YESNO_range[] = { "YES", "NO" };
04232 static char *_GEANT_CREATE_SBOX_YESNO_text[] = { (char*)0, (char*)0 };
04233 static KmParOption _GEANT_CREATE_SBOX_YESNO_type = {
04234  _GEANT_CREATE_SBOX_YESNO_text, (int*)0, (int*)0 };
04235 static KmParameter _GEANT_CREATE_SBOX_YESNO = { "YESNO", 5, "GSPOSP option",
04236  "NO", (char*)0, 8, 2, _GEANT_CREATE_SBOX_YESNO_range, 2,
04237  _GEANT_CREATE_SBOX_YESNO_range, (KmParFlag)0, KmTYPE_OPTION,
04238  &_GEANT_CREATE_SBOX_YESNO_type };
04239 static KmParameter *_GEANT_CREATE_SBOX_parameters[] = {
04240  &_GEANT_CREATE_SBOX_NAME, &_GEANT_CREATE_SBOX_NUMED,
04241  &_GEANT_CREATE_SBOX_HALFX, &_GEANT_CREATE_SBOX_HALFY,
04242  &_GEANT_CREATE_SBOX_HALFZ, &_GEANT_CREATE_SBOX_YESNO };
04243 static KmCommand _GEANT_CREATE_SBOX = { &_GEANT_CREATE_STRD1,
04244  "/GEANT/CREATE/SBOX", "SBOX", 0, 2, 6, 5, _GEANT_CREATE_SBOX_parameters, 0,
04245  0, gxgeom_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 0, (char**)0, 0,
04246  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
04247  
04248 static char *_GEANT_CREATE_guidance[] = {
04249  "It creates volumes of the given shape interactively.",
04250  "CALL GSVOLU(name,shape,numed,par,npar,ivolu)", "where par is a KUIP vector"
04251  };
04252 static KmMenu _GEANT_CREATE = {  (KmMenu*)0,  (KmMenu*)0, "/GEANT/CREATE",
04253  "CREATE", 2, &_GEANT_CREATE_SBOX, 3, _GEANT_CREATE_guidance, 0, (char**)0, 0,
04254  (char**)0 };
04255  
04256 static char *_GEANT_GEOMETRY_guidance[] = { "Geometry commands." };
04257 static KmMenu _GEANT_GEOMETRY = { &_GEANT_CREATE,  (KmMenu*)0,
04258  "/GEANT/GEOMETRY", "GEOMETRY", 2, &_GEANT_GEOMETRY_OPTI, 1,
04259  _GEANT_GEOMETRY_guidance, 0, (char**)0, 0, (char**)0 };
04260  
04261 static KmMenu _GEANT = {  (KmMenu*)0, &_GEANT_GEOMETRY, "/GEANT", "GEANT", 1,
04262  (KmCommand*)0, 0, (char**)0, 0, (char**)0, 0, (char**)0 };
04263  
04264   klnkmenu( &_GEANT, 950303 );
04265 }

void gklist_ (  ) 

Definition at line 2421 of file g321x.c.

References gkgeom_(), gxgeom_(), klnkmenu(), and KmTYPE_CHAR.

Referenced by gkfort_(), and gkgcon_().

02422 {
02423  
02424 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_1 = { "LRSAVE_1", 8, "user word",
02425  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02426  KmTYPE_CHAR,  (void*)0 };
02427 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_2 = { "LRSAVE_2", 8, "user word",
02428  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02429  KmTYPE_CHAR,  (void*)0 };
02430 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_3 = { "LRSAVE_3", 8, "user word",
02431  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02432  KmTYPE_CHAR,  (void*)0 };
02433 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_4 = { "LRSAVE_4", 8, "user word",
02434  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02435  KmTYPE_CHAR,  (void*)0 };
02436 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_5 = { "LRSAVE_5", 8, "user word",
02437  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02438  KmTYPE_CHAR,  (void*)0 };
02439 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_6 = { "LRSAVE_6", 8, "user word",
02440  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02441  KmTYPE_CHAR,  (void*)0 };
02442 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_7 = { "LRSAVE_7", 8, "user word",
02443  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02444  KmTYPE_CHAR,  (void*)0 };
02445 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_8 = { "LRSAVE_8", 8, "user word",
02446  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02447  KmTYPE_CHAR,  (void*)0 };
02448 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_9 = { "LRSAVE_9", 8, "user word",
02449  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02450  KmTYPE_CHAR,  (void*)0 };
02451 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_10 = { "LRSAVE_10", 9,
02452  "user word", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
02453  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
02454 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_11 = { "LRSAVE_11", 9,
02455  "user word", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
02456  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
02457 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_12 = { "LRSAVE_12", 9,
02458  "user word", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
02459  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
02460 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_13 = { "LRSAVE_13", 9,
02461  "user word", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
02462  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
02463 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_14 = { "LRSAVE_14", 9,
02464  "user word", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
02465  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
02466 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_15 = { "LRSAVE_15", 9,
02467  "user word", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
02468  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
02469 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_16 = { "LRSAVE_16", 9,
02470  "user word", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
02471  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
02472 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_17 = { "LRSAVE_17", 9,
02473  "user word", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
02474  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
02475 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_18 = { "LRSAVE_18", 9,
02476  "user word", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
02477  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
02478 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_19 = { "LRSAVE_19", 9,
02479  "user word", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
02480  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
02481 static KmParameter _GEANT_LISTS_RSAV_LRSAVE_20 = { "LRSAVE_20", 9,
02482  "user word", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
02483  (KmParFlag)0, KmTYPE_CHAR,  (void*)0 };
02484 static KmParameter *_GEANT_LISTS_RSAV_parameters[] = {
02485  &_GEANT_LISTS_RSAV_LRSAVE_1, &_GEANT_LISTS_RSAV_LRSAVE_2,
02486  &_GEANT_LISTS_RSAV_LRSAVE_3, &_GEANT_LISTS_RSAV_LRSAVE_4,
02487  &_GEANT_LISTS_RSAV_LRSAVE_5, &_GEANT_LISTS_RSAV_LRSAVE_6,
02488  &_GEANT_LISTS_RSAV_LRSAVE_7, &_GEANT_LISTS_RSAV_LRSAVE_8,
02489  &_GEANT_LISTS_RSAV_LRSAVE_9, &_GEANT_LISTS_RSAV_LRSAVE_10,
02490  &_GEANT_LISTS_RSAV_LRSAVE_11, &_GEANT_LISTS_RSAV_LRSAVE_12,
02491  &_GEANT_LISTS_RSAV_LRSAVE_13, &_GEANT_LISTS_RSAV_LRSAVE_14,
02492  &_GEANT_LISTS_RSAV_LRSAVE_15, &_GEANT_LISTS_RSAV_LRSAVE_16,
02493  &_GEANT_LISTS_RSAV_LRSAVE_17, &_GEANT_LISTS_RSAV_LRSAVE_18,
02494  &_GEANT_LISTS_RSAV_LRSAVE_19, &_GEANT_LISTS_RSAV_LRSAVE_20 };
02495 static char *_GEANT_LISTS_RSAV_guidance[] = {
02496  "The command RSAV is similar to the RSAV data records. It can accept",
02497  "up to 20 4-character words. If the first argument is '.', the number",
02498  "of words is reset to 0 and all the words to four blanks." };
02499 static KmCommand _GEANT_LISTS_RSAV = {  (KmCommand*)0, "/GEANT/LISTS/RSAV",
02500  "RSAV", 0, 2, 20, 0, _GEANT_LISTS_RSAV_parameters, 0, 0, gxlist_,
02501  (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3, _GEANT_LISTS_RSAV_guidance, 0,
02502  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
02503  
02504 static KmParameter _GEANT_LISTS_RGET_LRGET_1 = { "LRGET_1", 7, "user word",
02505  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02506  KmTYPE_CHAR,  (void*)0 };
02507 static KmParameter _GEANT_LISTS_RGET_LRGET_2 = { "LRGET_2", 7, "user word",
02508  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02509  KmTYPE_CHAR,  (void*)0 };
02510 static KmParameter _GEANT_LISTS_RGET_LRGET_3 = { "LRGET_3", 7, "user word",
02511  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02512  KmTYPE_CHAR,  (void*)0 };
02513 static KmParameter _GEANT_LISTS_RGET_LRGET_4 = { "LRGET_4", 7, "user word",
02514  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02515  KmTYPE_CHAR,  (void*)0 };
02516 static KmParameter _GEANT_LISTS_RGET_LRGET_5 = { "LRGET_5", 7, "user word",
02517  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02518  KmTYPE_CHAR,  (void*)0 };
02519 static KmParameter _GEANT_LISTS_RGET_LRGET_6 = { "LRGET_6", 7, "user word",
02520  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02521  KmTYPE_CHAR,  (void*)0 };
02522 static KmParameter _GEANT_LISTS_RGET_LRGET_7 = { "LRGET_7", 7, "user word",
02523  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02524  KmTYPE_CHAR,  (void*)0 };
02525 static KmParameter _GEANT_LISTS_RGET_LRGET_8 = { "LRGET_8", 7, "user word",
02526  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02527  KmTYPE_CHAR,  (void*)0 };
02528 static KmParameter _GEANT_LISTS_RGET_LRGET_9 = { "LRGET_9", 7, "user word",
02529  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02530  KmTYPE_CHAR,  (void*)0 };
02531 static KmParameter _GEANT_LISTS_RGET_LRGET_10 = { "LRGET_10", 8, "user word",
02532  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02533  KmTYPE_CHAR,  (void*)0 };
02534 static KmParameter _GEANT_LISTS_RGET_LRGET_11 = { "LRGET_11", 8, "user word",
02535  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02536  KmTYPE_CHAR,  (void*)0 };
02537 static KmParameter _GEANT_LISTS_RGET_LRGET_12 = { "LRGET_12", 8, "user word",
02538  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02539  KmTYPE_CHAR,  (void*)0 };
02540 static KmParameter _GEANT_LISTS_RGET_LRGET_13 = { "LRGET_13", 8, "user word",
02541  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02542  KmTYPE_CHAR,  (void*)0 };
02543 static KmParameter _GEANT_LISTS_RGET_LRGET_14 = { "LRGET_14", 8, "user word",
02544  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02545  KmTYPE_CHAR,  (void*)0 };
02546 static KmParameter _GEANT_LISTS_RGET_LRGET_15 = { "LRGET_15", 8, "user word",
02547  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02548  KmTYPE_CHAR,  (void*)0 };
02549 static KmParameter _GEANT_LISTS_RGET_LRGET_16 = { "LRGET_16", 8, "user word",
02550  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02551  KmTYPE_CHAR,  (void*)0 };
02552 static KmParameter _GEANT_LISTS_RGET_LRGET_17 = { "LRGET_17", 8, "user word",
02553  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02554  KmTYPE_CHAR,  (void*)0 };
02555 static KmParameter _GEANT_LISTS_RGET_LRGET_18 = { "LRGET_18", 8, "user word",
02556  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02557  KmTYPE_CHAR,  (void*)0 };
02558 static KmParameter _GEANT_LISTS_RGET_LRGET_19 = { "LRGET_19", 8, "user word",
02559  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02560  KmTYPE_CHAR,  (void*)0 };
02561 static KmParameter _GEANT_LISTS_RGET_LRGET_20 = { "LRGET_20", 8, "user word",
02562  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02563  KmTYPE_CHAR,  (void*)0 };
02564 static KmParameter *_GEANT_LISTS_RGET_parameters[] = {
02565  &_GEANT_LISTS_RGET_LRGET_1, &_GEANT_LISTS_RGET_LRGET_2,
02566  &_GEANT_LISTS_RGET_LRGET_3, &_GEANT_LISTS_RGET_LRGET_4,
02567  &_GEANT_LISTS_RGET_LRGET_5, &_GEANT_LISTS_RGET_LRGET_6,
02568  &_GEANT_LISTS_RGET_LRGET_7, &_GEANT_LISTS_RGET_LRGET_8,
02569  &_GEANT_LISTS_RGET_LRGET_9, &_GEANT_LISTS_RGET_LRGET_10,
02570  &_GEANT_LISTS_RGET_LRGET_11, &_GEANT_LISTS_RGET_LRGET_12,
02571  &_GEANT_LISTS_RGET_LRGET_13, &_GEANT_LISTS_RGET_LRGET_14,
02572  &_GEANT_LISTS_RGET_LRGET_15, &_GEANT_LISTS_RGET_LRGET_16,
02573  &_GEANT_LISTS_RGET_LRGET_17, &_GEANT_LISTS_RGET_LRGET_18,
02574  &_GEANT_LISTS_RGET_LRGET_19, &_GEANT_LISTS_RGET_LRGET_20 };
02575 static char *_GEANT_LISTS_RGET_guidance[] = {
02576  "The command RGET is similar to the RGET data records. It can accept",
02577  "up to 20 4-character words. If the first argument is '.', the number",
02578  "of words is reset to 0 and all the words to four blanks." };
02579 static KmCommand _GEANT_LISTS_RGET = { &_GEANT_LISTS_RSAV,
02580  "/GEANT/LISTS/RGET", "RGET", 0, 2, 20, 0, _GEANT_LISTS_RGET_parameters, 0, 0,
02581  gxlist_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3,
02582  _GEANT_LISTS_RGET_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
02583  (char*)0, (int*)0 };
02584  
02585 static KmParameter _GEANT_LISTS_STAT_LSTAT_1 = { "LSTAT_1", 7, "user word",
02586  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02587  KmTYPE_CHAR,  (void*)0 };
02588 static KmParameter _GEANT_LISTS_STAT_LSTAT_2 = { "LSTAT_2", 7, "user word",
02589  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02590  KmTYPE_CHAR,  (void*)0 };
02591 static KmParameter _GEANT_LISTS_STAT_LSTAT_3 = { "LSTAT_3", 7, "user word",
02592  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02593  KmTYPE_CHAR,  (void*)0 };
02594 static KmParameter _GEANT_LISTS_STAT_LSTAT_4 = { "LSTAT_4", 7, "user word",
02595  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02596  KmTYPE_CHAR,  (void*)0 };
02597 static KmParameter _GEANT_LISTS_STAT_LSTAT_5 = { "LSTAT_5", 7, "user word",
02598  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02599  KmTYPE_CHAR,  (void*)0 };
02600 static KmParameter _GEANT_LISTS_STAT_LSTAT_6 = { "LSTAT_6", 7, "user word",
02601  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02602  KmTYPE_CHAR,  (void*)0 };
02603 static KmParameter _GEANT_LISTS_STAT_LSTAT_7 = { "LSTAT_7", 7, "user word",
02604  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02605  KmTYPE_CHAR,  (void*)0 };
02606 static KmParameter _GEANT_LISTS_STAT_LSTAT_8 = { "LSTAT_8", 7, "user word",
02607  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02608  KmTYPE_CHAR,  (void*)0 };
02609 static KmParameter _GEANT_LISTS_STAT_LSTAT_9 = { "LSTAT_9", 7, "user word",
02610  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02611  KmTYPE_CHAR,  (void*)0 };
02612 static KmParameter _GEANT_LISTS_STAT_LSTAT_10 = { "LSTAT_10", 8, "user word",
02613  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02614  KmTYPE_CHAR,  (void*)0 };
02615 static KmParameter _GEANT_LISTS_STAT_LSTAT_11 = { "LSTAT_11", 8, "user word",
02616  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02617  KmTYPE_CHAR,  (void*)0 };
02618 static KmParameter _GEANT_LISTS_STAT_LSTAT_12 = { "LSTAT_12", 8, "user word",
02619  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02620  KmTYPE_CHAR,  (void*)0 };
02621 static KmParameter _GEANT_LISTS_STAT_LSTAT_13 = { "LSTAT_13", 8, "user word",
02622  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02623  KmTYPE_CHAR,  (void*)0 };
02624 static KmParameter _GEANT_LISTS_STAT_LSTAT_14 = { "LSTAT_14", 8, "user word",
02625  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02626  KmTYPE_CHAR,  (void*)0 };
02627 static KmParameter _GEANT_LISTS_STAT_LSTAT_15 = { "LSTAT_15", 8, "user word",
02628  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02629  KmTYPE_CHAR,  (void*)0 };
02630 static KmParameter _GEANT_LISTS_STAT_LSTAT_16 = { "LSTAT_16", 8, "user word",
02631  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02632  KmTYPE_CHAR,  (void*)0 };
02633 static KmParameter _GEANT_LISTS_STAT_LSTAT_17 = { "LSTAT_17", 8, "user word",
02634  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02635  KmTYPE_CHAR,  (void*)0 };
02636 static KmParameter _GEANT_LISTS_STAT_LSTAT_18 = { "LSTAT_18", 8, "user word",
02637  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02638  KmTYPE_CHAR,  (void*)0 };
02639 static KmParameter _GEANT_LISTS_STAT_LSTAT_19 = { "LSTAT_19", 8, "user word",
02640  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02641  KmTYPE_CHAR,  (void*)0 };
02642 static KmParameter _GEANT_LISTS_STAT_LSTAT_20 = { "LSTAT_20", 8, "user word",
02643  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02644  KmTYPE_CHAR,  (void*)0 };
02645 static KmParameter *_GEANT_LISTS_STAT_parameters[] = {
02646  &_GEANT_LISTS_STAT_LSTAT_1, &_GEANT_LISTS_STAT_LSTAT_2,
02647  &_GEANT_LISTS_STAT_LSTAT_3, &_GEANT_LISTS_STAT_LSTAT_4,
02648  &_GEANT_LISTS_STAT_LSTAT_5, &_GEANT_LISTS_STAT_LSTAT_6,
02649  &_GEANT_LISTS_STAT_LSTAT_7, &_GEANT_LISTS_STAT_LSTAT_8,
02650  &_GEANT_LISTS_STAT_LSTAT_9, &_GEANT_LISTS_STAT_LSTAT_10,
02651  &_GEANT_LISTS_STAT_LSTAT_11, &_GEANT_LISTS_STAT_LSTAT_12,
02652  &_GEANT_LISTS_STAT_LSTAT_13, &_GEANT_LISTS_STAT_LSTAT_14,
02653  &_GEANT_LISTS_STAT_LSTAT_15, &_GEANT_LISTS_STAT_LSTAT_16,
02654  &_GEANT_LISTS_STAT_LSTAT_17, &_GEANT_LISTS_STAT_LSTAT_18,
02655  &_GEANT_LISTS_STAT_LSTAT_19, &_GEANT_LISTS_STAT_LSTAT_20 };
02656 static char *_GEANT_LISTS_STAT_guidance[] = {
02657  "The command STAT is similar to the STAT data records. It can accept",
02658  "up to 20 4-character words. If the first argument is '.', the number",
02659  "of words is reset to 0 and all the words to four blanks." };
02660 static KmCommand _GEANT_LISTS_STAT = { &_GEANT_LISTS_RGET,
02661  "/GEANT/LISTS/STAT", "STAT", 0, 2, 20, 0, _GEANT_LISTS_STAT_parameters, 0, 0,
02662  gxlist_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3,
02663  _GEANT_LISTS_STAT_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
02664  (char*)0, (int*)0 };
02665  
02666 static KmParameter _GEANT_LISTS_PLOT_LPLOT_1 = { "LPLOT_1", 7, "user word",
02667  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02668  KmTYPE_CHAR,  (void*)0 };
02669 static KmParameter _GEANT_LISTS_PLOT_LPLOT_2 = { "LPLOT_2", 7, "user word",
02670  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02671  KmTYPE_CHAR,  (void*)0 };
02672 static KmParameter _GEANT_LISTS_PLOT_LPLOT_3 = { "LPLOT_3", 7, "user word",
02673  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02674  KmTYPE_CHAR,  (void*)0 };
02675 static KmParameter _GEANT_LISTS_PLOT_LPLOT_4 = { "LPLOT_4", 7, "user word",
02676  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02677  KmTYPE_CHAR,  (void*)0 };
02678 static KmParameter _GEANT_LISTS_PLOT_LPLOT_5 = { "LPLOT_5", 7, "user word",
02679  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02680  KmTYPE_CHAR,  (void*)0 };
02681 static KmParameter _GEANT_LISTS_PLOT_LPLOT_6 = { "LPLOT_6", 7, "user word",
02682  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02683  KmTYPE_CHAR,  (void*)0 };
02684 static KmParameter _GEANT_LISTS_PLOT_LPLOT_7 = { "LPLOT_7", 7, "user word",
02685  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02686  KmTYPE_CHAR,  (void*)0 };
02687 static KmParameter _GEANT_LISTS_PLOT_LPLOT_8 = { "LPLOT_8", 7, "user word",
02688  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02689  KmTYPE_CHAR,  (void*)0 };
02690 static KmParameter _GEANT_LISTS_PLOT_LPLOT_9 = { "LPLOT_9", 7, "user word",
02691  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02692  KmTYPE_CHAR,  (void*)0 };
02693 static KmParameter _GEANT_LISTS_PLOT_LPLOT_10 = { "LPLOT_10", 8, "user word",
02694  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02695  KmTYPE_CHAR,  (void*)0 };
02696 static KmParameter _GEANT_LISTS_PLOT_LPLOT_11 = { "LPLOT_11", 8, "user word",
02697  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02698  KmTYPE_CHAR,  (void*)0 };
02699 static KmParameter _GEANT_LISTS_PLOT_LPLOT_12 = { "LPLOT_12", 8, "user word",
02700  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02701  KmTYPE_CHAR,  (void*)0 };
02702 static KmParameter _GEANT_LISTS_PLOT_LPLOT_13 = { "LPLOT_13", 8, "user word",
02703  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02704  KmTYPE_CHAR,  (void*)0 };
02705 static KmParameter _GEANT_LISTS_PLOT_LPLOT_14 = { "LPLOT_14", 8, "user word",
02706  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02707  KmTYPE_CHAR,  (void*)0 };
02708 static KmParameter _GEANT_LISTS_PLOT_LPLOT_15 = { "LPLOT_15", 8, "user word",
02709  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02710  KmTYPE_CHAR,  (void*)0 };
02711 static KmParameter _GEANT_LISTS_PLOT_LPLOT_16 = { "LPLOT_16", 8, "user word",
02712  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02713  KmTYPE_CHAR,  (void*)0 };
02714 static KmParameter _GEANT_LISTS_PLOT_LPLOT_17 = { "LPLOT_17", 8, "user word",
02715  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02716  KmTYPE_CHAR,  (void*)0 };
02717 static KmParameter _GEANT_LISTS_PLOT_LPLOT_18 = { "LPLOT_18", 8, "user word",
02718  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02719  KmTYPE_CHAR,  (void*)0 };
02720 static KmParameter _GEANT_LISTS_PLOT_LPLOT_19 = { "LPLOT_19", 8, "user word",
02721  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02722  KmTYPE_CHAR,  (void*)0 };
02723 static KmParameter _GEANT_LISTS_PLOT_LPLOT_20 = { "LPLOT_20", 8, "user word",
02724  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02725  KmTYPE_CHAR,  (void*)0 };
02726 static KmParameter *_GEANT_LISTS_PLOT_parameters[] = {
02727  &_GEANT_LISTS_PLOT_LPLOT_1, &_GEANT_LISTS_PLOT_LPLOT_2,
02728  &_GEANT_LISTS_PLOT_LPLOT_3, &_GEANT_LISTS_PLOT_LPLOT_4,
02729  &_GEANT_LISTS_PLOT_LPLOT_5, &_GEANT_LISTS_PLOT_LPLOT_6,
02730  &_GEANT_LISTS_PLOT_LPLOT_7, &_GEANT_LISTS_PLOT_LPLOT_8,
02731  &_GEANT_LISTS_PLOT_LPLOT_9, &_GEANT_LISTS_PLOT_LPLOT_10,
02732  &_GEANT_LISTS_PLOT_LPLOT_11, &_GEANT_LISTS_PLOT_LPLOT_12,
02733  &_GEANT_LISTS_PLOT_LPLOT_13, &_GEANT_LISTS_PLOT_LPLOT_14,
02734  &_GEANT_LISTS_PLOT_LPLOT_15, &_GEANT_LISTS_PLOT_LPLOT_16,
02735  &_GEANT_LISTS_PLOT_LPLOT_17, &_GEANT_LISTS_PLOT_LPLOT_18,
02736  &_GEANT_LISTS_PLOT_LPLOT_19, &_GEANT_LISTS_PLOT_LPLOT_20 };
02737 static char *_GEANT_LISTS_PLOT_guidance[] = {
02738  "The command PLOT is similar to the PLOT data records. It can accept",
02739  "up to 20 4-character words. If the first argument is '.', the number",
02740  "of words is reset to 0 and all the words to four blanks." };
02741 static KmCommand _GEANT_LISTS_PLOT = { &_GEANT_LISTS_STAT,
02742  "/GEANT/LISTS/PLOT", "PLOT", 0, 2, 20, 0, _GEANT_LISTS_PLOT_parameters, 0, 0,
02743  gxlist_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3,
02744  _GEANT_LISTS_PLOT_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
02745  (char*)0, (int*)0 };
02746  
02747 static KmParameter _GEANT_LISTS_VIEW_LVIEW_1 = { "LVIEW_1", 7, "user word",
02748  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02749  KmTYPE_CHAR,  (void*)0 };
02750 static KmParameter _GEANT_LISTS_VIEW_LVIEW_2 = { "LVIEW_2", 7, "user word",
02751  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02752  KmTYPE_CHAR,  (void*)0 };
02753 static KmParameter _GEANT_LISTS_VIEW_LVIEW_3 = { "LVIEW_3", 7, "user word",
02754  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02755  KmTYPE_CHAR,  (void*)0 };
02756 static KmParameter _GEANT_LISTS_VIEW_LVIEW_4 = { "LVIEW_4", 7, "user word",
02757  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02758  KmTYPE_CHAR,  (void*)0 };
02759 static KmParameter _GEANT_LISTS_VIEW_LVIEW_5 = { "LVIEW_5", 7, "user word",
02760  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02761  KmTYPE_CHAR,  (void*)0 };
02762 static KmParameter _GEANT_LISTS_VIEW_LVIEW_6 = { "LVIEW_6", 7, "user word",
02763  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02764  KmTYPE_CHAR,  (void*)0 };
02765 static KmParameter _GEANT_LISTS_VIEW_LVIEW_7 = { "LVIEW_7", 7, "user word",
02766  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02767  KmTYPE_CHAR,  (void*)0 };
02768 static KmParameter _GEANT_LISTS_VIEW_LVIEW_8 = { "LVIEW_8", 7, "user word",
02769  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02770  KmTYPE_CHAR,  (void*)0 };
02771 static KmParameter _GEANT_LISTS_VIEW_LVIEW_9 = { "LVIEW_9", 7, "user word",
02772  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02773  KmTYPE_CHAR,  (void*)0 };
02774 static KmParameter _GEANT_LISTS_VIEW_LVIEW_10 = { "LVIEW_10", 8, "user word",
02775  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02776  KmTYPE_CHAR,  (void*)0 };
02777 static KmParameter _GEANT_LISTS_VIEW_LVIEW_11 = { "LVIEW_11", 8, "user word",
02778  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02779  KmTYPE_CHAR,  (void*)0 };
02780 static KmParameter _GEANT_LISTS_VIEW_LVIEW_12 = { "LVIEW_12", 8, "user word",
02781  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02782  KmTYPE_CHAR,  (void*)0 };
02783 static KmParameter _GEANT_LISTS_VIEW_LVIEW_13 = { "LVIEW_13", 8, "user word",
02784  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02785  KmTYPE_CHAR,  (void*)0 };
02786 static KmParameter _GEANT_LISTS_VIEW_LVIEW_14 = { "LVIEW_14", 8, "user word",
02787  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02788  KmTYPE_CHAR,  (void*)0 };
02789 static KmParameter _GEANT_LISTS_VIEW_LVIEW_15 = { "LVIEW_15", 8, "user word",
02790  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02791  KmTYPE_CHAR,  (void*)0 };
02792 static KmParameter _GEANT_LISTS_VIEW_LVIEW_16 = { "LVIEW_16", 8, "user word",
02793  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02794  KmTYPE_CHAR,  (void*)0 };
02795 static KmParameter _GEANT_LISTS_VIEW_LVIEW_17 = { "LVIEW_17", 8, "user word",
02796  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02797  KmTYPE_CHAR,  (void*)0 };
02798 static KmParameter _GEANT_LISTS_VIEW_LVIEW_18 = { "LVIEW_18", 8, "user word",
02799  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02800  KmTYPE_CHAR,  (void*)0 };
02801 static KmParameter _GEANT_LISTS_VIEW_LVIEW_19 = { "LVIEW_19", 8, "user word",
02802  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02803  KmTYPE_CHAR,  (void*)0 };
02804 static KmParameter _GEANT_LISTS_VIEW_LVIEW_20 = { "LVIEW_20", 8, "user word",
02805  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02806  KmTYPE_CHAR,  (void*)0 };
02807 static KmParameter *_GEANT_LISTS_VIEW_parameters[] = {
02808  &_GEANT_LISTS_VIEW_LVIEW_1, &_GEANT_LISTS_VIEW_LVIEW_2,
02809  &_GEANT_LISTS_VIEW_LVIEW_3, &_GEANT_LISTS_VIEW_LVIEW_4,
02810  &_GEANT_LISTS_VIEW_LVIEW_5, &_GEANT_LISTS_VIEW_LVIEW_6,
02811  &_GEANT_LISTS_VIEW_LVIEW_7, &_GEANT_LISTS_VIEW_LVIEW_8,
02812  &_GEANT_LISTS_VIEW_LVIEW_9, &_GEANT_LISTS_VIEW_LVIEW_10,
02813  &_GEANT_LISTS_VIEW_LVIEW_11, &_GEANT_LISTS_VIEW_LVIEW_12,
02814  &_GEANT_LISTS_VIEW_LVIEW_13, &_GEANT_LISTS_VIEW_LVIEW_14,
02815  &_GEANT_LISTS_VIEW_LVIEW_15, &_GEANT_LISTS_VIEW_LVIEW_16,
02816  &_GEANT_LISTS_VIEW_LVIEW_17, &_GEANT_LISTS_VIEW_LVIEW_18,
02817  &_GEANT_LISTS_VIEW_LVIEW_19, &_GEANT_LISTS_VIEW_LVIEW_20 };
02818 static char *_GEANT_LISTS_VIEW_guidance[] = {
02819  "The command VIEW is similar to the VIEW data records. It can accept",
02820  "up to 20 4-character words. If the first argument is '.', the number",
02821  "of words is reset to 0 and all the words to four blanks." };
02822 static KmCommand _GEANT_LISTS_VIEW = { &_GEANT_LISTS_PLOT,
02823  "/GEANT/LISTS/VIEW", "VIEW", 0, 2, 20, 0, _GEANT_LISTS_VIEW_parameters, 0, 0,
02824  gxlist_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3,
02825  _GEANT_LISTS_VIEW_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
02826  (char*)0, (int*)0 };
02827  
02828 static KmParameter _GEANT_LISTS_GEOM_LGEOM_1 = { "LGEOM_1", 7, "user word",
02829  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02830  KmTYPE_CHAR,  (void*)0 };
02831 static KmParameter _GEANT_LISTS_GEOM_LGEOM_2 = { "LGEOM_2", 7, "user word",
02832  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02833  KmTYPE_CHAR,  (void*)0 };
02834 static KmParameter _GEANT_LISTS_GEOM_LGEOM_3 = { "LGEOM_3", 7, "user word",
02835  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02836  KmTYPE_CHAR,  (void*)0 };
02837 static KmParameter _GEANT_LISTS_GEOM_LGEOM_4 = { "LGEOM_4", 7, "user word",
02838  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02839  KmTYPE_CHAR,  (void*)0 };
02840 static KmParameter _GEANT_LISTS_GEOM_LGEOM_5 = { "LGEOM_5", 7, "user word",
02841  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02842  KmTYPE_CHAR,  (void*)0 };
02843 static KmParameter _GEANT_LISTS_GEOM_LGEOM_6 = { "LGEOM_6", 7, "user word",
02844  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02845  KmTYPE_CHAR,  (void*)0 };
02846 static KmParameter _GEANT_LISTS_GEOM_LGEOM_7 = { "LGEOM_7", 7, "user word",
02847  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02848  KmTYPE_CHAR,  (void*)0 };
02849 static KmParameter _GEANT_LISTS_GEOM_LGEOM_8 = { "LGEOM_8", 7, "user word",
02850  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02851  KmTYPE_CHAR,  (void*)0 };
02852 static KmParameter _GEANT_LISTS_GEOM_LGEOM_9 = { "LGEOM_9", 7, "user word",
02853  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02854  KmTYPE_CHAR,  (void*)0 };
02855 static KmParameter _GEANT_LISTS_GEOM_LGEOM_10 = { "LGEOM_10", 8, "user word",
02856  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02857  KmTYPE_CHAR,  (void*)0 };
02858 static KmParameter _GEANT_LISTS_GEOM_LGEOM_11 = { "LGEOM_11", 8, "user word",
02859  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02860  KmTYPE_CHAR,  (void*)0 };
02861 static KmParameter _GEANT_LISTS_GEOM_LGEOM_12 = { "LGEOM_12", 8, "user word",
02862  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02863  KmTYPE_CHAR,  (void*)0 };
02864 static KmParameter _GEANT_LISTS_GEOM_LGEOM_13 = { "LGEOM_13", 8, "user word",
02865  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02866  KmTYPE_CHAR,  (void*)0 };
02867 static KmParameter _GEANT_LISTS_GEOM_LGEOM_14 = { "LGEOM_14", 8, "user word",
02868  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02869  KmTYPE_CHAR,  (void*)0 };
02870 static KmParameter _GEANT_LISTS_GEOM_LGEOM_15 = { "LGEOM_15", 8, "user word",
02871  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02872  KmTYPE_CHAR,  (void*)0 };
02873 static KmParameter _GEANT_LISTS_GEOM_LGEOM_16 = { "LGEOM_16", 8, "user word",
02874  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02875  KmTYPE_CHAR,  (void*)0 };
02876 static KmParameter _GEANT_LISTS_GEOM_LGEOM_17 = { "LGEOM_17", 8, "user word",
02877  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02878  KmTYPE_CHAR,  (void*)0 };
02879 static KmParameter _GEANT_LISTS_GEOM_LGEOM_18 = { "LGEOM_18", 8, "user word",
02880  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02881  KmTYPE_CHAR,  (void*)0 };
02882 static KmParameter _GEANT_LISTS_GEOM_LGEOM_19 = { "LGEOM_19", 8, "user word",
02883  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02884  KmTYPE_CHAR,  (void*)0 };
02885 static KmParameter _GEANT_LISTS_GEOM_LGEOM_20 = { "LGEOM_20", 8, "user word",
02886  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02887  KmTYPE_CHAR,  (void*)0 };
02888 static KmParameter *_GEANT_LISTS_GEOM_parameters[] = {
02889  &_GEANT_LISTS_GEOM_LGEOM_1, &_GEANT_LISTS_GEOM_LGEOM_2,
02890  &_GEANT_LISTS_GEOM_LGEOM_3, &_GEANT_LISTS_GEOM_LGEOM_4,
02891  &_GEANT_LISTS_GEOM_LGEOM_5, &_GEANT_LISTS_GEOM_LGEOM_6,
02892  &_GEANT_LISTS_GEOM_LGEOM_7, &_GEANT_LISTS_GEOM_LGEOM_8,
02893  &_GEANT_LISTS_GEOM_LGEOM_9, &_GEANT_LISTS_GEOM_LGEOM_10,
02894  &_GEANT_LISTS_GEOM_LGEOM_11, &_GEANT_LISTS_GEOM_LGEOM_12,
02895  &_GEANT_LISTS_GEOM_LGEOM_13, &_GEANT_LISTS_GEOM_LGEOM_14,
02896  &_GEANT_LISTS_GEOM_LGEOM_15, &_GEANT_LISTS_GEOM_LGEOM_16,
02897  &_GEANT_LISTS_GEOM_LGEOM_17, &_GEANT_LISTS_GEOM_LGEOM_18,
02898  &_GEANT_LISTS_GEOM_LGEOM_19, &_GEANT_LISTS_GEOM_LGEOM_20 };
02899 static char *_GEANT_LISTS_GEOM_guidance[] = {
02900  "The command GEOM is similar to the GEOM data records. It can accept",
02901  "up to 20 4-character words. If the first argument is '.', the number",
02902  "of words is reset to 0 and all the words to four blanks." };
02903 static KmCommand _GEANT_LISTS_GEOM = { &_GEANT_LISTS_VIEW,
02904  "/GEANT/LISTS/GEOM", "GEOM", 0, 2, 20, 0, _GEANT_LISTS_GEOM_parameters, 0, 0,
02905  gxlist_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3,
02906  _GEANT_LISTS_GEOM_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
02907  (char*)0, (int*)0 };
02908  
02909 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_1 = { "LPRIN_1", 7, "user word",
02910  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02911  KmTYPE_CHAR,  (void*)0 };
02912 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_2 = { "LPRIN_2", 7, "user word",
02913  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02914  KmTYPE_CHAR,  (void*)0 };
02915 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_3 = { "LPRIN_3", 7, "user word",
02916  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02917  KmTYPE_CHAR,  (void*)0 };
02918 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_4 = { "LPRIN_4", 7, "user word",
02919  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02920  KmTYPE_CHAR,  (void*)0 };
02921 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_5 = { "LPRIN_5", 7, "user word",
02922  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02923  KmTYPE_CHAR,  (void*)0 };
02924 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_6 = { "LPRIN_6", 7, "user word",
02925  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02926  KmTYPE_CHAR,  (void*)0 };
02927 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_7 = { "LPRIN_7", 7, "user word",
02928  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02929  KmTYPE_CHAR,  (void*)0 };
02930 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_8 = { "LPRIN_8", 7, "user word",
02931  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02932  KmTYPE_CHAR,  (void*)0 };
02933 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_9 = { "LPRIN_9", 7, "user word",
02934  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02935  KmTYPE_CHAR,  (void*)0 };
02936 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_10 = { "LPRIN_10", 8, "user word",
02937  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02938  KmTYPE_CHAR,  (void*)0 };
02939 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_11 = { "LPRIN_11", 8, "user word",
02940  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02941  KmTYPE_CHAR,  (void*)0 };
02942 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_12 = { "LPRIN_12", 8, "user word",
02943  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02944  KmTYPE_CHAR,  (void*)0 };
02945 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_13 = { "LPRIN_13", 8, "user word",
02946  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02947  KmTYPE_CHAR,  (void*)0 };
02948 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_14 = { "LPRIN_14", 8, "user word",
02949  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02950  KmTYPE_CHAR,  (void*)0 };
02951 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_15 = { "LPRIN_15", 8, "user word",
02952  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02953  KmTYPE_CHAR,  (void*)0 };
02954 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_16 = { "LPRIN_16", 8, "user word",
02955  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02956  KmTYPE_CHAR,  (void*)0 };
02957 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_17 = { "LPRIN_17", 8, "user word",
02958  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02959  KmTYPE_CHAR,  (void*)0 };
02960 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_18 = { "LPRIN_18", 8, "user word",
02961  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02962  KmTYPE_CHAR,  (void*)0 };
02963 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_19 = { "LPRIN_19", 8, "user word",
02964  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02965  KmTYPE_CHAR,  (void*)0 };
02966 static KmParameter _GEANT_LISTS_LPRIN_LPRIN_20 = { "LPRIN_20", 8, "user word",
02967  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02968  KmTYPE_CHAR,  (void*)0 };
02969 static KmParameter *_GEANT_LISTS_LPRIN_parameters[] = {
02970  &_GEANT_LISTS_LPRIN_LPRIN_1, &_GEANT_LISTS_LPRIN_LPRIN_2,
02971  &_GEANT_LISTS_LPRIN_LPRIN_3, &_GEANT_LISTS_LPRIN_LPRIN_4,
02972  &_GEANT_LISTS_LPRIN_LPRIN_5, &_GEANT_LISTS_LPRIN_LPRIN_6,
02973  &_GEANT_LISTS_LPRIN_LPRIN_7, &_GEANT_LISTS_LPRIN_LPRIN_8,
02974  &_GEANT_LISTS_LPRIN_LPRIN_9, &_GEANT_LISTS_LPRIN_LPRIN_10,
02975  &_GEANT_LISTS_LPRIN_LPRIN_11, &_GEANT_LISTS_LPRIN_LPRIN_12,
02976  &_GEANT_LISTS_LPRIN_LPRIN_13, &_GEANT_LISTS_LPRIN_LPRIN_14,
02977  &_GEANT_LISTS_LPRIN_LPRIN_15, &_GEANT_LISTS_LPRIN_LPRIN_16,
02978  &_GEANT_LISTS_LPRIN_LPRIN_17, &_GEANT_LISTS_LPRIN_LPRIN_18,
02979  &_GEANT_LISTS_LPRIN_LPRIN_19, &_GEANT_LISTS_LPRIN_LPRIN_20 };
02980 static char *_GEANT_LISTS_LPRIN_guidance[] = {
02981  "The command PRIN is similar to the PRIN data records. It can accept",
02982  "up to 20 4-character words. If the first argument is '.', the number",
02983  "of words is reset to 0 and all the words to four blanks." };
02984 static KmCommand _GEANT_LISTS_LPRIN = { &_GEANT_LISTS_GEOM,
02985  "/GEANT/LISTS/LPRIN", "LPRIN", 0, 2, 20, 0, _GEANT_LISTS_LPRIN_parameters, 0,
02986  0, gxlist_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3,
02987  _GEANT_LISTS_LPRIN_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
02988  (char*)0, (int*)0 };
02989  
02990 static KmParameter _GEANT_LISTS_SETS_LSETS_1 = { "LSETS_1", 7, "user word",
02991  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02992  KmTYPE_CHAR,  (void*)0 };
02993 static KmParameter _GEANT_LISTS_SETS_LSETS_2 = { "LSETS_2", 7, "user word",
02994  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02995  KmTYPE_CHAR,  (void*)0 };
02996 static KmParameter _GEANT_LISTS_SETS_LSETS_3 = { "LSETS_3", 7, "user word",
02997  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
02998  KmTYPE_CHAR,  (void*)0 };
02999 static KmParameter _GEANT_LISTS_SETS_LSETS_4 = { "LSETS_4", 7, "user word",
03000  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03001  KmTYPE_CHAR,  (void*)0 };
03002 static KmParameter _GEANT_LISTS_SETS_LSETS_5 = { "LSETS_5", 7, "user word",
03003  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03004  KmTYPE_CHAR,  (void*)0 };
03005 static KmParameter _GEANT_LISTS_SETS_LSETS_6 = { "LSETS_6", 7, "user word",
03006  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03007  KmTYPE_CHAR,  (void*)0 };
03008 static KmParameter _GEANT_LISTS_SETS_LSETS_7 = { "LSETS_7", 7, "user word",
03009  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03010  KmTYPE_CHAR,  (void*)0 };
03011 static KmParameter _GEANT_LISTS_SETS_LSETS_8 = { "LSETS_8", 7, "user word",
03012  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03013  KmTYPE_CHAR,  (void*)0 };
03014 static KmParameter _GEANT_LISTS_SETS_LSETS_9 = { "LSETS_9", 7, "user word",
03015  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03016  KmTYPE_CHAR,  (void*)0 };
03017 static KmParameter _GEANT_LISTS_SETS_LSETS_10 = { "LSETS_10", 8, "user word",
03018  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03019  KmTYPE_CHAR,  (void*)0 };
03020 static KmParameter _GEANT_LISTS_SETS_LSETS_11 = { "LSETS_11", 8, "user word",
03021  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03022  KmTYPE_CHAR,  (void*)0 };
03023 static KmParameter _GEANT_LISTS_SETS_LSETS_12 = { "LSETS_12", 8, "user word",
03024  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03025  KmTYPE_CHAR,  (void*)0 };
03026 static KmParameter _GEANT_LISTS_SETS_LSETS_13 = { "LSETS_13", 8, "user word",
03027  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03028  KmTYPE_CHAR,  (void*)0 };
03029 static KmParameter _GEANT_LISTS_SETS_LSETS_14 = { "LSETS_14", 8, "user word",
03030  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03031  KmTYPE_CHAR,  (void*)0 };
03032 static KmParameter _GEANT_LISTS_SETS_LSETS_15 = { "LSETS_15", 8, "user word",
03033  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03034  KmTYPE_CHAR,  (void*)0 };
03035 static KmParameter _GEANT_LISTS_SETS_LSETS_16 = { "LSETS_16", 8, "user word",
03036  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03037  KmTYPE_CHAR,  (void*)0 };
03038 static KmParameter _GEANT_LISTS_SETS_LSETS_17 = { "LSETS_17", 8, "user word",
03039  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03040  KmTYPE_CHAR,  (void*)0 };
03041 static KmParameter _GEANT_LISTS_SETS_LSETS_18 = { "LSETS_18", 8, "user word",
03042  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03043  KmTYPE_CHAR,  (void*)0 };
03044 static KmParameter _GEANT_LISTS_SETS_LSETS_19 = { "LSETS_19", 8, "user word",
03045  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03046  KmTYPE_CHAR,  (void*)0 };
03047 static KmParameter _GEANT_LISTS_SETS_LSETS_20 = { "LSETS_20", 8, "user word",
03048  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03049  KmTYPE_CHAR,  (void*)0 };
03050 static KmParameter *_GEANT_LISTS_SETS_parameters[] = {
03051  &_GEANT_LISTS_SETS_LSETS_1, &_GEANT_LISTS_SETS_LSETS_2,
03052  &_GEANT_LISTS_SETS_LSETS_3, &_GEANT_LISTS_SETS_LSETS_4,
03053  &_GEANT_LISTS_SETS_LSETS_5, &_GEANT_LISTS_SETS_LSETS_6,
03054  &_GEANT_LISTS_SETS_LSETS_7, &_GEANT_LISTS_SETS_LSETS_8,
03055  &_GEANT_LISTS_SETS_LSETS_9, &_GEANT_LISTS_SETS_LSETS_10,
03056  &_GEANT_LISTS_SETS_LSETS_11, &_GEANT_LISTS_SETS_LSETS_12,
03057  &_GEANT_LISTS_SETS_LSETS_13, &_GEANT_LISTS_SETS_LSETS_14,
03058  &_GEANT_LISTS_SETS_LSETS_15, &_GEANT_LISTS_SETS_LSETS_16,
03059  &_GEANT_LISTS_SETS_LSETS_17, &_GEANT_LISTS_SETS_LSETS_18,
03060  &_GEANT_LISTS_SETS_LSETS_19, &_GEANT_LISTS_SETS_LSETS_20 };
03061 static char *_GEANT_LISTS_SETS_guidance[] = {
03062  "The command SETS is similar to the SETS data records. It can accept",
03063  "up to 20 4-character words. If the first argument is '.', the number",
03064  "of words is reset to 0 and all the words to four blanks." };
03065 static KmCommand _GEANT_LISTS_SETS = { &_GEANT_LISTS_LPRIN,
03066  "/GEANT/LISTS/SETS", "SETS", 0, 2, 20, 0, _GEANT_LISTS_SETS_parameters, 0, 0,
03067  gxlist_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3,
03068  _GEANT_LISTS_SETS_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
03069  (char*)0, (int*)0 };
03070  
03071 static KmParameter _GEANT_LISTS_SAVE_LSAVE_1 = { "LSAVE_1", 7, "user word",
03072  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03073  KmTYPE_CHAR,  (void*)0 };
03074 static KmParameter _GEANT_LISTS_SAVE_LSAVE_2 = { "LSAVE_2", 7, "user word",
03075  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03076  KmTYPE_CHAR,  (void*)0 };
03077 static KmParameter _GEANT_LISTS_SAVE_LSAVE_3 = { "LSAVE_3", 7, "user word",
03078  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03079  KmTYPE_CHAR,  (void*)0 };
03080 static KmParameter _GEANT_LISTS_SAVE_LSAVE_4 = { "LSAVE_4", 7, "user word",
03081  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03082  KmTYPE_CHAR,  (void*)0 };
03083 static KmParameter _GEANT_LISTS_SAVE_LSAVE_5 = { "LSAVE_5", 7, "user word",
03084  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03085  KmTYPE_CHAR,  (void*)0 };
03086 static KmParameter _GEANT_LISTS_SAVE_LSAVE_6 = { "LSAVE_6", 7, "user word",
03087  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03088  KmTYPE_CHAR,  (void*)0 };
03089 static KmParameter _GEANT_LISTS_SAVE_LSAVE_7 = { "LSAVE_7", 7, "user word",
03090  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03091  KmTYPE_CHAR,  (void*)0 };
03092 static KmParameter _GEANT_LISTS_SAVE_LSAVE_8 = { "LSAVE_8", 7, "user word",
03093  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03094  KmTYPE_CHAR,  (void*)0 };
03095 static KmParameter _GEANT_LISTS_SAVE_LSAVE_9 = { "LSAVE_9", 7, "user word",
03096  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03097  KmTYPE_CHAR,  (void*)0 };
03098 static KmParameter _GEANT_LISTS_SAVE_LSAVE_10 = { "LSAVE_10", 8, "user word",
03099  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03100  KmTYPE_CHAR,  (void*)0 };
03101 static KmParameter _GEANT_LISTS_SAVE_LSAVE_11 = { "LSAVE_11", 8, "user word",
03102  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03103  KmTYPE_CHAR,  (void*)0 };
03104 static KmParameter _GEANT_LISTS_SAVE_LSAVE_12 = { "LSAVE_12", 8, "user word",
03105  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03106  KmTYPE_CHAR,  (void*)0 };
03107 static KmParameter _GEANT_LISTS_SAVE_LSAVE_13 = { "LSAVE_13", 8, "user word",
03108  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03109  KmTYPE_CHAR,  (void*)0 };
03110 static KmParameter _GEANT_LISTS_SAVE_LSAVE_14 = { "LSAVE_14", 8, "user word",
03111  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03112  KmTYPE_CHAR,  (void*)0 };
03113 static KmParameter _GEANT_LISTS_SAVE_LSAVE_15 = { "LSAVE_15", 8, "user word",
03114  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03115  KmTYPE_CHAR,  (void*)0 };
03116 static KmParameter _GEANT_LISTS_SAVE_LSAVE_16 = { "LSAVE_16", 8, "user word",
03117  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03118  KmTYPE_CHAR,  (void*)0 };
03119 static KmParameter _GEANT_LISTS_SAVE_LSAVE_17 = { "LSAVE_17", 8, "user word",
03120  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03121  KmTYPE_CHAR,  (void*)0 };
03122 static KmParameter _GEANT_LISTS_SAVE_LSAVE_18 = { "LSAVE_18", 8, "user word",
03123  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03124  KmTYPE_CHAR,  (void*)0 };
03125 static KmParameter _GEANT_LISTS_SAVE_LSAVE_19 = { "LSAVE_19", 8, "user word",
03126  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03127  KmTYPE_CHAR,  (void*)0 };
03128 static KmParameter _GEANT_LISTS_SAVE_LSAVE_20 = { "LSAVE_20", 8, "user word",
03129  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03130  KmTYPE_CHAR,  (void*)0 };
03131 static KmParameter *_GEANT_LISTS_SAVE_parameters[] = {
03132  &_GEANT_LISTS_SAVE_LSAVE_1, &_GEANT_LISTS_SAVE_LSAVE_2,
03133  &_GEANT_LISTS_SAVE_LSAVE_3, &_GEANT_LISTS_SAVE_LSAVE_4,
03134  &_GEANT_LISTS_SAVE_LSAVE_5, &_GEANT_LISTS_SAVE_LSAVE_6,
03135  &_GEANT_LISTS_SAVE_LSAVE_7, &_GEANT_LISTS_SAVE_LSAVE_8,
03136  &_GEANT_LISTS_SAVE_LSAVE_9, &_GEANT_LISTS_SAVE_LSAVE_10,
03137  &_GEANT_LISTS_SAVE_LSAVE_11, &_GEANT_LISTS_SAVE_LSAVE_12,
03138  &_GEANT_LISTS_SAVE_LSAVE_13, &_GEANT_LISTS_SAVE_LSAVE_14,
03139  &_GEANT_LISTS_SAVE_LSAVE_15, &_GEANT_LISTS_SAVE_LSAVE_16,
03140  &_GEANT_LISTS_SAVE_LSAVE_17, &_GEANT_LISTS_SAVE_LSAVE_18,
03141  &_GEANT_LISTS_SAVE_LSAVE_19, &_GEANT_LISTS_SAVE_LSAVE_20 };
03142 static char *_GEANT_LISTS_SAVE_guidance[] = {
03143  "The command SAVE is similar to the SAVE data records. It can accept",
03144  "up to 20 4-character words. If the first argument is '.', the number",
03145  "of words is reset to 0 and all the words to four blanks." };
03146 static KmCommand _GEANT_LISTS_SAVE = { &_GEANT_LISTS_SETS,
03147  "/GEANT/LISTS/SAVE", "SAVE", 0, 2, 20, 0, _GEANT_LISTS_SAVE_parameters, 0, 0,
03148  gxlist_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3,
03149  _GEANT_LISTS_SAVE_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
03150  (char*)0, (int*)0 };
03151  
03152 static KmParameter _GEANT_LISTS_GET_LGET_1 = { "LGET_1", 6, "user word",
03153  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03154  KmTYPE_CHAR,  (void*)0 };
03155 static KmParameter _GEANT_LISTS_GET_LGET_2 = { "LGET_2", 6, "user word",
03156  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03157  KmTYPE_CHAR,  (void*)0 };
03158 static KmParameter _GEANT_LISTS_GET_LGET_3 = { "LGET_3", 6, "user word",
03159  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03160  KmTYPE_CHAR,  (void*)0 };
03161 static KmParameter _GEANT_LISTS_GET_LGET_4 = { "LGET_4", 6, "user word",
03162  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03163  KmTYPE_CHAR,  (void*)0 };
03164 static KmParameter _GEANT_LISTS_GET_LGET_5 = { "LGET_5", 6, "user word",
03165  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03166  KmTYPE_CHAR,  (void*)0 };
03167 static KmParameter _GEANT_LISTS_GET_LGET_6 = { "LGET_6", 6, "user word",
03168  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03169  KmTYPE_CHAR,  (void*)0 };
03170 static KmParameter _GEANT_LISTS_GET_LGET_7 = { "LGET_7", 6, "user word",
03171  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03172  KmTYPE_CHAR,  (void*)0 };
03173 static KmParameter _GEANT_LISTS_GET_LGET_8 = { "LGET_8", 6, "user word",
03174  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03175  KmTYPE_CHAR,  (void*)0 };
03176 static KmParameter _GEANT_LISTS_GET_LGET_9 = { "LGET_9", 6, "user word",
03177  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03178  KmTYPE_CHAR,  (void*)0 };
03179 static KmParameter _GEANT_LISTS_GET_LGET_10 = { "LGET_10", 7, "user word",
03180  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03181  KmTYPE_CHAR,  (void*)0 };
03182 static KmParameter _GEANT_LISTS_GET_LGET_11 = { "LGET_11", 7, "user word",
03183  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03184  KmTYPE_CHAR,  (void*)0 };
03185 static KmParameter _GEANT_LISTS_GET_LGET_12 = { "LGET_12", 7, "user word",
03186  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03187  KmTYPE_CHAR,  (void*)0 };
03188 static KmParameter _GEANT_LISTS_GET_LGET_13 = { "LGET_13", 7, "user word",
03189  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03190  KmTYPE_CHAR,  (void*)0 };
03191 static KmParameter _GEANT_LISTS_GET_LGET_14 = { "LGET_14", 7, "user word",
03192  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03193  KmTYPE_CHAR,  (void*)0 };
03194 static KmParameter _GEANT_LISTS_GET_LGET_15 = { "LGET_15", 7, "user word",
03195  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03196  KmTYPE_CHAR,  (void*)0 };
03197 static KmParameter _GEANT_LISTS_GET_LGET_16 = { "LGET_16", 7, "user word",
03198  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03199  KmTYPE_CHAR,  (void*)0 };
03200 static KmParameter _GEANT_LISTS_GET_LGET_17 = { "LGET_17", 7, "user word",
03201  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03202  KmTYPE_CHAR,  (void*)0 };
03203 static KmParameter _GEANT_LISTS_GET_LGET_18 = { "LGET_18", 7, "user word",
03204  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03205  KmTYPE_CHAR,  (void*)0 };
03206 static KmParameter _GEANT_LISTS_GET_LGET_19 = { "LGET_19", 7, "user word",
03207  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03208  KmTYPE_CHAR,  (void*)0 };
03209 static KmParameter _GEANT_LISTS_GET_LGET_20 = { "LGET_20", 7, "user word",
03210  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03211  KmTYPE_CHAR,  (void*)0 };
03212 static KmParameter *_GEANT_LISTS_GET_parameters[] = {
03213  &_GEANT_LISTS_GET_LGET_1, &_GEANT_LISTS_GET_LGET_2, &_GEANT_LISTS_GET_LGET_3,
03214  &_GEANT_LISTS_GET_LGET_4, &_GEANT_LISTS_GET_LGET_5, &_GEANT_LISTS_GET_LGET_6,
03215  &_GEANT_LISTS_GET_LGET_7, &_GEANT_LISTS_GET_LGET_8, &_GEANT_LISTS_GET_LGET_9,
03216  &_GEANT_LISTS_GET_LGET_10, &_GEANT_LISTS_GET_LGET_11,
03217  &_GEANT_LISTS_GET_LGET_12, &_GEANT_LISTS_GET_LGET_13,
03218  &_GEANT_LISTS_GET_LGET_14, &_GEANT_LISTS_GET_LGET_15,
03219  &_GEANT_LISTS_GET_LGET_16, &_GEANT_LISTS_GET_LGET_17,
03220  &_GEANT_LISTS_GET_LGET_18, &_GEANT_LISTS_GET_LGET_19,
03221  &_GEANT_LISTS_GET_LGET_20 };
03222 static char *_GEANT_LISTS_GET_guidance[] = {
03223  "The command GET is similar to the GET data records. It can accept",
03224  "up to 20 4-character words. If the first argument is '.', the number",
03225  "of words is reset to 0 and all the words to four blanks." };
03226 static KmCommand _GEANT_LISTS_GET = { &_GEANT_LISTS_SAVE, "/GEANT/LISTS/GET",
03227  "GET", 0, 2, 20, 0, _GEANT_LISTS_GET_parameters, 0, 0, gxlist_, (IntFunc*)0,
03228  (SUBROUTINE*)0, (pCharFunc*)0, 3, _GEANT_LISTS_GET_guidance, 0, (char**)0, 0,
03229  (char**)0, 0, (char**)0, (char*)0, (int*)0 };
03230  
03231 static KmParameter _GEANT_LISTS_HSTA_LHSTA_1 = { "LHSTA_1", 7, "user word",
03232  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03233  KmTYPE_CHAR,  (void*)0 };
03234 static KmParameter _GEANT_LISTS_HSTA_LHSTA_2 = { "LHSTA_2", 7, "user word",
03235  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03236  KmTYPE_CHAR,  (void*)0 };
03237 static KmParameter _GEANT_LISTS_HSTA_LHSTA_3 = { "LHSTA_3", 7, "user word",
03238  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03239  KmTYPE_CHAR,  (void*)0 };
03240 static KmParameter _GEANT_LISTS_HSTA_LHSTA_4 = { "LHSTA_4", 7, "user word",
03241  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03242  KmTYPE_CHAR,  (void*)0 };
03243 static KmParameter _GEANT_LISTS_HSTA_LHSTA_5 = { "LHSTA_5", 7, "user word",
03244  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03245  KmTYPE_CHAR,  (void*)0 };
03246 static KmParameter _GEANT_LISTS_HSTA_LHSTA_6 = { "LHSTA_6", 7, "user word",
03247  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03248  KmTYPE_CHAR,  (void*)0 };
03249 static KmParameter _GEANT_LISTS_HSTA_LHSTA_7 = { "LHSTA_7", 7, "user word",
03250  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03251  KmTYPE_CHAR,  (void*)0 };
03252 static KmParameter _GEANT_LISTS_HSTA_LHSTA_8 = { "LHSTA_8", 7, "user word",
03253  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03254  KmTYPE_CHAR,  (void*)0 };
03255 static KmParameter _GEANT_LISTS_HSTA_LHSTA_9 = { "LHSTA_9", 7, "user word",
03256  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03257  KmTYPE_CHAR,  (void*)0 };
03258 static KmParameter _GEANT_LISTS_HSTA_LHSTA_10 = { "LHSTA_10", 8, "user word",
03259  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03260  KmTYPE_CHAR,  (void*)0 };
03261 static KmParameter _GEANT_LISTS_HSTA_LHSTA_11 = { "LHSTA_11", 8, "user word",
03262  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03263  KmTYPE_CHAR,  (void*)0 };
03264 static KmParameter _GEANT_LISTS_HSTA_LHSTA_12 = { "LHSTA_12", 8, "user word",
03265  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03266  KmTYPE_CHAR,  (void*)0 };
03267 static KmParameter _GEANT_LISTS_HSTA_LHSTA_13 = { "LHSTA_13", 8, "user word",
03268  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03269  KmTYPE_CHAR,  (void*)0 };
03270 static KmParameter _GEANT_LISTS_HSTA_LHSTA_14 = { "LHSTA_14", 8, "user word",
03271  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03272  KmTYPE_CHAR,  (void*)0 };
03273 static KmParameter _GEANT_LISTS_HSTA_LHSTA_15 = { "LHSTA_15", 8, "user word",
03274  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03275  KmTYPE_CHAR,  (void*)0 };
03276 static KmParameter _GEANT_LISTS_HSTA_LHSTA_16 = { "LHSTA_16", 8, "user word",
03277  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03278  KmTYPE_CHAR,  (void*)0 };
03279 static KmParameter _GEANT_LISTS_HSTA_LHSTA_17 = { "LHSTA_17", 8, "user word",
03280  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03281  KmTYPE_CHAR,  (void*)0 };
03282 static KmParameter _GEANT_LISTS_HSTA_LHSTA_18 = { "LHSTA_18", 8, "user word",
03283  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03284  KmTYPE_CHAR,  (void*)0 };
03285 static KmParameter _GEANT_LISTS_HSTA_LHSTA_19 = { "LHSTA_19", 8, "user word",
03286  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03287  KmTYPE_CHAR,  (void*)0 };
03288 static KmParameter _GEANT_LISTS_HSTA_LHSTA_20 = { "LHSTA_20", 8, "user word",
03289  (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
03290  KmTYPE_CHAR,  (void*)0 };
03291 static KmParameter *_GEANT_LISTS_HSTA_parameters[] = {
03292  &_GEANT_LISTS_HSTA_LHSTA_1, &_GEANT_LISTS_HSTA_LHSTA_2,
03293  &_GEANT_LISTS_HSTA_LHSTA_3, &_GEANT_LISTS_HSTA_LHSTA_4,
03294  &_GEANT_LISTS_HSTA_LHSTA_5, &_GEANT_LISTS_HSTA_LHSTA_6,
03295  &_GEANT_LISTS_HSTA_LHSTA_7, &_GEANT_LISTS_HSTA_LHSTA_8,
03296  &_GEANT_LISTS_HSTA_LHSTA_9, &_GEANT_LISTS_HSTA_LHSTA_10,
03297  &_GEANT_LISTS_HSTA_LHSTA_11, &_GEANT_LISTS_HSTA_LHSTA_12,
03298  &_GEANT_LISTS_HSTA_LHSTA_13, &_GEANT_LISTS_HSTA_LHSTA_14,
03299  &_GEANT_LISTS_HSTA_LHSTA_15, &_GEANT_LISTS_HSTA_LHSTA_16,
03300  &_GEANT_LISTS_HSTA_LHSTA_17, &_GEANT_LISTS_HSTA_LHSTA_18,
03301  &_GEANT_LISTS_HSTA_LHSTA_19, &_GEANT_LISTS_HSTA_LHSTA_20 };
03302 static char *_GEANT_LISTS_HSTA_guidance[] = {
03303  "The command HSTA is similar to the HSTA data records. It can accept",
03304  "up to 20 4-character words. If the first argument is '.', the number",
03305  "of words is reset to 0 and all the words to four blanks." };
03306 static KmCommand _GEANT_LISTS_HSTA = { &_GEANT_LISTS_GET, "/GEANT/LISTS/HSTA",
03307  "HSTA", 0, 2, 20, 0, _GEANT_LISTS_HSTA_parameters, 0, 0, gxlist_,
03308  (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3, _GEANT_LISTS_HSTA_guidance, 0,
03309  (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
03310  
03311 static KmMenu _GEANT_LISTS = {  (KmMenu*)0,  (KmMenu*)0, "/GEANT/LISTS",
03312  "LISTS", 2, &_GEANT_LISTS_HSTA, 0, (char**)0, 0, (char**)0, 0, (char**)0 };
03313  
03314 static KmMenu _GEANT = {  (KmMenu*)0, &_GEANT_LISTS, "/GEANT", "GEANT", 1,
03315  (KmCommand*)0, 0, (char**)0, 0, (char**)0, 0, (char**)0 };
03316  
03317   klnkmenu( &_GEANT, 950303 );
03318 }

void gkphys_ (  ) 

Definition at line 5830 of file g321x.c.

References gkfort_(), gxfort_(), klnkmenu(), KmTYPE_INT, and KmTYPE_REAL.

Referenced by gkfort_(), and gkscan_().

05831 {
05832  
05833 static char *_GEANT_PHYSICS_PHYSI_guidance[] = {
05834  "Call the GEANT initialisation routine GPHYSI to recompute",
05835  "the tables of cross-sections and energy loss. This command",
05836  "must be invoked after CUTS, LOSS or ERAN commands." };
05837 static KmCommand _GEANT_PHYSICS_PHYSI = {  (KmCommand*)0,
05838  "/GEANT/PHYSICS/PHYSI", "PHYSI", 0, 2, 0, 0, (KmParameter**)0, 0, 0, gxphys_,
05839  (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3, _GEANT_PHYSICS_PHYSI_guidance,
05840  0, (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05841  
05842 static KmParInt    _GEANT_PHYSICS_DRPRT_IPART_type = { (char*)0, (char*)0,
05843  (char*)0, (char*)0, 0 };
05844 static KmParameter _GEANT_PHYSICS_DRPRT_IPART = { "IPART", 5,
05845  "GEANT particle number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
05846  (KmParFlag)0, KmTYPE_INT, &_GEANT_PHYSICS_DRPRT_IPART_type };
05847 static KmParInt    _GEANT_PHYSICS_DRPRT_IMATE_type = { (char*)0, (char*)0,
05848  (char*)0, (char*)0, 0 };
05849 static KmParameter _GEANT_PHYSICS_DRPRT_IMATE = { "IMATE", 5,
05850  "GEANT material number", (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0,
05851  (KmParFlag)0, KmTYPE_INT, &_GEANT_PHYSICS_DRPRT_IMATE_type };
05852 static KmParReal   _GEANT_PHYSICS_DRPRT_STEP_type = { (char*)0, (char*)0,
05853  (char*)0, (char*)0, 0 };
05854 static KmParameter _GEANT_PHYSICS_DRPRT_STEP = { "STEP", 4,
05855  "step length in centimeters", (char*)0, (char*)0, 12, 0, (char**)0, 0,
05856  (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_PHYSICS_DRPRT_STEP_type };
05857 static KmParInt    _GEANT_PHYSICS_DRPRT_NPOINT_type = { "2", "100", "2",
05858  "100", 0 };
05859 static KmParameter _GEANT_PHYSICS_DRPRT_NPOINT = { "NPOINT", 6,
05860  "number of logarithmically spaced energy points", "10", (char*)0, 4, 0,
05861  (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
05862  &_GEANT_PHYSICS_DRPRT_NPOINT_type };
05863 static KmParameter *_GEANT_PHYSICS_DRPRT_parameters[] = {
05864  &_GEANT_PHYSICS_DRPRT_IPART, &_GEANT_PHYSICS_DRPRT_IMATE,
05865  &_GEANT_PHYSICS_DRPRT_STEP, &_GEANT_PHYSICS_DRPRT_NPOINT };
05866 static char *_GEANT_PHYSICS_DRPRT_guidance[] = {
05867  "This routine prints the relevant parameters linked with the energy loss",
05868  "fluctuation." };
05869 static KmCommand _GEANT_PHYSICS_DRPRT = { &_GEANT_PHYSICS_PHYSI,
05870  "/GEANT/PHYSICS/DRPRT", "DRPRT", 0, 2, 4, 3, _GEANT_PHYSICS_DRPRT_parameters,
05871  0, 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 2,
05872  _GEANT_PHYSICS_DRPRT_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
05873  (char*)0, (int*)0 };
05874  
05875 static KmParReal   _GEANT_PHYSICS_CUTS_CUTGAM_type = { (char*)0, (char*)0,
05876  (char*)0, (char*)0, 0 };
05877 static KmParameter _GEANT_PHYSICS_CUTS_CUTGAM = { "CUTGAM", 6,
05878  "Cut for gammas", "0.001", (char*)0, 12, 0, (char**)0, 0, (char**)0,
05879  (KmParFlag)0, KmTYPE_REAL, &_GEANT_PHYSICS_CUTS_CUTGAM_type };
05880 static KmParReal   _GEANT_PHYSICS_CUTS_CUTELE_type = { (char*)0, (char*)0,
05881  (char*)0, (char*)0, 0 };
05882 static KmParameter _GEANT_PHYSICS_CUTS_CUTELE = { "CUTELE", 6,
05883  "Cut for electrons", "0.001", (char*)0, 12, 0, (char**)0, 0, (char**)0,
05884  (KmParFlag)0, KmTYPE_REAL, &_GEANT_PHYSICS_CUTS_CUTELE_type };
05885 static KmParReal   _GEANT_PHYSICS_CUTS_CUTHAD_type = { (char*)0, (char*)0,
05886  (char*)0, (char*)0, 0 };
05887 static KmParameter _GEANT_PHYSICS_CUTS_CUTHAD = { "CUTHAD", 6,
05888  "Cut for charged hadrons", "0.01", (char*)0, 12, 0, (char**)0, 0, (char**)0,
05889  (KmParFlag)0, KmTYPE_REAL, &_GEANT_PHYSICS_CUTS_CUTHAD_type };
05890 static KmParReal   _GEANT_PHYSICS_CUTS_CUTNEU_type = { (char*)0, (char*)0,
05891  (char*)0, (char*)0, 0 };
05892 static KmParameter _GEANT_PHYSICS_CUTS_CUTNEU = { "CUTNEU", 6,
05893  "Cut for neutral hadrons", "0.01", (char*)0, 12, 0, (char**)0, 0, (char**)0,
05894  (KmParFlag)0, KmTYPE_REAL, &_GEANT_PHYSICS_CUTS_CUTNEU_type };
05895 static KmParReal   _GEANT_PHYSICS_CUTS_CUTMUO_type = { (char*)0, (char*)0,
05896  (char*)0, (char*)0, 0 };
05897 static KmParameter _GEANT_PHYSICS_CUTS_CUTMUO = { "CUTMUO", 6,
05898  "Cut for muons", "0.01", (char*)0, 12, 0, (char**)0, 0, (char**)0,
05899  (KmParFlag)0, KmTYPE_REAL, &_GEANT_PHYSICS_CUTS_CUTMUO_type };
05900 static KmParReal   _GEANT_PHYSICS_CUTS_BCUTE_type = { (char*)0, (char*)0,
05901  (char*)0, (char*)0, 0 };
05902 static KmParameter _GEANT_PHYSICS_CUTS_BCUTE = { "BCUTE", 5,
05903  "Cut for electron brems.", "-1.", (char*)0, 12, 0, (char**)0, 0, (char**)0,
05904  (KmParFlag)0, KmTYPE_REAL, &_GEANT_PHYSICS_CUTS_BCUTE_type };
05905 static KmParReal   _GEANT_PHYSICS_CUTS_BCUTM_type = { (char*)0, (char*)0,
05906  (char*)0, (char*)0, 0 };
05907 static KmParameter _GEANT_PHYSICS_CUTS_BCUTM = { "BCUTM", 5,
05908  "Cut for muon brems.", "-1.", (char*)0, 12, 0, (char**)0, 0, (char**)0,
05909  (KmParFlag)0, KmTYPE_REAL, &_GEANT_PHYSICS_CUTS_BCUTM_type };
05910 static KmParReal   _GEANT_PHYSICS_CUTS_DCUTE_type = { (char*)0, (char*)0,
05911  (char*)0, (char*)0, 0 };
05912 static KmParameter _GEANT_PHYSICS_CUTS_DCUTE = { "DCUTE", 5,
0