Go to the source code of this file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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; /* */
|
|
|
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; /* */
|
|
|
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; /* */
|
|
|
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; /* */
|
|
|
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; /* */
|
|
|
Definition at line 4286 of file g321x.c. References IntFunc, klnkmenu(), KmCommand, KmMenu, KmParReal, pCharFunc, and SUBROUTINE. 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 }
|
|
|
Definition at line 294 of file g321x.c. References IntFunc, klnkmenu(), KmCommand, KmMenu, KmParReal, pCharFunc, and SUBROUTINE. 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 }
|
|
|
Definition at line 4950 of file g321x.c. References IntFunc, klnkmenu(), KmCommand, KmMenu, pCharFunc, and SUBROUTINE. 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 }
|
|
|
Definition at line 6348 of file g321x.c. References IntFunc, klnkmenu(), KmCommand, KmMenu, pCharFunc, and SUBROUTINE. 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 }
|
|
|
Definition at line 5145 of file g321x.c. References IntFunc, klnkmenu(), KmCommand, KmMenu, pCharFunc, and SUBROUTINE. 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 }
|
|
|
Definition at line 2016 of file g321x.c. References IntFunc, klnkmenu(), KmCommand, KmMenu, KmParReal, pCharFunc, and SUBROUTINE. 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 }
|
|
|
Definition at line 3339 of file g321x.c. References IntFunc, klnkmenu(), KmCommand, KmMenu, KmParReal, pCharFunc, and SUBROUTINE. 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 }
|
|
|
Definition at line 2421 of file g321x.c. References IntFunc, klnkmenu(), KmCommand, KmMenu, pCharFunc, and SUBROUTINE. 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 }
|
|
|
Definition at line 5830 of file g321x.c. References IntFunc, klnkmenu(), KmCommand, KmMenu, KmParReal, pCharFunc, and SUBROUTINE. 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,
05913 "Cut for electron delta-rays", "-1.", (char*)0, 12, 0, (char**)0, 0,
05914 (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_PHYSICS_CUTS_DCUTE_type };
05915 static KmParReal _GEANT_PHYSICS_CUTS_DCUTM_type = { (char*)0, (char*)0,
05916 (char*)0, (char*)0, 0 };
05917 static KmParameter _GEANT_PHYSICS_CUTS_DCUTM = { "DCUTM", 5,
05918 "Cut for muon delta-rays", "-1.", (char*)0, 12, 0, (char**)0, 0, (char**)0,
05919 (KmParFlag)0, KmTYPE_REAL, &_GEANT_PHYSICS_CUTS_DCUTM_type };
05920 static KmParReal _GEANT_PHYSICS_CUTS_PPCUTM_type = { (char*)0, (char*)0,
05921 (char*)0, (char*)0, 0 };
05922 static KmParameter _GEANT_PHYSICS_CUTS_PPCUTM = { "PPCUTM", 6,
05923 "Cut for e+e- pairs by muons", "0.01", (char*)0, 12, 0, (char**)0, 0,
05924 (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_PHYSICS_CUTS_PPCUTM_type };
05925 static KmParReal _GEANT_PHYSICS_CUTS_TOFMAX_type = { (char*)0, (char*)0,
05926 (char*)0, (char*)0, 0 };
05927 static KmParameter _GEANT_PHYSICS_CUTS_TOFMAX = { "TOFMAX", 6,
05928 "Time of flight cut", "1.E+10", (char*)0, 12, 0, (char**)0, 0, (char**)0,
05929 (KmParFlag)0, KmTYPE_REAL, &_GEANT_PHYSICS_CUTS_TOFMAX_type };
05930 static KmParReal _GEANT_PHYSICS_CUTS_GCUTS_type = { (char*)0, (char*)0,
05931 (char*)0, (char*)0, 0 };
05932 static KmParameter _GEANT_PHYSICS_CUTS_GCUTS = { "GCUTS", 5, "5 user words",
05933 "0.", (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
05934 &_GEANT_PHYSICS_CUTS_GCUTS_type };
05935 static KmParameter *_GEANT_PHYSICS_CUTS_parameters[] = {
05936 &_GEANT_PHYSICS_CUTS_CUTGAM, &_GEANT_PHYSICS_CUTS_CUTELE,
05937 &_GEANT_PHYSICS_CUTS_CUTHAD, &_GEANT_PHYSICS_CUTS_CUTNEU,
05938 &_GEANT_PHYSICS_CUTS_CUTMUO, &_GEANT_PHYSICS_CUTS_BCUTE,
05939 &_GEANT_PHYSICS_CUTS_BCUTM, &_GEANT_PHYSICS_CUTS_DCUTE,
05940 &_GEANT_PHYSICS_CUTS_DCUTM, &_GEANT_PHYSICS_CUTS_PPCUTM,
05941 &_GEANT_PHYSICS_CUTS_TOFMAX, &_GEANT_PHYSICS_CUTS_GCUTS };
05942 static char *_GEANT_PHYSICS_CUTS_guidance[] = {
05943 "To change physics cuts. If no parameter is given, the list",
05944 "of the current cuts is printed.",
05945 " If the default values (-1.) for BCUTE ,BCUTM ,DCUTE ,DCUTM",
05946 " are not modified, they will be set to CUTGAM,CUTGAM,CUTELE,CUTELE",
05947 " respectively.", "If one of the parameters from CUTGAM to PPCUTM included",
05948 "is modified, cross-sections and energy loss tables must be",
05949 "recomputed via the command 'PHYSI'." };
05950 static KmCommand _GEANT_PHYSICS_CUTS = { &_GEANT_PHYSICS_DRPRT,
05951 "/GEANT/PHYSICS/CUTS", "CUTS", 0, 2, 12, 0, _GEANT_PHYSICS_CUTS_parameters,
05952 0, 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 8,
05953 _GEANT_PHYSICS_CUTS_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
05954 (char*)0, (int*)0 };
05955
05956 static char *_GEANT_PHYSICS_SYNC_ISYNC_range[] = { "0", "1" };
05957 static KmParInt _GEANT_PHYSICS_SYNC_ISYNC_type = { (char*)0, (char*)0,
05958 (char*)0, (char*)0, 0 };
05959 static KmParameter _GEANT_PHYSICS_SYNC_ISYNC = { "ISYNC", 5, "Flag ISYNC",
05960 "1", (char*)0, 8, 2, _GEANT_PHYSICS_SYNC_ISYNC_range, 2,
05961 _GEANT_PHYSICS_SYNC_ISYNC_range, (KmParFlag)0, KmTYPE_INT,
05962 &_GEANT_PHYSICS_SYNC_ISYNC_type };
05963 static KmParameter *_GEANT_PHYSICS_SYNC_parameters[] = {
05964 &_GEANT_PHYSICS_SYNC_ISYNC };
05965 static char *_GEANT_PHYSICS_SYNC_guidance[] = {
05966 "To control synchrotron radiation:", " ISYNC=0 no synchrotron radiation;",
05967 " =1 synchrotron radiation." };
05968 static KmCommand _GEANT_PHYSICS_SYNC = { &_GEANT_PHYSICS_CUTS,
05969 "/GEANT/PHYSICS/SYNC", "SYNC", 0, 2, 1, 0, _GEANT_PHYSICS_SYNC_parameters, 0,
05970 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3,
05971 _GEANT_PHYSICS_SYNC_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
05972 (char*)0, (int*)0 };
05973
05974 static char *_GEANT_PHYSICS_STRA_ISTRA_range[] = { "0", "1", "2" };
05975 static KmParInt _GEANT_PHYSICS_STRA_ISTRA_type = { (char*)0, (char*)0,
05976 (char*)0, (char*)0, 0 };
05977 static KmParameter _GEANT_PHYSICS_STRA_ISTRA = { "ISTRA", 5, "Flag ISTRA",
05978 "0", (char*)0, 8, 3, _GEANT_PHYSICS_STRA_ISTRA_range, 3,
05979 _GEANT_PHYSICS_STRA_ISTRA_range, (KmParFlag)0, KmTYPE_INT,
05980 &_GEANT_PHYSICS_STRA_ISTRA_type };
05981 static KmParameter *_GEANT_PHYSICS_STRA_parameters[] = {
05982 &_GEANT_PHYSICS_STRA_ISTRA };
05983 static char *_GEANT_PHYSICS_STRA_guidance[] = {
05984 "To control energy loss fluctuation model:", " ISTRA=0 Urban model;",
05985 " =1 PAI model;", " =2 PAI+ASHO model (not active at the moment)."
05986 };
05987 static KmCommand _GEANT_PHYSICS_STRA = { &_GEANT_PHYSICS_SYNC,
05988 "/GEANT/PHYSICS/STRA", "STRA", 0, 2, 1, 0, _GEANT_PHYSICS_STRA_parameters, 0,
05989 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 4,
05990 _GEANT_PHYSICS_STRA_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
05991 (char*)0, (int*)0 };
05992
05993 static char *_GEANT_PHYSICS_RAYL_IRAYL_range[] = { "0", "1" };
05994 static KmParInt _GEANT_PHYSICS_RAYL_IRAYL_type = { (char*)0, (char*)0,
05995 (char*)0, (char*)0, 0 };
05996 static KmParameter _GEANT_PHYSICS_RAYL_IRAYL = { "IRAYL", 5, "Flag IRAYL",
05997 "1", (char*)0, 8, 2, _GEANT_PHYSICS_RAYL_IRAYL_range, 2,
05998 _GEANT_PHYSICS_RAYL_IRAYL_range, (KmParFlag)0, KmTYPE_INT,
05999 &_GEANT_PHYSICS_RAYL_IRAYL_type };
06000 static KmParameter *_GEANT_PHYSICS_RAYL_parameters[] = {
06001 &_GEANT_PHYSICS_RAYL_IRAYL };
06002 static char *_GEANT_PHYSICS_RAYL_guidance[] = {
06003 "To control Rayleigh scattering.", " IRAYL=0 no Rayleigh scattering.",
06004 " =1 Rayleigh." };
06005 static KmCommand _GEANT_PHYSICS_RAYL = { &_GEANT_PHYSICS_STRA,
06006 "/GEANT/PHYSICS/RAYL", "RAYL", 0, 2, 1, 0, _GEANT_PHYSICS_RAYL_parameters, 0,
06007 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3,
06008 _GEANT_PHYSICS_RAYL_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
06009 (char*)0, (int*)0 };
06010
06011 static char *_GEANT_PHYSICS_PHOT_IPHOT_range[] = { "0", "1", "2" };
06012 static KmParInt _GEANT_PHYSICS_PHOT_IPHOT_type = { (char*)0, (char*)0,
06013 (char*)0, (char*)0, 0 };
06014 static KmParameter _GEANT_PHYSICS_PHOT_IPHOT = { "IPHOT", 5, "Flag IPHOT",
06015 "1", (char*)0, 8, 3, _GEANT_PHYSICS_PHOT_IPHOT_range, 3,
06016 _GEANT_PHYSICS_PHOT_IPHOT_range, (KmParFlag)0, KmTYPE_INT,
06017 &_GEANT_PHYSICS_PHOT_IPHOT_type };
06018 static KmParameter *_GEANT_PHYSICS_PHOT_parameters[] = {
06019 &_GEANT_PHYSICS_PHOT_IPHOT };
06020 static char *_GEANT_PHYSICS_PHOT_guidance[] = { "To control Photo effect.",
06021 " IPHOT=0 no photo electric effect.",
06022 " =1 Photo effect. Electron processed.",
06023 " =2 Photo effect. No electron stored." };
06024 static KmCommand _GEANT_PHYSICS_PHOT = { &_GEANT_PHYSICS_RAYL,
06025 "/GEANT/PHYSICS/PHOT", "PHOT", 0, 2, 1, 0, _GEANT_PHYSICS_PHOT_parameters, 0,
06026 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 4,
06027 _GEANT_PHYSICS_PHOT_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
06028 (char*)0, (int*)0 };
06029
06030 static char *_GEANT_PHYSICS_PFIS_IPFIS_range[] = { "0", "1", "2" };
06031 static KmParInt _GEANT_PHYSICS_PFIS_IPFIS_type = { (char*)0, (char*)0,
06032 (char*)0, (char*)0, 0 };
06033 static KmParameter _GEANT_PHYSICS_PFIS_IPFIS = { "IPFIS", 5, "Flag IPFIS",
06034 "1", (char*)0, 8, 3, _GEANT_PHYSICS_PFIS_IPFIS_range, 3,
06035 _GEANT_PHYSICS_PFIS_IPFIS_range, (KmParFlag)0, KmTYPE_INT,
06036 &_GEANT_PHYSICS_PFIS_IPFIS_type };
06037 static KmParameter *_GEANT_PHYSICS_PFIS_parameters[] = {
06038 &_GEANT_PHYSICS_PFIS_IPFIS };
06039 static char *_GEANT_PHYSICS_PFIS_guidance[] = {
06040 "To control photo fission mechanism.", " IPFIS=0 no photo fission.",
06041 " =1 Photo fission. secondaries processed.",
06042 " =2 Photo fission. No secondaries stored." };
06043 static KmCommand _GEANT_PHYSICS_PFIS = { &_GEANT_PHYSICS_PHOT,
06044 "/GEANT/PHYSICS/PFIS", "PFIS", 0, 2, 1, 0, _GEANT_PHYSICS_PFIS_parameters, 0,
06045 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 4,
06046 _GEANT_PHYSICS_PFIS_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
06047 (char*)0, (int*)0 };
06048
06049 static char *_GEANT_PHYSICS_PAIR_IPAIR_range[] = { "0", "1", "2" };
06050 static KmParInt _GEANT_PHYSICS_PAIR_IPAIR_type = { (char*)0, (char*)0,
06051 (char*)0, (char*)0, 0 };
06052 static KmParameter _GEANT_PHYSICS_PAIR_IPAIR = { "IPAIR", 5, "Flag IPAIR",
06053 "1", (char*)0, 8, 3, _GEANT_PHYSICS_PAIR_IPAIR_range, 3,
06054 _GEANT_PHYSICS_PAIR_IPAIR_range, (KmParFlag)0, KmTYPE_INT,
06055 &_GEANT_PHYSICS_PAIR_IPAIR_type };
06056 static KmParameter *_GEANT_PHYSICS_PAIR_parameters[] = {
06057 &_GEANT_PHYSICS_PAIR_IPAIR };
06058 static char *_GEANT_PHYSICS_PAIR_guidance[] = {
06059 "To control pair production mechanism.", " IPAIR=0 no pair production.",
06060 " =1 Pair production. secondaries processed.",
06061 " =2 Pair production. No secondaries stored." };
06062 static KmCommand _GEANT_PHYSICS_PAIR = { &_GEANT_PHYSICS_PFIS,
06063 "/GEANT/PHYSICS/PAIR", "PAIR", 0, 2, 1, 0, _GEANT_PHYSICS_PAIR_parameters, 0,
06064 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 4,
06065 _GEANT_PHYSICS_PAIR_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
06066 (char*)0, (int*)0 };
06067
06068 static char *_GEANT_PHYSICS_MUNU_IMUNU_range[] = { "0", "1", "2" };
06069 static KmParInt _GEANT_PHYSICS_MUNU_IMUNU_type = { (char*)0, (char*)0,
06070 (char*)0, (char*)0, 0 };
06071 static KmParameter _GEANT_PHYSICS_MUNU_IMUNU = { "IMUNU", 5, "Flag IMUNU",
06072 "1", (char*)0, 8, 3, _GEANT_PHYSICS_MUNU_IMUNU_range, 3,
06073 _GEANT_PHYSICS_MUNU_IMUNU_range, (KmParFlag)0, KmTYPE_INT,
06074 &_GEANT_PHYSICS_MUNU_IMUNU_type };
06075 static KmParameter *_GEANT_PHYSICS_MUNU_parameters[] = {
06076 &_GEANT_PHYSICS_MUNU_IMUNU };
06077 static char *_GEANT_PHYSICS_MUNU_guidance[] = {
06078 "To control muon nuclear interactions.",
06079 " IMUNU=0 no muon-nuclear interactions.",
06080 " =1 Nuclear interactions. Secondaries processed.",
06081 " =2 Nuclear interactions. Secondaries not processed." };
06082 static KmCommand _GEANT_PHYSICS_MUNU = { &_GEANT_PHYSICS_PAIR,
06083 "/GEANT/PHYSICS/MUNU", "MUNU", 0, 2, 1, 0, _GEANT_PHYSICS_MUNU_parameters, 0,
06084 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 4,
06085 _GEANT_PHYSICS_MUNU_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
06086 (char*)0, (int*)0 };
06087
06088 static char *_GEANT_PHYSICS_MULS_IMULS_range[] = { "0", "1", "2", "3" };
06089 static KmParInt _GEANT_PHYSICS_MULS_IMULS_type = { (char*)0, (char*)0,
06090 (char*)0, (char*)0, 0 };
06091 static KmParameter _GEANT_PHYSICS_MULS_IMULS = { "IMULS", 5, "Flag IMULS",
06092 "1", (char*)0, 8, 4, _GEANT_PHYSICS_MULS_IMULS_range, 4,
06093 _GEANT_PHYSICS_MULS_IMULS_range, (KmParFlag)0, KmTYPE_INT,
06094 &_GEANT_PHYSICS_MULS_IMULS_type };
06095 static KmParameter *_GEANT_PHYSICS_MULS_parameters[] = {
06096 &_GEANT_PHYSICS_MULS_IMULS };
06097 static char *_GEANT_PHYSICS_MULS_guidance[] = {
06098 "To control multiple scattering.", " IMULS=0 no multiple scattering.",
06099 " =1 Moliere or Coulomb scattering.",
06100 " =2 Moliere or Coulomb scattering.", " =3 Gaussian scattering." };
06101 static KmCommand _GEANT_PHYSICS_MULS = { &_GEANT_PHYSICS_MUNU,
06102 "/GEANT/PHYSICS/MULS", "MULS", 0, 2, 1, 0, _GEANT_PHYSICS_MULS_parameters, 0,
06103 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 5,
06104 _GEANT_PHYSICS_MULS_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
06105 (char*)0, (int*)0 };
06106
06107 static char *_GEANT_PHYSICS_LOSS_ILOSS_range[] = { "0", "1", "2", "3", "4" };
06108 static KmParInt _GEANT_PHYSICS_LOSS_ILOSS_type = { (char*)0, (char*)0,
06109 (char*)0, (char*)0, 0 };
06110 static KmParameter _GEANT_PHYSICS_LOSS_ILOSS = { "ILOSS", 5, "Flag ILOSS",
06111 "2", (char*)0, 8, 5, _GEANT_PHYSICS_LOSS_ILOSS_range, 5,
06112 _GEANT_PHYSICS_LOSS_ILOSS_range, (KmParFlag)0, KmTYPE_INT,
06113 &_GEANT_PHYSICS_LOSS_ILOSS_type };
06114 static KmParameter *_GEANT_PHYSICS_LOSS_parameters[] = {
06115 &_GEANT_PHYSICS_LOSS_ILOSS };
06116 static char *_GEANT_PHYSICS_LOSS_guidance[] = { "To control energy loss.",
06117 " ILOSS=0 no energy loss;", " =1 restricted energy loss fluctuations;",
06118 " =2 complete energy loss fluctuations;", " =3 same as 1;",
06119 " =4 no energy loss fluctuations.",
06120 "If the value ILOSS is changed, then cross-sections and energy loss",
06121 "tables must be recomputed via the command 'PHYSI'." };
06122 static KmCommand _GEANT_PHYSICS_LOSS = { &_GEANT_PHYSICS_MULS,
06123 "/GEANT/PHYSICS/LOSS", "LOSS", 0, 2, 1, 0, _GEANT_PHYSICS_LOSS_parameters, 0,
06124 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 8,
06125 _GEANT_PHYSICS_LOSS_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
06126 (char*)0, (int*)0 };
06127
06128 static KmParInt _GEANT_PHYSICS_LABS_LABS_type = { (char*)0, (char*)0,
06129 (char*)0, (char*)0, 0 };
06130 static KmParameter _GEANT_PHYSICS_LABS_LABS = { "LABS", 4, "Flag LABS", "0",
06131 (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
06132 &_GEANT_PHYSICS_LABS_LABS_type };
06133 static KmParameter *_GEANT_PHYSICS_LABS_parameters[] = {
06134 &_GEANT_PHYSICS_LABS_LABS };
06135 static char *_GEANT_PHYSICS_LABS_guidance[] = {
06136 "To control absorbtion of Cerenkov photons:",
06137 " LABS=0 no absorbtion of photons;", " LABS=1 absorbtion of photons;" };
06138 static KmCommand _GEANT_PHYSICS_LABS = { &_GEANT_PHYSICS_LOSS,
06139 "/GEANT/PHYSICS/LABS", "LABS", 0, 2, 1, 0, _GEANT_PHYSICS_LABS_parameters, 0,
06140 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3,
06141 _GEANT_PHYSICS_LABS_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
06142 (char*)0, (int*)0 };
06143
06144 static KmParInt _GEANT_PHYSICS_HADR_IHADR_type = { (char*)0, (char*)0,
06145 (char*)0, (char*)0, 0 };
06146 static KmParameter _GEANT_PHYSICS_HADR_IHADR = { "IHADR", 5, "Flag IHADR",
06147 "1", (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
06148 &_GEANT_PHYSICS_HADR_IHADR_type };
06149 static KmParameter *_GEANT_PHYSICS_HADR_parameters[] = {
06150 &_GEANT_PHYSICS_HADR_IHADR };
06151 static char *_GEANT_PHYSICS_HADR_guidance[] = {
06152 "To control hadronic interactions.", " IHADR=0 no hadronic interactions.",
06153 " =1 Hadronic interactions. secondaries processed.",
06154 " =2 Hadronic interactions. No secondaries stored." };
06155 static KmCommand _GEANT_PHYSICS_HADR = { &_GEANT_PHYSICS_LABS,
06156 "/GEANT/PHYSICS/HADR", "HADR", 0, 2, 1, 0, _GEANT_PHYSICS_HADR_parameters, 0,
06157 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 4,
06158 _GEANT_PHYSICS_HADR_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
06159 (char*)0, (int*)0 };
06160
06161 static KmParReal _GEANT_PHYSICS_ERAN_EKMIN_type = { (char*)0, (char*)0,
06162 (char*)0, (char*)0, 0 };
06163 static KmParameter _GEANT_PHYSICS_ERAN_EKMIN = { "EKMIN", 5,
06164 "Minimum energy of the tables", "1E-5", (char*)0, 12, 0, (char**)0, 0,
06165 (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_PHYSICS_ERAN_EKMIN_type };
06166 static KmParReal _GEANT_PHYSICS_ERAN_EKMAX_type = { (char*)0, (char*)0,
06167 (char*)0, (char*)0, 0 };
06168 static KmParameter _GEANT_PHYSICS_ERAN_EKMAX = { "EKMAX", 5,
06169 "Maximum energy of the tables", "1E+4", (char*)0, 12, 0, (char**)0, 0,
06170 (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_PHYSICS_ERAN_EKMAX_type };
06171 static KmParInt _GEANT_PHYSICS_ERAN_NEKBIN_type = { "1", "200", "1", "200",
06172 0 };
06173 static KmParameter _GEANT_PHYSICS_ERAN_NEKBIN = { "NEKBIN", 6,
06174 "Number of bins in the tables", "90", (char*)0, 4, 0, (char**)0, 0,
06175 (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_PHYSICS_ERAN_NEKBIN_type };
06176 static KmParameter *_GEANT_PHYSICS_ERAN_parameters[] = {
06177 &_GEANT_PHYSICS_ERAN_EKMIN, &_GEANT_PHYSICS_ERAN_EKMAX,
06178 &_GEANT_PHYSICS_ERAN_NEKBIN };
06179 static char *_GEANT_PHYSICS_ERAN_guidance[] = {
06180 "To define the range and binning of internal tables." };
06181 static KmCommand _GEANT_PHYSICS_ERAN = { &_GEANT_PHYSICS_HADR,
06182 "/GEANT/PHYSICS/ERAN", "ERAN", 0, 2, 3, 0, _GEANT_PHYSICS_ERAN_parameters, 0,
06183 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 1,
06184 _GEANT_PHYSICS_ERAN_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
06185 (char*)0, (int*)0 };
06186
06187 static char *_GEANT_PHYSICS_DRAY_IDRAY_range[] = { "0", "1", "2" };
06188 static KmParInt _GEANT_PHYSICS_DRAY_IDRAY_type = { (char*)0, (char*)0,
06189 (char*)0, (char*)0, 0 };
06190 static KmParameter _GEANT_PHYSICS_DRAY_IDRAY = { "IDRAY", 5, "Flag IDRAY",
06191 "1", (char*)0, 8, 3, _GEANT_PHYSICS_DRAY_IDRAY_range, 3,
06192 _GEANT_PHYSICS_DRAY_IDRAY_range, (KmParFlag)0, KmTYPE_INT,
06193 &_GEANT_PHYSICS_DRAY_IDRAY_type };
06194 static KmParameter *_GEANT_PHYSICS_DRAY_parameters[] = {
06195 &_GEANT_PHYSICS_DRAY_IDRAY };
06196 static char *_GEANT_PHYSICS_DRAY_guidance[] = {
06197 "To control delta rays mechanism.", " IDRAY=0 no delta rays.",
06198 " =1 Delta rays. secondaries processed.",
06199 " =2 Delta rays. No secondaries stored." };
06200 static KmCommand _GEANT_PHYSICS_DRAY = { &_GEANT_PHYSICS_ERAN,
06201 "/GEANT/PHYSICS/DRAY", "DRAY", 0, 2, 1, 0, _GEANT_PHYSICS_DRAY_parameters, 0,
06202 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 4,
06203 _GEANT_PHYSICS_DRAY_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
06204 (char*)0, (int*)0 };
06205
06206 static char *_GEANT_PHYSICS_DCAY_IDCAY_range[] = { "0", "1", "2" };
06207 static KmParInt _GEANT_PHYSICS_DCAY_IDCAY_type = { (char*)0, (char*)0,
06208 (char*)0, (char*)0, 0 };
06209 static KmParameter _GEANT_PHYSICS_DCAY_IDCAY = { "IDCAY", 5, "Flag IDCAY",
06210 "1", (char*)0, 8, 3, _GEANT_PHYSICS_DCAY_IDCAY_range, 3,
06211 _GEANT_PHYSICS_DCAY_IDCAY_range, (KmParFlag)0, KmTYPE_INT,
06212 &_GEANT_PHYSICS_DCAY_IDCAY_type };
06213 static KmParameter *_GEANT_PHYSICS_DCAY_parameters[] = {
06214 &_GEANT_PHYSICS_DCAY_IDCAY };
06215 static char *_GEANT_PHYSICS_DCAY_guidance[] = { "To control Decay mechanism.",
06216 " IDCAY=0 no decays.", " =1 Decays. secondaries processed.",
06217 " =2 Decays. No secondaries stored." };
06218 static KmCommand _GEANT_PHYSICS_DCAY = { &_GEANT_PHYSICS_DRAY,
06219 "/GEANT/PHYSICS/DCAY", "DCAY", 0, 2, 1, 0, _GEANT_PHYSICS_DCAY_parameters, 0,
06220 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 4,
06221 _GEANT_PHYSICS_DCAY_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
06222 (char*)0, (int*)0 };
06223
06224 static char *_GEANT_PHYSICS_COMP_ICOMP_range[] = { "0", "1", "2" };
06225 static KmParInt _GEANT_PHYSICS_COMP_ICOMP_type = { (char*)0, (char*)0,
06226 (char*)0, (char*)0, 0 };
06227 static KmParameter _GEANT_PHYSICS_COMP_ICOMP = { "ICOMP", 5, "Flag ICOMP",
06228 "1", (char*)0, 8, 3, _GEANT_PHYSICS_COMP_ICOMP_range, 3,
06229 _GEANT_PHYSICS_COMP_ICOMP_range, (KmParFlag)0, KmTYPE_INT,
06230 &_GEANT_PHYSICS_COMP_ICOMP_type };
06231 static KmParameter *_GEANT_PHYSICS_COMP_parameters[] = {
06232 &_GEANT_PHYSICS_COMP_ICOMP };
06233 static char *_GEANT_PHYSICS_COMP_guidance[] = {
06234 "To control Compton scattering", " ICOMP=0 no Compton",
06235 " =1 Compton. Electron processed.",
06236 " =2 Compton. No electron stored." };
06237 static KmCommand _GEANT_PHYSICS_COMP = { &_GEANT_PHYSICS_DCAY,
06238 "/GEANT/PHYSICS/COMP", "COMP", 0, 2, 1, 0, _GEANT_PHYSICS_COMP_parameters, 0,
06239 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 4,
06240 _GEANT_PHYSICS_COMP_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
06241 (char*)0, (int*)0 };
06242
06243 static char *_GEANT_PHYSICS_CKOV_ICKOV_range[] = { "0", "1", "2" };
06244 static KmParInt _GEANT_PHYSICS_CKOV_ICKOV_type = { (char*)0, (char*)0,
06245 (char*)0, (char*)0, 0 };
06246 static KmParameter _GEANT_PHYSICS_CKOV_ICKOV = { "ICKOV", 5, "Flag ICKOV",
06247 "0", (char*)0, 8, 3, _GEANT_PHYSICS_CKOV_ICKOV_range, 3,
06248 _GEANT_PHYSICS_CKOV_ICKOV_range, (KmParFlag)0, KmTYPE_INT,
06249 &_GEANT_PHYSICS_CKOV_ICKOV_type };
06250 static KmParameter *_GEANT_PHYSICS_CKOV_parameters[] = {
06251 &_GEANT_PHYSICS_CKOV_ICKOV };
06252 static char *_GEANT_PHYSICS_CKOV_guidance[] = {
06253 "To control Cerenkov production", " ICOMP=0 no Cerenkov;",
06254 " =1 Cerenkov;", " =2 Cerenkov with primary stopped at each step."
06255 };
06256 static KmCommand _GEANT_PHYSICS_CKOV = { &_GEANT_PHYSICS_COMP,
06257 "/GEANT/PHYSICS/CKOV", "CKOV", 0, 2, 1, 0, _GEANT_PHYSICS_CKOV_parameters, 0,
06258 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 4,
06259 _GEANT_PHYSICS_CKOV_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
06260 (char*)0, (int*)0 };
06261
06262 static char *_GEANT_PHYSICS_BREM_IBREM_range[] = { "0", "1", "2" };
06263 static KmParInt _GEANT_PHYSICS_BREM_IBREM_type = { (char*)0, (char*)0,
06264 (char*)0, (char*)0, 0 };
06265 static KmParameter _GEANT_PHYSICS_BREM_IBREM = { "IBREM", 5, "Flag IBREM",
06266 "1", (char*)0, 8, 3, _GEANT_PHYSICS_BREM_IBREM_range, 3,
06267 _GEANT_PHYSICS_BREM_IBREM_range, (KmParFlag)0, KmTYPE_INT,
06268 &_GEANT_PHYSICS_BREM_IBREM_type };
06269 static KmParameter *_GEANT_PHYSICS_BREM_parameters[] = {
06270 &_GEANT_PHYSICS_BREM_IBREM };
06271 static char *_GEANT_PHYSICS_BREM_guidance[] = { "To control bremstrahlung.",
06272 " IBREM=0 no bremstrahlung", " =1 bremstrahlung. Photon processed.",
06273 " =2 bremstrahlung. No photon stored." };
06274 static KmCommand _GEANT_PHYSICS_BREM = { &_GEANT_PHYSICS_CKOV,
06275 "/GEANT/PHYSICS/BREM", "BREM", 0, 2, 1, 0, _GEANT_PHYSICS_BREM_parameters, 0,
06276 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 4,
06277 _GEANT_PHYSICS_BREM_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
06278 (char*)0, (int*)0 };
06279
06280 static char *_GEANT_PHYSICS_AUTO_IAUTO_range[] = { "0", "1" };
06281 static KmParInt _GEANT_PHYSICS_AUTO_IAUTO_type = { (char*)0, (char*)0,
06282 (char*)0, (char*)0, 0 };
06283 static KmParameter _GEANT_PHYSICS_AUTO_IAUTO = { "IAUTO", 5, "Flag IAUTO",
06284 "1", (char*)0, 8, 2, _GEANT_PHYSICS_AUTO_IAUTO_range, 2,
06285 _GEANT_PHYSICS_AUTO_IAUTO_range, (KmParFlag)0, KmTYPE_INT,
06286 &_GEANT_PHYSICS_AUTO_IAUTO_type };
06287 static KmParameter *_GEANT_PHYSICS_AUTO_parameters[] = {
06288 &_GEANT_PHYSICS_AUTO_IAUTO };
06289 static char *_GEANT_PHYSICS_AUTO_guidance[] = {
06290 "To control automatic calculation of tracking medium parameters:",
06291 " IAUTO=0 no automatic calculation;", " =1 automati calculation." };
06292 static KmCommand _GEANT_PHYSICS_AUTO = { &_GEANT_PHYSICS_BREM,
06293 "/GEANT/PHYSICS/AUTO", "AUTO", 0, 2, 1, 0, _GEANT_PHYSICS_AUTO_parameters, 0,
06294 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 3,
06295 _GEANT_PHYSICS_AUTO_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
06296 (char*)0, (int*)0 };
06297
06298 static char *_GEANT_PHYSICS_ANNI_IANNI_range[] = { "0", "1", "2" };
06299 static KmParInt _GEANT_PHYSICS_ANNI_IANNI_type = { (char*)0, (char*)0,
06300 (char*)0, (char*)0, 0 };
06301 static KmParameter _GEANT_PHYSICS_ANNI_IANNI = { "IANNI", 5, "Flag IANNI",
06302 "1", (char*)0, 8, 3, _GEANT_PHYSICS_ANNI_IANNI_range, 3,
06303 _GEANT_PHYSICS_ANNI_IANNI_range, (KmParFlag)0, KmTYPE_INT,
06304 &_GEANT_PHYSICS_ANNI_IANNI_type };
06305 static KmParameter *_GEANT_PHYSICS_ANNI_parameters[] = {
06306 &_GEANT_PHYSICS_ANNI_IANNI };
06307 static char *_GEANT_PHYSICS_ANNI_guidance[] = {
06308 "To control positron annihilation.", " IANNI=0 no annihilation",
06309 " =1 annihilation. Decays processed.",
06310 " =2 annihilation. No decay products stored." };
06311 static KmCommand _GEANT_PHYSICS_ANNI = { &_GEANT_PHYSICS_AUTO,
06312 "/GEANT/PHYSICS/ANNI", "ANNI", 0, 2, 1, 0, _GEANT_PHYSICS_ANNI_parameters, 0,
06313 0, gxphys_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 4,
06314 _GEANT_PHYSICS_ANNI_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
06315 (char*)0, (int*)0 };
06316
06317 static char *_GEANT_PHYSICS_guidance[] = {
06318 "Commands to set physics parameters." };
06319 static KmMenu _GEANT_PHYSICS = { (KmMenu*)0, (KmMenu*)0, "/GEANT/PHYSICS",
06320 "PHYSICS", 2, &_GEANT_PHYSICS_ANNI, 1, _GEANT_PHYSICS_guidance, 0, (char**)0,
06321 0, (char**)0 };
06322
06323 static KmMenu _GEANT = { (KmMenu*)0, &_GEANT_PHYSICS, "/GEANT", "GEANT", 1,
06324 (KmCommand*)0, 0, (char**)0, 0, (char**)0, 0, (char**)0 };
06325
06326 klnkmenu( &_GEANT, 950303 );
06327 }
|
|
|
Definition at line 5271 of file g321x.c. References IntFunc, klnkmenu(), KmCommand, KmMenu, pCharFunc, and SUBROUTINE. 05272 {
05273
05274 static KmParameter _GEANT_RZ_FREE_CHDIR = { "CHDIR", 5, "Lock identifier",
05275 "RZFILE", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
05276 KmTYPE_CHAR, (void*)0 };
05277 static KmParameter *_GEANT_RZ_FREE_parameters[] = { &_GEANT_RZ_FREE_CHDIR };
05278 static char *_GEANT_RZ_FREE_guidance[] = { "Free an RZ directory." };
05279 static KmCommand _GEANT_RZ_FREE = { (KmCommand*)0, "/GEANT/RZ/FREE", "FREE",
05280 0, 2, 1, 1, _GEANT_RZ_FREE_parameters, 0, 0, gxrz_, (IntFunc*)0,
05281 (SUBROUTINE*)0, (pCharFunc*)0, 1, _GEANT_RZ_FREE_guidance, 0, (char**)0, 0,
05282 (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05283
05284 static KmParameter _GEANT_RZ_LOCK_CHDIR = { "CHDIR", 5, "Lock identifier",
05285 "RZFILE", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
05286 KmTYPE_CHAR, (void*)0 };
05287 static KmParameter *_GEANT_RZ_LOCK_parameters[] = { &_GEANT_RZ_LOCK_CHDIR };
05288 static char *_GEANT_RZ_LOCK_guidance[] = { "Lock an RZ directory." };
05289 static KmCommand _GEANT_RZ_LOCK = { &_GEANT_RZ_FREE, "/GEANT/RZ/LOCK", "LOCK",
05290 0, 2, 1, 1, _GEANT_RZ_LOCK_parameters, 0, 0, gxrz_, (IntFunc*)0,
05291 (SUBROUTINE*)0, (pCharFunc*)0, 1, _GEANT_RZ_LOCK_guidance, 0, (char**)0, 0,
05292 (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05293
05294 static KmParameter _GEANT_RZ_SCR_OBJECT = { "OBJECT", 6, "Structure name",
05295 (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
05296 KmTYPE_CHAR, (void*)0 };
05297 static KmParInt _GEANT_RZ_SCR_IDVERS_type = { (char*)0, (char*)0, (char*)0,
05298 (char*)0, 0 };
05299 static KmParameter _GEANT_RZ_SCR_IDVERS = { "IDVERS", 6, "Version number",
05300 "1", (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
05301 &_GEANT_RZ_SCR_IDVERS_type };
05302 static KmParameter *_GEANT_RZ_SCR_parameters[] = { &_GEANT_RZ_SCR_OBJECT,
05303 &_GEANT_RZ_SCR_IDVERS };
05304 static char *_GEANT_RZ_SCR_guidance[] = {
05305 "Delete entry identified by OBJECT,IDVERS on RZ file.",
05306 "OBJECT may be : MATE,TMED,VOLU,ROTM,SETS,PART,SCAN, *",
05307 "If OBJECT= * delete all entries with IDVERS." };
05308 static KmCommand _GEANT_RZ_SCR = { &_GEANT_RZ_LOCK, "/GEANT/RZ/SCR", "SCR", 0,
05309 2, 2, 1, _GEANT_RZ_SCR_parameters, 0, 0, gxrz_, (IntFunc*)0, (SUBROUTINE*)0,
05310 (pCharFunc*)0, 3, _GEANT_RZ_SCR_guidance, 0, (char**)0, 0, (char**)0, 0,
05311 (char**)0, (char*)0, (int*)0 };
05312
05313 static KmParInt _GEANT_RZ_PURGE_NKEEP_type = { (char*)0, (char*)0,
05314 (char*)0, (char*)0, 0 };
05315 static KmParameter _GEANT_RZ_PURGE_NKEEP = { "NKEEP", 5,
05316 "Number of cycles to keep", "1", (char*)0, 8, 0, (char**)0, 0, (char**)0,
05317 (KmParFlag)0, KmTYPE_INT, &_GEANT_RZ_PURGE_NKEEP_type };
05318 static KmParameter *_GEANT_RZ_PURGE_parameters[] = { &_GEANT_RZ_PURGE_NKEEP };
05319 static char *_GEANT_RZ_PURGE_guidance[] = { "Purge an RZ directory." };
05320 static KmCommand _GEANT_RZ_PURGE = { &_GEANT_RZ_SCR, "/GEANT/RZ/PURGE",
05321 "PURGE", 0, 2, 1, 0, _GEANT_RZ_PURGE_parameters, 0, 0, gxrz_, (IntFunc*)0,
05322 (SUBROUTINE*)0, (pCharFunc*)0, 1, _GEANT_RZ_PURGE_guidance, 0, (char**)0, 0,
05323 (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05324
05325 static KmParameter _GEANT_RZ_LDIR_CHPATH = { "CHPATH", 6, "Path name", " ",
05326 (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
05327 (void*)0 };
05328 static KmParOption _GEANT_RZ_LDIR_CHOPT_type = { (char**)0, (int*)0, (int*)0 };
05329 static KmParameter _GEANT_RZ_LDIR_CHOPT = { "CHOPT", 5, "CHOPT", " ",
05330 (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_OPTION,
05331 &_GEANT_RZ_LDIR_CHOPT_type };
05332 static KmParameter *_GEANT_RZ_LDIR_parameters[] = { &_GEANT_RZ_LDIR_CHPATH,
05333 &_GEANT_RZ_LDIR_CHOPT };
05334 static char *_GEANT_RZ_LDIR_guidance[] = {
05335 "List the contents of a directory (memory or disk).",
05336 "To list all RZ files currently open, type 'LD //'." };
05337 static KmCommand _GEANT_RZ_LDIR = { &_GEANT_RZ_PURGE, "/GEANT/RZ/LDIR",
05338 "LDIR", 0, 2, 2, 0, _GEANT_RZ_LDIR_parameters, 0, 0, gxrz_, (IntFunc*)0,
05339 (SUBROUTINE*)0, (pCharFunc*)0, 2, _GEANT_RZ_LDIR_guidance, 0, (char**)0, 0,
05340 (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05341
05342 static KmParameter _GEANT_RZ_OUT_OBJECT = { "OBJECT", 6, "Structure name",
05343 (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
05344 KmTYPE_CHAR, (void*)0 };
05345 static KmParInt _GEANT_RZ_OUT_IDVERS_type = { (char*)0, (char*)0, (char*)0,
05346 (char*)0, 0 };
05347 static KmParameter _GEANT_RZ_OUT_IDVERS = { "IDVERS", 6, "Version number",
05348 "1", (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
05349 &_GEANT_RZ_OUT_IDVERS_type };
05350 static KmParOption _GEANT_RZ_OUT_CHOPT_type = { (char**)0, (int*)0, (int*)0 };
05351 static KmParameter _GEANT_RZ_OUT_CHOPT = { "CHOPT", 5, "Option", " ",
05352 (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_OPTION,
05353 &_GEANT_RZ_OUT_CHOPT_type };
05354 static KmParameter *_GEANT_RZ_OUT_parameters[] = { &_GEANT_RZ_OUT_OBJECT,
05355 &_GEANT_RZ_OUT_IDVERS, &_GEANT_RZ_OUT_CHOPT };
05356 static char *_GEANT_RZ_OUT_guidance[] = {
05357 "Write data structure identified by OBJECT,IDVERS to RZ file.",
05358 " MATE write JMATE structure", " TMED write JTMED structure",
05359 " VOLU write JVOLUM structure", " ROTM write JROTM structure",
05360 " SETS write JSET structure", " PART write JPART structure",
05361 " SCAN write LSCAN structure", " INIT write all above data structures" };
05362 static KmCommand _GEANT_RZ_OUT = { &_GEANT_RZ_LDIR, "/GEANT/RZ/OUT", "OUT", 0,
05363 2, 3, 1, _GEANT_RZ_OUT_parameters, 0, 0, gxrz_, (IntFunc*)0, (SUBROUTINE*)0,
05364 (pCharFunc*)0, 9, _GEANT_RZ_OUT_guidance, 0, (char**)0, 0, (char**)0, 0,
05365 (char**)0, (char*)0, (int*)0 };
05366
05367 static KmParameter _GEANT_RZ_IN_OBJECT = { "OBJECT", 6, "Structure name",
05368 (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
05369 KmTYPE_CHAR, (void*)0 };
05370 static KmParInt _GEANT_RZ_IN_IDVERS_type = { (char*)0, (char*)0, (char*)0,
05371 (char*)0, 0 };
05372 static KmParameter _GEANT_RZ_IN_IDVERS = { "IDVERS", 6, "Version number", "1",
05373 (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
05374 &_GEANT_RZ_IN_IDVERS_type };
05375 static KmParOption _GEANT_RZ_IN_CHOPT_type = { (char**)0, (int*)0, (int*)0 };
05376 static KmParameter _GEANT_RZ_IN_CHOPT = { "CHOPT", 5, "Option", " ", (char*)0,
05377 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_OPTION,
05378 &_GEANT_RZ_IN_CHOPT_type };
05379 static KmParameter *_GEANT_RZ_IN_parameters[] = { &_GEANT_RZ_IN_OBJECT,
05380 &_GEANT_RZ_IN_IDVERS, &_GEANT_RZ_IN_CHOPT };
05381 static char *_GEANT_RZ_IN_guidance[] = {
05382 "Read data structure identified by OBJECT,IDVERS into memory.",
05383 " MATE read JMATE structure", " TMED read JTMED structure",
05384 " VOLU read JVOLUM structure", " ROTM read JROTM structure",
05385 " SETS read JSET structure", " PART read JPART structure",
05386 " SCAN read LSCAN structure", " INIT read all above data structures" };
05387 static KmCommand _GEANT_RZ_IN = { &_GEANT_RZ_OUT, "/GEANT/RZ/IN", "IN", 0, 2,
05388 3, 1, _GEANT_RZ_IN_parameters, 0, 0, gxrz_, (IntFunc*)0, (SUBROUTINE*)0,
05389 (pCharFunc*)0, 9, _GEANT_RZ_IN_guidance, 0, (char**)0, 0, (char**)0, 0,
05390 (char**)0, (char*)0, (int*)0 };
05391
05392 static KmParameter _GEANT_RZ_CDIR_CHPATH = { "CHPATH", 6, "Path name", " ",
05393 (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
05394 (void*)0 };
05395 static KmParOption _GEANT_RZ_CDIR_CHOPT_type = { (char**)0, (int*)0, (int*)0 };
05396 static KmParameter _GEANT_RZ_CDIR_CHOPT = { "CHOPT", 5, "CHOPT", " ",
05397 (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_OPTION,
05398 &_GEANT_RZ_CDIR_CHOPT_type };
05399 static KmParameter *_GEANT_RZ_CDIR_parameters[] = { &_GEANT_RZ_CDIR_CHPATH,
05400 &_GEANT_RZ_CDIR_CHOPT };
05401 static char *_GEANT_RZ_CDIR_guidance[] = {
05402 "Change or print the current directory.",
05403 " Ex. CD dir1 ; make DIR1 the new CWD",
05404 " CD //file1/dir2 ; make //FILE1/DIR2 the new CWD",
05405 " CD ; print the name of the CWD" };
05406 static KmCommand _GEANT_RZ_CDIR = { &_GEANT_RZ_IN, "/GEANT/RZ/CDIR", "CDIR",
05407 0, 2, 2, 0, _GEANT_RZ_CDIR_parameters, 0, 0, gxrz_, (IntFunc*)0,
05408 (SUBROUTINE*)0, (pCharFunc*)0, 4, _GEANT_RZ_CDIR_guidance, 0, (char**)0, 0,
05409 (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05410
05411 static KmParameter _GEANT_RZ_MDIR_CHDIR = { "CHDIR", 5, "Directory name",
05412 (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0,
05413 KmTYPE_CHAR, (void*)0 };
05414 static KmParOption _GEANT_RZ_MDIR_CHOPT_type = { (char**)0, (int*)0, (int*)0 };
05415 static KmParameter _GEANT_RZ_MDIR_CHOPT = { "CHOPT", 5, "Options", " ",
05416 (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_OPTION,
05417 &_GEANT_RZ_MDIR_CHOPT_type };
05418 static KmParameter *_GEANT_RZ_MDIR_parameters[] = { &_GEANT_RZ_MDIR_CHDIR,
05419 &_GEANT_RZ_MDIR_CHOPT };
05420 static char *_GEANT_RZ_MDIR_guidance[] = {
05421 "To create a new RZ directory below the current directory.", "with",
05422 " RZTAGS(1)='Object'", " RZTAGS(2)='Idvers-NR '" };
05423 static KmCommand _GEANT_RZ_MDIR = { &_GEANT_RZ_CDIR, "/GEANT/RZ/MDIR", "MDIR",
05424 0, 2, 2, 1, _GEANT_RZ_MDIR_parameters, 0, 0, gxrz_, (IntFunc*)0,
05425 (SUBROUTINE*)0, (pCharFunc*)0, 4, _GEANT_RZ_MDIR_guidance, 0, (char**)0, 0,
05426 (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05427
05428 static KmParInt _GEANT_RZ_REND_LUNRZ_type = { (char*)0, (char*)0, (char*)0,
05429 (char*)0, 0 };
05430 static KmParameter _GEANT_RZ_REND_LUNRZ = { "LUNRZ", 5, "Logical unit number",
05431 (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
05432 &_GEANT_RZ_REND_LUNRZ_type };
05433 static KmParameter *_GEANT_RZ_REND_parameters[] = { &_GEANT_RZ_REND_LUNRZ };
05434 static char *_GEANT_RZ_REND_guidance[] = {
05435 "Close an RZ file opened by GRFILE on logical unit LUNRZ.",
05436 " CALL GREND(LUNRZ)" };
05437 static KmCommand _GEANT_RZ_REND = { &_GEANT_RZ_MDIR, "/GEANT/RZ/REND", "REND",
05438 0, 2, 1, 1, _GEANT_RZ_REND_parameters, 0, 0, gxrz_, (IntFunc*)0,
05439 (SUBROUTINE*)0, (pCharFunc*)0, 2, _GEANT_RZ_REND_guidance, 0, (char**)0, 0,
05440 (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05441
05442 static KmParInt _GEANT_RZ_FILE_LUN_type = { (char*)0, (char*)0, (char*)0,
05443 (char*)0, 0 };
05444 static KmParameter _GEANT_RZ_FILE_LUN = { "LUN", 3, "Logical unit number",
05445 (char*)0, (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
05446 &_GEANT_RZ_FILE_LUN_type };
05447 static KmParameter _GEANT_RZ_FILE_FNAME = { "FNAME", 5, "File name", (char*)0,
05448 (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
05449 (void*)0 };
05450 static char *_GEANT_RZ_FILE_CHOPT_range[] = { " ", "A", "N", "U" };
05451 static char *_GEANT_RZ_FILE_CHOPT_text[] = { (char*)0, (char*)0, (char*)0,
05452 (char*)0 };
05453 static KmParOption _GEANT_RZ_FILE_CHOPT_type = { _GEANT_RZ_FILE_CHOPT_text,
05454 (int*)0, (int*)0 };
05455 static KmParameter _GEANT_RZ_FILE_CHOPT = { "CHOPT", 5, "Options", " ",
05456 (char*)0, 8, 4, _GEANT_RZ_FILE_CHOPT_range, 4, _GEANT_RZ_FILE_CHOPT_range,
05457 (KmParFlag)0, KmTYPE_OPTION, &_GEANT_RZ_FILE_CHOPT_type };
05458 static KmParameter *_GEANT_RZ_FILE_parameters[] = { &_GEANT_RZ_FILE_LUN,
05459 &_GEANT_RZ_FILE_FNAME, &_GEANT_RZ_FILE_CHOPT };
05460 static char *_GEANT_RZ_FILE_guidance[] = { "Open a GRZ file.",
05461 " CHOPT=' ' readonly mode", " CHOPT='U' update mode",
05462 " CHOPT='N' create new file",
05463 " CHOPT='I' Read all structures from existing file",
05464 " CHOPT='O' Write all structures on file" };
05465 static KmCommand _GEANT_RZ_FILE = { &_GEANT_RZ_REND, "/GEANT/RZ/FILE", "FILE",
05466 0, 2, 3, 2, _GEANT_RZ_FILE_parameters, 0, 0, gxrz_, (IntFunc*)0,
05467 (SUBROUTINE*)0, (pCharFunc*)0, 6, _GEANT_RZ_FILE_guidance, 0, (char**)0, 0,
05468 (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05469
05470 static KmParInt _GEANT_RZ_PQUEST_IQ1_type = { (char*)0, (char*)0, (char*)0,
05471 (char*)0, 0 };
05472 static KmParameter _GEANT_RZ_PQUEST_IQ1 = { "IQ1", 3,
05473 "Lower limit for IQ index", "1", (char*)0, 8, 0, (char**)0, 0, (char**)0,
05474 (KmParFlag)0, KmTYPE_INT, &_GEANT_RZ_PQUEST_IQ1_type };
05475 static KmParInt _GEANT_RZ_PQUEST_IQ2_type = { (char*)0, (char*)0, (char*)0,
05476 (char*)0, 0 };
05477 static KmParameter _GEANT_RZ_PQUEST_IQ2 = { "IQ2", 3,
05478 "Upper limit for IQ index", "20", (char*)0, 8, 0, (char**)0, 0, (char**)0,
05479 (KmParFlag)0, KmTYPE_INT, &_GEANT_RZ_PQUEST_IQ2_type };
05480 static KmParameter *_GEANT_RZ_PQUEST_parameters[] = { &_GEANT_RZ_PQUEST_IQ1,
05481 &_GEANT_RZ_PQUEST_IQ2 };
05482 static char *_GEANT_RZ_PQUEST_guidance[] = {
05483 "Print the array IQUEST in /QUEST/." };
05484 static KmCommand _GEANT_RZ_PQUEST = { &_GEANT_RZ_FILE, "/GEANT/RZ/PQUEST",
05485 "PQUEST", 0, 2, 2, 0, _GEANT_RZ_PQUEST_parameters, 0, 0, gxrz_, (IntFunc*)0,
05486 (SUBROUTINE*)0, (pCharFunc*)0, 1, _GEANT_RZ_PQUEST_guidance, 0, (char**)0, 0,
05487 (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05488
05489 static char *_GEANT_RZ_guidance[] = { "ZEBRA/RZ commands." };
05490 static KmMenu _GEANT_RZ = { (KmMenu*)0, (KmMenu*)0, "/GEANT/RZ", "RZ", 2,
05491 &_GEANT_RZ_PQUEST, 1, _GEANT_RZ_guidance, 0, (char**)0, 0, (char**)0 };
05492
05493 static KmMenu _GEANT = { (KmMenu*)0, &_GEANT_RZ, "/GEANT", "GEANT", 1,
05494 (KmCommand*)0, 0, (char**)0, 0, (char**)0, 0, (char**)0 };
05495
05496 klnkmenu( &_GEANT, 950303 );
05497 }
|
|
|
Definition at line 5518 of file g321x.c. References IntFunc, klnkmenu(), KmCommand, KmMenu, KmParReal, pCharFunc, and SUBROUTINE. 05519 {
05520
05521 static KmParInt _GEANT_SCAN_HSCAN_IDPHI_type = { (char*)0, (char*)0,
05522 (char*)0, (char*)0, 0 };
05523 static KmParameter _GEANT_SCAN_HSCAN_IDPHI = { "IDPHI", 5,
05524 "Histogram/phi identifier", "1000", (char*)0, 8, 0, (char**)0, 0, (char**)0,
05525 (KmParFlag)0, KmTYPE_INT, &_GEANT_SCAN_HSCAN_IDPHI_type };
05526 static KmParameter _GEANT_SCAN_HSCAN_VOLUME = { "VOLUME", 6, "Volume name",
05527 "XXXX", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
05528 (void*)0 };
05529 static char *_GEANT_SCAN_HSCAN_CHOPT_range[] = { " ", "O", "P", "I", "X", "L"
05530 };
05531 static char *_GEANT_SCAN_HSCAN_CHOPT_text[] = { (char*)0, (char*)0, (char*)0,
05532 (char*)0, (char*)0, (char*)0 };
05533 static KmParOption _GEANT_SCAN_HSCAN_CHOPT_type = {
05534 _GEANT_SCAN_HSCAN_CHOPT_text, (int*)0, (int*)0 };
05535 static KmParameter _GEANT_SCAN_HSCAN_CHOPT = { "CHOPT", 5, "List of options",
05536 "OPX", (char*)0, 8, 6, _GEANT_SCAN_HSCAN_CHOPT_range, 6,
05537 _GEANT_SCAN_HSCAN_CHOPT_range, (KmParFlag)0, KmTYPE_OPTION,
05538 &_GEANT_SCAN_HSCAN_CHOPT_type };
05539 static KmParameter *_GEANT_SCAN_HSCAN_parameters[] = {
05540 &_GEANT_SCAN_HSCAN_IDPHI, &_GEANT_SCAN_HSCAN_VOLUME, &_GEANT_SCAN_HSCAN_CHOPT
05541 };
05542 static char *_GEANT_SCAN_HSCAN_guidance[] = {
05543 "Generates and plots an histogram of physics quantities such as",
05544 "the total number of radiation lengths or interaction lengths",
05545 "as a function of the SCAN parameter TETA for a given value of PHI.",
05546 " CHOPT='O' histogram is generated at Exit of VOLUME.",
05547 " CHOPT='I' histogram is generated at Entry of VOLUME.",
05548 " CHOPT='X' radiation lengths", " CHOPT='L' Interaction lengths",
05549 " CHOPT='P' Plot the histogram", "If VOLUME='XXXX' Mother volume is used.",
05550 "The histogram identifier IDPHI is used to also identify which",
05551 "PHI division to plot: IPHI=MOD(IDPHI,1000).",
05552 "If IPHI=0, then all PHI divisions are generated (not plotted)",
05553 "with histogram identifiers IDPHI+PHI division number." };
05554 static KmCommand _GEANT_SCAN_HSCAN = { (KmCommand*)0, "/GEANT/SCAN/HSCAN",
05555 "HSCAN", 0, 2, 3, 1, _GEANT_SCAN_HSCAN_parameters, 0, 0, gxscan_,
05556 (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 13, _GEANT_SCAN_HSCAN_guidance,
05557 0, (char**)0, 0, (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05558
05559 static KmParInt _GEANT_SCAN_LSCAN_ID_type = { (char*)0, (char*)0, (char*)0,
05560 (char*)0, 0 };
05561 static KmParameter _GEANT_SCAN_LSCAN_ID = { "ID", 2, "Lego plot identifier",
05562 "2000", (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT,
05563 &_GEANT_SCAN_LSCAN_ID_type };
05564 static KmParameter _GEANT_SCAN_LSCAN_VOLUME = { "VOLUME", 6, "Volume name",
05565 "XXXX", (char*)0, 20, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_CHAR,
05566 (void*)0 };
05567 static char *_GEANT_SCAN_LSCAN_CHOPT_range[] = { " ", "O", "P", "I", "X", "L"
05568 };
05569 static char *_GEANT_SCAN_LSCAN_CHOPT_text[] = { (char*)0, (char*)0, (char*)0,
05570 (char*)0, (char*)0, (char*)0 };
05571 static KmParOption _GEANT_SCAN_LSCAN_CHOPT_type = {
05572 _GEANT_SCAN_LSCAN_CHOPT_text, (int*)0, (int*)0 };
05573 static KmParameter _GEANT_SCAN_LSCAN_CHOPT = { "CHOPT", 5, "List of options",
05574 "OPX", (char*)0, 8, 6, _GEANT_SCAN_LSCAN_CHOPT_range, 6,
05575 _GEANT_SCAN_LSCAN_CHOPT_range, (KmParFlag)0, KmTYPE_OPTION,
05576 &_GEANT_SCAN_LSCAN_CHOPT_type };
05577 static KmParameter *_GEANT_SCAN_LSCAN_parameters[] = { &_GEANT_SCAN_LSCAN_ID,
05578 &_GEANT_SCAN_LSCAN_VOLUME, &_GEANT_SCAN_LSCAN_CHOPT };
05579 static char *_GEANT_SCAN_LSCAN_guidance[] = {
05580 "Generates and plot a table of physics quantities such as",
05581 "the total number of radiation lengths or interaction lengths",
05582 "in function of the SCAN parameters TETA,PHI.",
05583 " CHOPT='O' table is generated at Exit of VOLUME.",
05584 " CHOPT='I' table is generated at Entry of VOLUME.",
05585 " CHOPT='X' radiation lengths", " CHOPT='L' Interaction lengths",
05586 " CHOPT='P' Plot the table", "If VOLUME='XXXX' Mother volume is used." };
05587 static KmCommand _GEANT_SCAN_LSCAN = { &_GEANT_SCAN_HSCAN,
05588 "/GEANT/SCAN/LSCAN", "LSCAN", 0, 2, 3, 1, _GEANT_SCAN_LSCAN_parameters, 0, 0,
05589 gxscan_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 9,
05590 _GEANT_SCAN_LSCAN_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
05591 (char*)0, (int*)0 };
05592
05593 static KmParInt _GEANT_SCAN_PCUTS_IPARAM_type = { "0", "1", "0", "1", 0 };
05594 static KmParameter _GEANT_SCAN_PCUTS_IPARAM = { "IPARAM", 6,
05595 "Parametrization Flag", (char*)0, (char*)0, 2, 0, (char**)0, 0, (char**)0,
05596 (KmParFlag)0, KmTYPE_INT, &_GEANT_SCAN_PCUTS_IPARAM_type };
05597 static KmParReal _GEANT_SCAN_PCUTS_PCUTGA_type = { (char*)0, (char*)0,
05598 (char*)0, (char*)0, 0 };
05599 static KmParameter _GEANT_SCAN_PCUTS_PCUTGA = { "PCUTGA", 6,
05600 "Parametrization Cut for gammas", (char*)0, (char*)0, 12, 0, (char**)0, 0,
05601 (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_SCAN_PCUTS_PCUTGA_type };
05602 static KmParReal _GEANT_SCAN_PCUTS_PCUTEL_type = { (char*)0, (char*)0,
05603 (char*)0, (char*)0, 0 };
05604 static KmParameter _GEANT_SCAN_PCUTS_PCUTEL = { "PCUTEL", 6,
05605 "Parametrization Cut for electrons", (char*)0, (char*)0, 12, 0, (char**)0, 0,
05606 (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_SCAN_PCUTS_PCUTEL_type };
05607 static KmParReal _GEANT_SCAN_PCUTS_PCUTHA_type = { (char*)0, (char*)0,
05608 (char*)0, (char*)0, 0 };
05609 static KmParameter _GEANT_SCAN_PCUTS_PCUTHA = { "PCUTHA", 6,
05610 "Parametrization Cut for charged hadrons", (char*)0, (char*)0, 12, 0,
05611 (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
05612 &_GEANT_SCAN_PCUTS_PCUTHA_type };
05613 static KmParReal _GEANT_SCAN_PCUTS_PCUTNE_type = { (char*)0, (char*)0,
05614 (char*)0, (char*)0, 0 };
05615 static KmParameter _GEANT_SCAN_PCUTS_PCUTNE = { "PCUTNE", 6,
05616 "Parametrization Cut for neutral hadrons", (char*)0, (char*)0, 12, 0,
05617 (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
05618 &_GEANT_SCAN_PCUTS_PCUTNE_type };
05619 static KmParReal _GEANT_SCAN_PCUTS_PCUTMU_type = { (char*)0, (char*)0,
05620 (char*)0, (char*)0, 0 };
05621 static KmParameter _GEANT_SCAN_PCUTS_PCUTMU = { "PCUTMU", 6,
05622 "Parametrization Cut for muons", (char*)0, (char*)0, 12, 0, (char**)0, 0,
05623 (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_SCAN_PCUTS_PCUTMU_type };
05624 static KmParameter *_GEANT_SCAN_PCUTS_parameters[] = {
05625 &_GEANT_SCAN_PCUTS_IPARAM, &_GEANT_SCAN_PCUTS_PCUTGA,
05626 &_GEANT_SCAN_PCUTS_PCUTEL, &_GEANT_SCAN_PCUTS_PCUTHA,
05627 &_GEANT_SCAN_PCUTS_PCUTNE, &_GEANT_SCAN_PCUTS_PCUTMU };
05628 static char *_GEANT_SCAN_PCUTS_guidance[] = {
05629 "Control parametrization at tracking time.",
05630 " IPARAM=0 No parametrization is performed",
05631 " IPARAM=1 Parametrization is performed",
05632 "If parametrization is active and a particle falls below its",
05633 "parametrization cut, then the particle will be replaced by",
05634 "a parametrized shower which will be tracked in the SCAN", "geometry." };
05635 static KmCommand _GEANT_SCAN_PCUTS = { &_GEANT_SCAN_LSCAN,
05636 "/GEANT/SCAN/PCUTS", "PCUTS", 0, 2, 6, 0, _GEANT_SCAN_PCUTS_parameters, 0, 0,
05637 gxscan_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 7,
05638 _GEANT_SCAN_PCUTS_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
05639 (char*)0, (int*)0 };
05640
05641 static char *_GEANT_SCAN_STURN_CHOPT_range[] = { "ON", "OFF", "INIT" };
05642 static char *_GEANT_SCAN_STURN_CHOPT_text[] = { (char*)0, (char*)0, (char*)0 };
05643 static KmParOption _GEANT_SCAN_STURN_CHOPT_type = {
05644 _GEANT_SCAN_STURN_CHOPT_text, (int*)0, (int*)0 };
05645 static KmParameter _GEANT_SCAN_STURN_CHOPT = { "CHOPT", 5,
05646 "SCAN mode setting", (char*)0, (char*)0, 8, 3, _GEANT_SCAN_STURN_CHOPT_range,
05647 3, _GEANT_SCAN_STURN_CHOPT_range, (KmParFlag)0, KmTYPE_OPTION,
05648 &_GEANT_SCAN_STURN_CHOPT_type };
05649 static KmParameter *_GEANT_SCAN_STURN_parameters[] = {
05650 &_GEANT_SCAN_STURN_CHOPT };
05651 static char *_GEANT_SCAN_STURN_guidance[] = {
05652 "Switch on/off SCAN mode. If SCAN mode is on, SCAN geantinos",
05653 "are generated and tracked to fill (or complete) the current",
05654 "scan data structure. If SCAN mode is off, normal kinematics",
05655 "generation and tracking will take place. If INIT is given,",
05656 "the current SCAN data structure (if any) will be dropped",
05657 "and SCAN mode will be turned on." };
05658 static KmCommand _GEANT_SCAN_STURN = { &_GEANT_SCAN_PCUTS,
05659 "/GEANT/SCAN/STURN", "STURN", 0, 2, 1, 1, _GEANT_SCAN_STURN_parameters, 0, 0,
05660 gxscan_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 6,
05661 _GEANT_SCAN_STURN_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
05662 (char*)0, (int*)0 };
05663
05664 static KmParReal _GEANT_SCAN_SFACTORS_FACTX0_type = { (char*)0, (char*)0,
05665 (char*)0, (char*)0, 0 };
05666 static KmParameter _GEANT_SCAN_SFACTORS_FACTX0 = { "FACTX0", 6,
05667 "Scale factor for SX0", "100.", (char*)0, 12, 0, (char**)0, 0, (char**)0,
05668 (KmParFlag)0, KmTYPE_REAL, &_GEANT_SCAN_SFACTORS_FACTX0_type };
05669 static KmParReal _GEANT_SCAN_SFACTORS_FACTL_type = { (char*)0, (char*)0,
05670 (char*)0, (char*)0, 0 };
05671 static KmParameter _GEANT_SCAN_SFACTORS_FACTL = { "FACTL", 5,
05672 "Scale factor for SL", "1000.", (char*)0, 12, 0, (char**)0, 0, (char**)0,
05673 (KmParFlag)0, KmTYPE_REAL, &_GEANT_SCAN_SFACTORS_FACTL_type };
05674 static KmParReal _GEANT_SCAN_SFACTORS_FACTR_type = { (char*)0, (char*)0,
05675 (char*)0, (char*)0, 0 };
05676 static KmParameter _GEANT_SCAN_SFACTORS_FACTR = { "FACTR", 5,
05677 "Scale factor for R", "100.", (char*)0, 12, 0, (char**)0, 0, (char**)0,
05678 (KmParFlag)0, KmTYPE_REAL, &_GEANT_SCAN_SFACTORS_FACTR_type };
05679 static KmParameter *_GEANT_SCAN_SFACTORS_parameters[] = {
05680 &_GEANT_SCAN_SFACTORS_FACTX0, &_GEANT_SCAN_SFACTORS_FACTL,
05681 &_GEANT_SCAN_SFACTORS_FACTR };
05682 static char *_GEANT_SCAN_SFACTORS_guidance[] = {
05683 "Set scale factors for SX0,SL and R. The given scale factors must be",
05684 "such that:", " SX0*FACTX0 < 2**15-1 (32767)",
05685 " SL*FACTL < 2**10-1 (1023)", " SR*FACTR < 2**17-1 (131071)" };
05686 static KmCommand _GEANT_SCAN_SFACTORS = { &_GEANT_SCAN_STURN,
05687 "/GEANT/SCAN/SFACTORS", "SFACTORS", 0, 2, 3, 3,
05688 _GEANT_SCAN_SFACTORS_parameters, 0, 0, gxscan_, (IntFunc*)0, (SUBROUTINE*)0,
05689 (pCharFunc*)0, 5, _GEANT_SCAN_SFACTORS_guidance, 0, (char**)0, 0, (char**)0,
05690 0, (char**)0, (char*)0, (int*)0 };
05691
05692 static KmParReal _GEANT_SCAN_VERTEX_VX_type = { (char*)0, (char*)0,
05693 (char*)0, (char*)0, 0 };
05694 static KmParameter _GEANT_SCAN_VERTEX_VX = { "VX", 2, "Scan X-origin", "0.",
05695 (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
05696 &_GEANT_SCAN_VERTEX_VX_type };
05697 static KmParReal _GEANT_SCAN_VERTEX_VY_type = { (char*)0, (char*)0,
05698 (char*)0, (char*)0, 0 };
05699 static KmParameter _GEANT_SCAN_VERTEX_VY = { "VY", 2, "Scan Y-origin", "0.",
05700 (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
05701 &_GEANT_SCAN_VERTEX_VY_type };
05702 static KmParReal _GEANT_SCAN_VERTEX_VZ_type = { (char*)0, (char*)0,
05703 (char*)0, (char*)0, 0 };
05704 static KmParameter _GEANT_SCAN_VERTEX_VZ = { "VZ", 2, "Scan Z-origin", "0.",
05705 (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL,
05706 &_GEANT_SCAN_VERTEX_VZ_type };
05707 static KmParameter *_GEANT_SCAN_VERTEX_parameters[] = {
05708 &_GEANT_SCAN_VERTEX_VX, &_GEANT_SCAN_VERTEX_VY, &_GEANT_SCAN_VERTEX_VZ };
05709 static char *_GEANT_SCAN_VERTEX_guidance[] = {
05710 "All Geantinos tracked will start from position VX,VY,VZ." };
05711 static KmCommand _GEANT_SCAN_VERTEX = { &_GEANT_SCAN_SFACTORS,
05712 "/GEANT/SCAN/VERTEX", "VERTEX", 0, 2, 3, 3, _GEANT_SCAN_VERTEX_parameters, 0,
05713 0, gxscan_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 1,
05714 _GEANT_SCAN_VERTEX_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
05715 (char*)0, (int*)0 };
05716
05717 static KmParameter _GEANT_SCAN_SLIST_LIST = { "LIST", 4,
05718 "List of master volumes", (char*)0, (char*)0, 20, 0, (char**)0, 0, (char**)0,
05719 (KmParFlag)0, KmTYPE_CHAR, (void*)0 };
05720 static KmParameter *_GEANT_SCAN_SLIST_parameters[] = { &_GEANT_SCAN_SLIST_LIST
05721 };
05722 static char *_GEANT_SCAN_SLIST_guidance[] = {
05723 "Only boundary crossings of volumes given in LIST will be seen",
05724 "in the SCAN geometry. If no parameters are given, the current",
05725 "SCAN volumes will be listed. If a full stop (.) is given, the list",
05726 "of scan volumes will be erased." };
05727 static KmCommand _GEANT_SCAN_SLIST = { &_GEANT_SCAN_VERTEX,
05728 "/GEANT/SCAN/SLIST", "SLIST", 0, 2, 1, 1, _GEANT_SCAN_SLIST_parameters, 0, 0,
05729 gxscan_, (IntFunc*)0, (SUBROUTINE*)0, (pCharFunc*)0, 4,
05730 _GEANT_SCAN_SLIST_guidance, 0, (char**)0, 0, (char**)0, 0, (char**)0,
05731 (char*)0, (int*)0 };
05732
05733 static KmParInt _GEANT_SCAN_TETA_NTETA_type = { (char*)0, (char*)0,
05734 (char*)0, (char*)0, 0 };
05735 static KmParameter _GEANT_SCAN_TETA_NTETA = { "NTETA", 5,
05736 "Number of TETA divisions", "90", (char*)0, 8, 0, (char**)0, 0, (char**)0,
05737 (KmParFlag)0, KmTYPE_INT, &_GEANT_SCAN_TETA_NTETA_type };
05738 static KmParReal _GEANT_SCAN_TETA_TETMIN_type = { (char*)0, (char*)0,
05739 (char*)0, (char*)0, 0 };
05740 static KmParameter _GEANT_SCAN_TETA_TETMIN = { "TETMIN", 6,
05741 "Minimum value of TETA", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
05742 (KmParFlag)0, KmTYPE_REAL, &_GEANT_SCAN_TETA_TETMIN_type };
05743 static KmParReal _GEANT_SCAN_TETA_TETMAX_type = { (char*)0, (char*)0,
05744 (char*)0, (char*)0, 0 };
05745 static KmParameter _GEANT_SCAN_TETA_TETMAX = { "TETMAX", 6,
05746 "Maximum value of TETA", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0,
05747 (KmParFlag)0, KmTYPE_REAL, &_GEANT_SCAN_TETA_TETMAX_type };
05748 static KmParInt _GEANT_SCAN_TETA_DIVTYP_type = { "1", "3", "1", "3", 0 };
05749 static KmParameter _GEANT_SCAN_TETA_DIVTYP = { "DIVTYP", 6,
05750 "Type of TETA division", (char*)0, (char*)0, 2, 0, (char**)0, 0, (char**)0,
05751 (KmParFlag)0, KmTYPE_INT, &_GEANT_SCAN_TETA_DIVTYP_type };
05752 static KmParameter *_GEANT_SCAN_TETA_parameters[] = { &_GEANT_SCAN_TETA_NTETA,
05753 &_GEANT_SCAN_TETA_TETMIN, &_GEANT_SCAN_TETA_TETMAX, &_GEANT_SCAN_TETA_DIVTYP
05754 };
05755 static char *_GEANT_SCAN_TETA_guidance[] = {
05756 "To specify number of divisions along TETA.",
05757 "If DIVTYP=1 divisions in pseudo-rapidity ETA.",
05758 "If DIVTYP=2 divisions in degrees following the THETA angle.",
05759 "If DIVTYP=3 divisions in cos(TETA).",
05760 "If no parameter is given, the current values of the parameters",
05761 "are displayed." };
05762 static KmCommand _GEANT_SCAN_TETA = { &_GEANT_SCAN_SLIST, "/GEANT/SCAN/TETA",
05763 "TETA", 0, 2, 4, 1, _GEANT_SCAN_TETA_parameters, 0, 0, gxscan_, (IntFunc*)0,
05764 (SUBROUTINE*)0, (pCharFunc*)0, 6, _GEANT_SCAN_TETA_guidance, 0, (char**)0, 0,
05765 (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05766
05767 static KmParInt _GEANT_SCAN_PHI_NPHI_type = { (char*)0, (char*)0, (char*)0,
05768 (char*)0, 0 };
05769 static KmParameter _GEANT_SCAN_PHI_NPHI = { "NPHI", 4,
05770 "Number of PHI divisions", "90", (char*)0, 8, 0, (char**)0, 0, (char**)0,
05771 (KmParFlag)0, KmTYPE_INT, &_GEANT_SCAN_PHI_NPHI_type };
05772 static KmParReal _GEANT_SCAN_PHI_PHIMIN_type = { "0.", "360.", "0.", "360.",
05773 0 };
05774 static KmParameter _GEANT_SCAN_PHI_PHIMIN = { "PHIMIN", 6,
05775 "Minimum PHI in degrees", "0.", (char*)0, 12, 0, (char**)0, 0, (char**)0,
05776 (KmParFlag)0, KmTYPE_REAL, &_GEANT_SCAN_PHI_PHIMIN_type };
05777 static KmParReal _GEANT_SCAN_PHI_PHIMAX_type = { "0.", "360.", "0.", "360.",
05778 0 };
05779 static KmParameter _GEANT_SCAN_PHI_PHIMAX = { "PHIMAX", 6,
05780 "Maximum PHI in degrees", "360.", (char*)0, 12, 0, (char**)0, 0, (char**)0,
05781 (KmParFlag)0, KmTYPE_REAL, &_GEANT_SCAN_PHI_PHIMAX_type };
05782 static KmParameter *_GEANT_SCAN_PHI_parameters[] = { &_GEANT_SCAN_PHI_NPHI,
05783 &_GEANT_SCAN_PHI_PHIMIN, &_GEANT_SCAN_PHI_PHIMAX };
05784 static char *_GEANT_SCAN_PHI_guidance[] = {
05785 "To specify number of divisions along PHI. If no parameter is",
05786 "given, the current values of the parameters are displayed." };
05787 static KmCommand _GEANT_SCAN_PHI = { &_GEANT_SCAN_TETA, "/GEANT/SCAN/PHI",
05788 "PHI", 0, 2, 3, 1, _GEANT_SCAN_PHI_parameters, 0, 0, gxscan_, (IntFunc*)0,
05789 (SUBROUTINE*)0, (pCharFunc*)0, 2, _GEANT_SCAN_PHI_guidance, 0, (char**)0, 0,
05790 (char**)0, 0, (char**)0, (char*)0, (int*)0 };
05791
05792 static char *_GEANT_SCAN_guidance[] = {
05793 "To define parameters for the SCAN geometry. If the routine GUSTEP",
05794 "and GUKINE are properly instrumented (see examples in GEANX),",
05795 "when the TRI command is entered NTETA Geantinos will be",
05796 "tracked through the real detector starting at the vertex position",
05797 "defined by the command vertex. A simplified version of the geometry",
05798 "is automatically generated in (ETA,PHI) or (THETA,PHI) following",
05799 "the option given in the command TETA. The data structure LSCAN",
05800 "generated may be saved on an RZ file for subsequent processing.",
05801 "This data structure may be used for fast parametrization techniques." };
05802 static KmMenu _GEANT_SCAN = { (KmMenu*)0, (KmMenu*)0, "/GEANT/SCAN", "SCAN",
05803 2, &_GEANT_SCAN_PHI, 9, _GEANT_SCAN_guidance, 0, (char**)0, 0, (char**)0 };
05804
05805 static KmMenu _GEANT = { (KmMenu*)0, &_GEANT_SCAN, "/GEANT", "GEANT", 1,
05806 (KmCommand*)0, 0, (char**)0, 0, (char**)0, 0, (char**)0 };
05807
05808 klnkmenu( &_GEANT, 950303 );
05809 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.3.9.1