~maddevelopers/mg5amcnlo/2.9.4

« back to all changes in this revision

Viewing changes to vendor/StdHEP/src/display/help.c

pass to v2.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*******************************************************************************
 
2
*                                                                              *
 
3
* help.c -- help text for Phase Display tool                                   *
 
4
*                                                                              *
 
5
* Copyright (c) 1993, 1994 Universities Research Association, Inc.             *
 
6
* All rights reserved.                                                         *
 
7
*                                                                              *
 
8
* This material resulted from work developed under a Government Contract and   *
 
9
* is subject to the following license:  The Government retains a paid-up,      *
 
10
* nonexclusive, irrevocable worldwide license to reproduce, prepare derivative *
 
11
* works, perform publicly and display publicly by or for the Government,       *
 
12
* including the right to distribute to other Government contractors.  Neither  *
 
13
* the United States nor the United States Department of Energy, nor any of     *
 
14
* their employees, makes any warranty, express or implied, or assumes any      *
 
15
* legal liability or responsibility for the accuracy, completeness, or         *
 
16
* usefulness of any information, apparatus, product, or process disclosed, or  *
 
17
* represents that its use would not infringe privately owned rights.           *
 
18
*                                                                              *
 
19
* Fermilab Nirvana GUI Library                                                 *
 
20
* February,  1994                                                              *
 
21
*                                                                              *
 
22
* Written by Paul Lebrun                                                       *
 
23
*                                                                              *
 
24
*******************************************************************************/
 
25
#include <Xm/Xm.h>
 
26
#include "util/help.h"
 
27
#include "help.h"
 
28
 
 
29
static void helpButtonDialog(Widget parent, helpMenuInfo *help);
 
30
static void helpButtonDialogSpace(Widget parent, helpMenuInfo *helpS);
 
31
static void helpButtonDialogPara(Widget parent, helpMenuInfo *helpP);
 
32
 
 
33
/*
 
34
** Help item titles, menu information, and text
 
35
*/
 
36
 
 
37
static helpMenuInfo
 
38
 
 
39
gettingStarted = {"Getting Started", 'G', True,  HELP_TEXT,
 
40
"\n StdHep Phase Display is a tool to select, display, and browse StdHep \
 
41
events, in order to understand the kinematics, topology and the decay chain.\
 
42
Such Events can easily be created based on the StdHep framework, which \
 
43
interfaces to most HEP generators, such JETSET, ISAJET, HERWIG  \n\n\
 
44
After invoking Phase Display , you'll want to do one of two  \
 
45
things:\n\n\
 
46
(--> Use scroll bar at right to see rest of this message.)\n\n\
 
47
     Open an Native StdHep file\n\
 
48
     Open a FZ (XL format) StdHep file\n\n\
 
49
Use the File pull-down menu to perform any of these functions.  \n\n\
 
50
After specifying the file you which to browse, you need to specify \
 
51
the event to view.  You can use the arrow buttons on the top of this \
 
52
panel to select the event you whish to see. Currently, you can only  \
 
53
browse through 100 events of this file (or less). Since StdHep files are \
 
54
sequential, reaching further downstream would probably be too slow. \
 
55
At the outset, the first event in the file is shown. \
 
56
By default, the length of the track is mapped to the norm of the 3-mom. \
 
57
vector of the particle. You can change that on the panel. \
 
58
The color is mapped to the particle identification. The Color Code is \
 
59
available in the Event pull down menu\n\n\
 
60
The next step is to relate the kinematics to the decay chain. Under the \
 
61
Event pull down menu, selected the Event Tree option. More help on \
 
62
node or track selection in those display is available in the Help pull down \
 
63
menu.", 0, 0},
 
64
 
 
65
mainP = {"Main Panel", 'P', True, HELP_TEXT, 
 
66
"\n The main panel of this window graphically describes the kinematics \
 
67
of the event. On the left, a few buttons to select which type of tracks \
 
68
are on display and to control the appearance of the plot. On the right, \
 
69
the drawing area, displaying the selected track. The length of a track \
 
70
can be mapped to the momentum, transverse momentum, rapidity or \
 
71
 pseudorapidity. At the beginning, it is mapped to the momentum, you \
 
72
can changed that by depressing (left mouse button) one of the radio buttons \
 
73
on  the upper right corner of the panel.  It would be not too difficult \
 
74
to relink this application with an other user-defined metric, that's \
 
75
why an de-sensitized button has been placed. \n\n\
 
76
   At the outset, all tracks are visible. This can be changed by clicking \
 
77
on the left-center of the panel. This should allow you to get rid of unwanted \
 
78
information. The selection is based either on particle stability or particle \
 
79
type. \n\n\
 
80
  The left-bottom part of the panel is devoted to handle the control of the \
 
81
viewing angle of the 3D display. The top part sets various rotation angles, \
 
82
the left-bottom part, zooming. The right-bottom button allows you to get \
 
83
back to the default viewing angle ( that is, a bird's eye view of the X-Y \
 
84
plane.\n\n\
 
85
  Known deficiency : No perspective is currently available.",0,0}, 
 
86
/*        1         2         3         4         5         6 */
 
87
/* 3456789012345678901234567890123456789012345678901234567890 */
 
88
  
 
89
file = {"File", 'F', False, HELP_TEXT,
 
90
"\nThe File pull-down menu allows you to get the input data and create \
 
91
new anciliary window showing the selected event. It also has the print \
 
92
and exit options. \n\n\
 
93
New Window:\n\
 
94
    Once you have an event on display, it might be \n\
 
95
    interesting to see it simultaneouly under different\n\
 
96
    angles, or mapped to an other kinematical variables.\n\
 
97
    These new windows do not allow you to see an other \n\
 
98
    eventnor open an other file. \n\
 
99
    If you whish to compare events across different files\n\
 
100
    you will have to start an other Phase Display process.\n\
 
101
Close: \n\
 
102
    Closing the last window will terminate the application \n\
 
103
Open Native StdHep file: \n\
 
104
    This type of file has been written using the HERWRT call\n\
 
105
    in the StdHep library. This application will scan up to\n\
 
106
    100 events, in order to check the self consistency of \n\
 
107
    the file.\n\
 
108
    If the file contains less 100 events, an non-fatal\n\
 
109
    error message from StdLib will be printed on stdout, and\n\
 
110
    the real number of events available for scanning  will \n\
 
111
    be printed in the top right corner of the main panel. \n\
 
112
    By default, the first event is selected, and read in.\n\
 
113
    The file is closed after each read. \n\
 
114
Open Xdr StdHep file: \n\
 
115
    This type of file must have been written through the \n\
 
116
    mcfio xdr interface, usually by calls to STDXWRT. \n\
 
117
    The procedure to scan, read or select events is the \n\
 
118
    same as for Native StdHep files. \n\
 
119
Open Zebra (XL) StdHep file:\n\
 
120
    This type of file must have been written through a \n\
 
121
    HEPZWRT call, where the file has been opened with the\n\
 
122
    XL option, which means that the file is in exchange\n\
 
123
    mode and has been written using c-interface mode.\n\
 
124
    The procedure to scan, read or select events is the \n\
 
125
    same as for Native StdHep files. \n\
 
126
Print: \n\
 
127
     To print the main panel drawing area to a PostScript\n\
 
128
     printer.  Phase Display will pop up a Printer Options\n\
 
129
     window for specifying the printer queue name and the\n\
 
130
     number of copies to print.  The last field in this\n\
 
131
     dialog is the Unix (or VMS) command that will be \n\
 
132
     used to queue the plot for printing.  Since this \n\
 
133
     command is generated from the other options in the \n\
 
134
     dialog, there is normally no reason to change it, but\n\
 
135
     you can use the field to add options and change the \n\
 
136
     command in ways not otherwise supported by the print\n\
 
137
     dialog.", 0,0 },
 
138
/*        1         2         3         4         5         6 */
 
139
/* 3456789012345678901234567890123456789012345678901234567890 */
 
140
event = {"Event", 'E', False, HELP_TEXT,
 
141
"\nThe Event pull-down menu allows you to understand the topology of the\
 
142
event trough color mapping, 3D manipulation and the Tree Display\n\n\
 
143
Show Rotation Angle:\n\
 
144
     You can rotate the Event by direct manipulation, \n\
 
145
     (click/drag on the graph, using the left button), or by\n\
 
146
     using the push button on the main panel, or, if you\n\
 
147
     like accuracy and remember what the Euler angles are,\n\
 
148
     you can use the Rotation angle panel \n\
 
149
     to set these angles. \n\n\
 
150
Show Event Tree:\n\
 
151
     The StdHep data structure is hierarchical, e.g., the \n\
 
152
     parent to daughter relationship is kept in the \n\
 
153
     generation/decay process. Such a genealogical tree can\n\
 
154
     be display. In order to simplify the picture, \n\
 
155
     a standard tree structure is used, e.g., a particle \n\
 
156
     has one and only  parent ( a ficticious node being \n\
 
157
     placed on the top). \n\n\
 
158
     This option display such a tree, where a node\n\
 
159
     represented a single particle, or collection of\n\
 
160
     them. The algorithm goes as follow: if  particle(s)\n\
 
161
     are stable and have no daughter (leave node), and if\n\
 
162
     other particles are sharing the same id and have \n\
 
163
     the same mother, they are lumepd together in a single \n\
 
164
     node. This allows to simply high multiplicity trees. \n\n\
 
165
     The Tree display is made of buttons, pressing them \n\
 
166
     ( left buttons)  will give more information about the\n\
 
167
     given node. Also, the tracks inluded in that node will \n\
 
168
     be highlighted on the main panel \n\n\
 
169
     Known deficiency : The Tree widget ( or Motif) has a\n\
 
170
     bug in the DestroyWidget method, which can (and usually\n\
 
171
     will) induce a crash of this application upon removal \n\
 
172
     of the a Tree Display if the number of node exceeds a \n\
 
173
     few hundreds. This bug is currently under study. \n\
 
174
     In any event, exploring a ~500-node tree can be time \n\
 
175
     consuming and  not very useful, one can suggest various\n\
 
176
     algorithm to simplify a tree, for instance, collapse \n\
 
177
     all particles to the top, if they do not have an\n\
 
178
     interesting ancestry ( e.g., they don't come from \n\
 
179
     a top or bottom quark.)\n\n\
 
180
Show Eta-Pt Display:\n\
 
181
     Once you have an event on display, it might be \n\
 
182
     interesting to see it simultaneouly in a Phase Space \n\
 
183
     appropriate to Hadronic physics: rapidity an Pt Space.\n\
 
184
     This new window does not allow you \n\
 
185
     to see an other event nor open an other file. \n\
 
186
     If you whish to compare events across different files\n\
 
187
     you will have to start an other Phase or Space Display.\n\n\
 
188
Show Color Code: \n\
 
189
     A fictious Tree display can be used to understand the\n\
 
190
     crummy color chosen in this application.  Currently, \n\
 
191
     this coding is fixed. If you have a better idea and \n\
 
192
     are willing to do the coding, let's talk !",0,0,},
 
193
/*        1         2         3         4         5         6 */
 
194
/* 3456789012345678901234567890123456789012345678901234567890 */
 
195
 
 
196
preferences = {"Preferences", 'P', True, HELP_TEXT,
 
197
"\nThe preferences pull-down menu allows you set/unset various options \
 
198
affecting the PhaseDisplay session. \n\n\
 
199
Show Axes:\n\
 
200
     By default, the axis in the Phase space are shown. The\n\
 
201
     scale is identical for all three axis, and is \n\
 
202
     represented in the main panel.  To make the event\n\
 
203
     more visible, it might be occasionaly useful not to\n\
 
204
     draw these axis.  This option lets you do this. \n\n\
 
205
Buffer Graphics:\n\
 
206
     Graphics buffering changes the way Histo-Scope draws\n\
 
207
     moving graphics in X-Windows.  Depending on your X-Win-\n\
 
208
     dows server or X-Terminal, turning on buffered graphics\n\
 
209
     may either improve or degrade animation quality - it\n\
 
210
     eliminates flicker at the expense of drawing speed and\n\
 
211
     X-server memory.\n\
 
212
     Initially Buffer Graphics mode is off.\n\n\
 
213
Percent Vector Shown: \n\
 
214
     In order to avoid cluttering the center of the graph,\n\
 
215
     and make more visible the small momentum tracks, the\n\
 
216
     tracks are represented by segments pointing to the \n\
 
217
     center:  a certain percentage of the track has been\n\
 
218
     erased starting from the vertex.\n\
 
219
     You can change this parameter. \n\n\
 
220
Rotation Increment: \n\
 
221
     You can rotate the Event by direct manipulation, \n\
 
222
     (click/drag on the graph, using the left button), or,\n\
 
223
     by using the push button on the main panel. This\n\
 
224
     increment the corresponding rotation angle, you can\n\
 
225
     easily change the increment size using this option.\n\n\
 
226
Track Highlights: \n\
 
227
     As you click on a given node of the Event Tree \n\
 
228
     Display, tracks related to that particular node are \n\
 
229
     highlighted. This relation ship goes as folow: \n\
 
230
        - Node : All tracks belonging to the selected node \n\
 
231
                 are highlighted. This is the default.\n\
 
232
        - Daughters : All daughter tracks are highlighted\n\
 
233
        - Descendants : All descendants are highlighted\n\
 
234
        - Mother : The mother track of the selected node \n\
 
235
                  is highlighted. \n\
 
236
        - Ancestors : Up to the tree top, all ancestors of \n\
 
237
                  the selected node are highlighted. ",0,0},
 
238
     
 
239
trackSel = {"Track & Node Selection",'S', False, HELP_TEXT,
 
240
"\n Further information about tracks or nodes in the tree is available. \
 
241
In fact, all the information in the HEPEVT COMMON block, written in the \
 
242
StdHep files, can be gotten from interacting with this display. \
 
243
(Except the position of the vertices in real space, which will be \
 
244
available in the Spatial Display, soon to be released.\n\n\
 
245
You can pick a selected track on the drawing area by pointing the cursor to \
 
246
it and depressing the central button ( the left button controls the motion \
 
247
of the display). The selected track is highlighted on the display, \
 
248
and a small text box should appear if the pointing is succesful, \
 
249
indicating the particle identity, it's place in the HEPEVT block, and various \
 
250
kinematical quantities. If the Event Tree is also displayed, the node to \
 
251
which the tracks belongs to is highlighted, indicating the position of the \
 
252
selected particle in the hierarchy.\n\n\
 
253
You can also get more information about a given node in the tree, by pressing \
 
254
(left mouse button) on a tree element. The corresponding tracks are \
 
255
 highlighted on the event display.\n\n\
 
256
 If Greek fonts are available on yourplatform ( usualy refered as a symbol \
 
257
 font, Phase Display will display the name in greek, if applicable. \
 
258
 This is done by adding a few line to your .Xdefaults file, specifying a \
 
259
 fontlist. The name of this application is phase. \
 
260
 For instance, on the SGI, you can include:\n\n\
 
261
phase*fontList: \n\
 
262
 -adobe-helvetica-medium-r-normal--12-120-75-75-m-70\n\
 
263
 -iso8859-1, \n\
 
264
 -adobe-symbol-medium-r-normal--14-100-100-100-p-85\n\
 
265
 -adobe-fontspecific=greek\n\n\
 
266
 Also, the color of the background of the Phase Display using the spin widget \
 
267
 can be changed :\n\n\
 
268
phase*Spin.background:black\n\n\
 
269
Known deficiency : the highlight may no work properly upon resizing the \
 
270
main panel. If so, resize the window to readjust graphical context ",0,0};
 
271
 
 
272
/*
 
273
** Menu lists
 
274
**
 
275
** Some of the menu list arrays have the number of items specified because
 
276
** the IBM C compiler complains: "Number of initializers cannot be greater
 
277
** than the number of aggregate members"
 
278
*/
 
279
helpMenuInfo
 
280
 
 
281
*MainMenuHelp[] = {&gettingStarted,&mainP, &file, &event, &preferences, 
 
282
        &trackSel, NULL};
 
283
        
 
284
/*
 
285
**
 
286
** Similar prose for the Space Display
 
287
**
 
288
*/
 
289
 
 
290
static helpMenuInfo
 
291
 
 
292
gettingStartedSpace = {"Getting Started", 'G', True,  HELP_TEXT,
 
293
"\n StdHep Space Display is a tool to select, display, and browse StdHep \
 
294
tracks and vertices, in order to understand the kinematics, spatial \
 
295
relationships among these vertices \
 
296
and the decay chain.\
 
297
Such Events can easily be created based on the StdHep framework, which \
 
298
interfaces to most HEP generators, such JETSET, ISAJET, HERWIG  \n\n\
 
299
After invoking Space Display , you'll want to do one of two  \
 
300
things:\n\n\
 
301
(--> Use scroll bar at right to see rest of this message.)\n\n\
 
302
     Open an Native StdHep file\n\
 
303
     Open a FZ (XL format) StdHep file\n\n\
 
304
Use the File pull-down menu to perform any of these functions.  \n\n\
 
305
After specifying the file you which to browse, you need to specify \
 
306
the event to view.  You can use the arrow buttons on the top of this \
 
307
panel to select the event you whish to see. Currently, you can only  \
 
308
browse through 100 events of this file (or less). Since StdHep files are \
 
309
sequential, reaching further downstream would probably be too slow. \
 
310
At the outset, the first event in the file is shown. \
 
311
The length of the track is mapped to the norm of the 3-momentum vector, \
 
312
sliders can help \
 
313
you to manipulate the event in 3-D space. Note that there is a transverse \
 
314
magnification factor ( most, if not all, event generators have the beam axis \
 
315
along the Z,  e.g. longitudinal direction.) \
 
316
The color is mapped to the particle identification. The Color Code is \
 
317
available in the Event pull down menu\n\n\
 
318
The next step is to relate the kinematics to the decay chain. Under the \
 
319
Event pull down menu, selected the Event Tree option. More help on \
 
320
node or track selection in those display is available in the Help pull down \
 
321
menu.  The Phase space display is also available from this application.",
 
322
 0, 0},
 
323
 
 
324
mainSpace = {"Main Panel", 'P', True, HELP_TEXT, 
 
325
"\n The main panel of this window graphically describes the kinematics in real \
 
326
space. On the left, a few buttons to select which type of tracks \
 
327
are on display and to control the appearance of the plot. On the right, \
 
328
the drawing area, displaying the selected track. The length of a track \
 
329
is always mapped to the size of the 3-momentum. \n\n\
 
330
   At the outset, all tracks are visible. This can be changed by clicking \
 
331
on the left-center of the panel. This should allow you to get rid of unwanted \
 
332
information. The selection is based either on particle stability or particle \
 
333
type. \n\n\
 
334
  Six sliders lets you control the positions of the tracks and vertices. The \
 
335
first one controls the over scale of the problem: B to D to strangeness decays \
 
336
do covers \
 
337
easily over 5 order of magnitudes, a logarythmic sliders allows to set the \
 
338
range (in cm.) covered by the display window. The next \
 
339
three sliders controls the translation ( or, effective panning) of the entire \
 
340
event. The next one controls the conversion factor from momentum to real \
 
341
space.  This can be used to easily match a mother particle to it's decay \
 
342
location. The last one controls the longitudinal to transverse ratio. \n\n\
 
343
  The left-bottom part of the panel is devoted to handle the control of the \
 
344
viewing angle of the 3D display. The top part sets various rotation angles, \
 
345
the left-bottom part, zooming. The right-bottom button allows you to get \
 
346
back to the default viewing angle ( that is, a bird's eye view of the X-Y \
 
347
plane.\n\n\
 
348
  Known deficiency : No perspective is currently available.",0,0}, 
 
349
/*        1         2         3         4         5         6 */
 
350
/* 3456789012345678901234567890123456789012345678901234567890 */
 
351
  
 
352
fileSpace = {"File", 'F', False, HELP_TEXT,
 
353
"\nThe File pull-down menu allows you to get the input data and create \
 
354
new anciliary window showing the selected event. It also has the print \
 
355
and exit options. \n\n\
 
356
Close: \n\
 
357
    Closing the last window will terminate the application \n\
 
358
Open Native StdHep file: \n\
 
359
    This type of file has been written using the HERWRT call\n\
 
360
    in the StdHep library. This application will scan up to\n\
 
361
    100 events, in order to check the self consistency of \n\
 
362
    the file.\n\
 
363
    If the file contains less 100 events, an non-fatal\n\
 
364
    error message from StdLib will be printed on stdout, and\n\
 
365
    the real number of events available for scanning  will \n\
 
366
    be printed in the top right corner of the main panel. \n\
 
367
    By default, the first event is selected, and read in.\n\
 
368
    The file is closed after each read. \n\
 
369
Open Zebra (XL) StdHep file:\n\
 
370
    This type of file must have been written through a \n\
 
371
    HEPZWRT call, where the file has been opened with the\n\
 
372
    XL option, which means that the file is in exchange\n\
 
373
    mode and has been written using c-interface mode.\n\
 
374
    The procedure to scan, read or select events is the \n\
 
375
    same as for Native StdHep files. \n\
 
376
Print: \n\
 
377
     To print the main panel drawing area to a PostScript\n\
 
378
     printer.  Phase Display will pop up a Printer Options\n\
 
379
     window for specifying the printer queue name and the\n\
 
380
     number of copies to print.  The last field in this\n\
 
381
     dialog is the Unix (or VMS) command that will be \n\
 
382
     used to queue the plot for printing.  Since this \n\
 
383
     command is generated from the other options in the \n\
 
384
     dialog, there is normally no reason to change it, but\n\
 
385
     you can use the field to add options and change the \n\
 
386
     command in ways not otherwise supported by the print\n\
 
387
     dialog.", 0,0 },
 
388
/*        1         2         3         4         5         6 */
 
389
/* 3456789012345678901234567890123456789012345678901234567890 */
 
390
eventSpace = {"Event", 'E', False, HELP_TEXT,
 
391
"\nThe Event pull-down menu allows you to understand the topology of the\
 
392
event trough color mapping, 3D manipulation and the Tree Display.\n\n\
 
393
Show Rotation Angle:\n\
 
394
     You can rotate the Event by direct manipulation, \n\
 
395
     (click/drag on the graph, using the left button), or by\n\
 
396
     using the push button on the main panel, or, if you\n\
 
397
     like accuracy and remember what the Euler angles are,\n\
 
398
     you can use the Rotation angle panel \n\
 
399
     to set these angles. \n\n\
 
400
Show Eta-Pt Display:\n\
 
401
    Once you have an event on display, it might be \n\
 
402
    interesting to see it simultaneouly in a Phase Space\n\
 
403
    appropriate to Hadronic physics: rapidity an Pt Space.\n\
 
404
    This new window does not allow you \n\
 
405
    to see an other event nor open an other file. \n\
 
406
    If you whish to compare events across different files\n\
 
407
    you will have to start an other Phase or Space \n\
 
408
    Display process. \n\n\
 
409
Show Phase Display:\n\
 
410
    Once you have an event on display, it might be \n\
 
411
    interesting to see it simultaneouly in real space \n\
 
412
    in Phase Space. This new window has the same \n\
 
413
    constraints as the Eta-Pt one: no new events \n\n\
 
414
Show Event Tree:\n\
 
415
     The StdHep data structure is hierarchical, e.g., the \n\
 
416
     parent to daughter relationship is kept in the \n\
 
417
     generation/decay process. Such a genealogical tree can\n\
 
418
     be display. In order to simplify the picture, \n\
 
419
     a standard tree structure is used, e.g., a particle \n\
 
420
     has one and only  parent ( a ficticious node being \n\
 
421
     placed on the top). \n\n\
 
422
     This option display such a tree, where a node\n\
 
423
     represented a single particle, or collection of\n\
 
424
     them. The algorithm goes as follow: if  particle(s)\n\
 
425
     are stable and have no daughter (leave node), and if\n\
 
426
     other particles are sharing the same id and have \n\
 
427
     the same mother, they are lumepd together in a single \n\
 
428
     node. This allows to simply high multiplicity trees. \n\n\
 
429
     The Tree display is made of buttons, pressing them \n\
 
430
     ( left buttons)  will give more information about the\n\
 
431
     given node. Also, the tracks inluded in that node will \n\
 
432
     be highlighted on the main panel \n\n\
 
433
     Known deficiency : The Tree widget ( or Motif) has a\n\
 
434
     bug in the DestroyWidget method, which can (and usually\n\
 
435
     will) induce a crash of this application upon removal \n\
 
436
     of the a Tree Display if the number of node exceeds a \n\
 
437
     few hundreds. This bug is currently under study. \n\
 
438
     In any event, exploring a ~500-node tree can be time \n\
 
439
     consuming and  not very useful, one can suggest various\n\
 
440
     algorithm to simplify a tree, for instance, collapse \n\
 
441
     all particles to the top, if they do not have an\n\
 
442
     interesting ancestry ( e.g., they don't come from \n\
 
443
     a top or bottom quark. \n\n\
 
444
Show Detector Sketch:\n\
 
445
     A cartoon detector can be drawn on this display, to \n\
 
446
     merely indicate the scale and related track directions \n\
 
447
     and geometrical acceptances. You'll have to create a \n\
 
448
     simple ASCII file, each line containing the \n\
 
449
     coordinates of a line segment : \n\
 
450
           (x1, y1, z1, x2, y2, z2), expressed in cm.\n\
 
451
     Comments line are allowed. Free format ( %f) is used\n\
 
452
     An example file sketch1.det is available with the \n\
 
453
     product. Once you activate this option, you will be\n\
 
454
     prompted to open such a file, and the display will be\n\
 
455
     refreshed with these additional line segments,\n\
 
456
     all of them black. ( Sorry, no color!). \n\
 
457
     To remove this sketch, ask for this option again, \n\
 
458
     and cancel the file selection. \n\n\
 
459
Show Color Code: \n\
 
460
     A fictious Tree display can be used to understand the\n\
 
461
     crummy color chosen in this application.  Currently, \n\
 
462
     this coding is fixed. If you have a better idea and \n\
 
463
     are willing to do the coding, let's talk! ", 0, 0},     
 
464
/*        1         2         3         4         5         6 */
 
465
/* 3456789012345678901234567890123456789012345678901234567890 */
 
466
 
 
467
preferencesSpace = {"Preferences", 'P', True, HELP_TEXT,
 
468
"\nThe preferences pull-down menu allows you set/unset various options \
 
469
affecting the Space Display session. \n\n\
 
470
Show Axes:\n\
 
471
     By default, the axis in real space are shown. The\n\
 
472
     scale is identical for all three axis, and is \n\
 
473
     represented in the main panel.  To make the event\n\
 
474
     more visible, it might be occasionaly useful not to\n\
 
475
     draw these axis.  This option lets you do this. \n\n\
 
476
Show Vertices:\n\
 
477
     By default, the vertices are represented by a \n\
 
478
     little \"pin-balls made\" of short straight segments.\n\
 
479
     This representation helps you locate the vertices,\n\
 
480
     but in some case can be confusing in presence of \n\
 
481
     many tracks of small momentum. You can toggle this\n\
 
482
     button and the vertices will disappear.\n\
 
483
Buffer Graphics:\n\
 
484
     Graphics buffering changes the way Histo-Scope draws\n\
 
485
     moving graphics in X-Windows.  Depending on your X-Win-\n\
 
486
     dows server or X-Terminal, turning on buffered graphics\n\
 
487
     may either improve or degrade animation quality - it\n\
 
488
     eliminates flicker at the expense of drawing speed and\n\
 
489
     X-server memory.\n\
 
490
     Initially Buffer Graphics mode is off.\n\n\
 
491
Rotation Increment: \n\
 
492
     You can rotate the Event by direct manipulation, \n\
 
493
     (click/drag on the graph, using the left button), or,\n\
 
494
     by using the push button on the main panel. This\n\
 
495
     increment the corresponding rotation angle, you can\n\
 
496
     easily change the increment size using this option. \n\
 
497
Track Highlights: \n\
 
498
     As you click on a given node of the Event Tree \n\
 
499
     Display, tracks related to that particular node are \n\
 
500
     highlighted. This relation ship goes as folow: \n\
 
501
        - Node : All tracks belonging to the selected node \n\
 
502
                 are highlighted. This is the default.\n\
 
503
        - Daughters : All daughter tracks are highlighted\n\
 
504
        - Descendants : All descendants are highlighted\n\
 
505
        - Mother : The mother track of the selected node \n\
 
506
                  is highlighted. \n\
 
507
        - Ancestors : Up to the tree top, all ancestors of \n\
 
508
                  the selected node are highlighted. ",0,0},
 
509
     
 
510
trackSelSpace = {"Track & Node Selection",'S', False, HELP_TEXT,
 
511
"\n Further information about tracks or nodes in the tree is available. \
 
512
In fact, all the information in the HEPEVT COMMON block, written in the \
 
513
StdHep files, can be gotten from interacting with this display.\n\n\
 
514
You can pick a selected track on the drawing area by pointing the cursor to \
 
515
the middle of the track segment and depressing the central button \
 
516
( the left button controls the motion \
 
517
of the display). The selected track ( or a portion of it )\
 
518
 is highlighted on the display, \
 
519
and a small text box should appear if the pointing is succesful, \
 
520
indicating the particle identity, it's place in the HEPEVT block, and various \
 
521
kinematical quantities. If the Event Tree is also displayed, the node to \
 
522
which the tracks belongs to is highlighted, indicating the position of the \
 
523
selected particle in the hierarchy.\n\n\
 
524
You can also get more information about a given node in the tree, by pressing \
 
525
(left mouse button) on a tree element. The corresponding tracks are \
 
526
 highlighted on the event display.\n\n\
 
527
 If Greek fonts are available on yourplatform ( usualy refered as a symbol \
 
528
 font, Phase Display will display the name in greek, if applicable. \
 
529
 This is done by adding a few line to your .Xdefaults file, specifying a \
 
530
 fontlist. The name of this application is phase. \
 
531
 For instance, on the SGI, you can include:\n\n\
 
532
phase*fontList: \n\
 
533
 -adobe-helvetica-medium-r-normal--12-120-75-75-m-70\n\
 
534
 -iso8859-1, \n\
 
535
 -adobe-symbol-medium-r-normal--14-100-100-100-p-85\n\
 
536
 -adobe-fontspecific=greek\n\n\
 
537
 Also, the color of the background of the Phase Display using the spin widget \
 
538
 can be changed :\n\n\
 
539
phase*Spin.background:black\n\n\
 
540
Known deficiency : the highlight may no work properly upon resizing the \
 
541
main panel. If so, resize the window to readjust graphical context ",0,0};
 
542
 
 
543
helpMenuInfo
 
544
 
 
545
*MainMenuHelpSpace[] = {&gettingStartedSpace, &mainSpace, &fileSpace,
 
546
                         &eventSpace, &preferencesSpace, &trackSelSpace, NULL};
 
547
/*
 
548
**
 
549
** Short prose for the Para Display
 
550
**
 
551
*/
 
552
 
 
553
static helpMenuInfo
 
554
                         
 
555
gettingStartedPara = {"Getting Started", 'G', True,  HELP_TEXT,
 
556
"\n The Eta-Pt ( e.g. rapidity - transverse plane ) 3-D plot \
 
557
of the StdHep Display provides an effective way to represent the parton  \
 
558
collision.  It is assumed that the user is familiar with other StDhep \
 
559
windows, this help menu will not repeat all the details available in the \
 
560
Phase Space display or the real space display exhibiting detached vertices.  \
 
561
More details on this particular representation is available in the next \
 
562
menu. Thanks to A. Para for suggesting this window.", 0, 0},
 
563
 
 
564
mainPPara = {"Main Panel", 'P', True, HELP_TEXT, 
 
565
"\n The main panel of this window graphically describes the kinematics \
 
566
of the event, in the context of the naive parton model. Along the \
 
567
Z (beam) axis, the rapidity, on the X-Y plane, the transverse momentum. \
 
568
On the left, a few buttons to select which type of tracks \
 
569
are on display and to control the appearance of the plot. On the right, \
 
570
the drawing area, displaying the selected track. The length of a track \
 
571
is always mapped to its transvere momentum, in GeV/c. The origin always \
 
572
intrersects the Z ( rapidity or beam axis) and all tracks are perpendicular \
 
573
to the Z axis. \n\n\
 
574
  At the outset, all tracks are visible. This can be changed by clicking \
 
575
on the left-center of the panel. This should allow you to get rid of unwanted \
 
576
information. The selection is based either on particle stability or particle \
 
577
type. \n\n\
 
578
  In the middle of the left-hand side, you will see two sliders, controlling \
 
579
 (i) A translation along the rapidity axis Z and \
 
580
(ii) the aspect ratio longitudinal vs transverse ( in other words, setting an \
 
581
arbitrary conversion factor from eta to Gev to match units). \n\n\
 
582
  The left-bottom part of the panel is devoted to handle the control of the \
 
583
viewing angle of the 3D display. The top part sets various rotation angles, \
 
584
the left-bottom part, zooming. The right-bottom button allows you to get \
 
585
back to the default viewing angle ( that is, a bird's eye view of the X-Y \
 
586
plane.\n\n\
 
587
  Known deficiency : No perspective is currently available.",0,0}; 
 
588
 
 
589
helpMenuInfo
 
590
 
 
591
*MainMenuHelpPara[] = {&gettingStartedPara, &mainPPara, NULL};
 
592