NAMECVolume name D=' 'NOPTCS=sample mode,T=tracks,H=hits D=' ' |
Positioning some daughter volumes inside a 'mother', it can be important to check if overlaps between such volumes have occurred. Instead of putting the drawing in a view bank, zooming, and iterating the process for different viewing angles of the same detector, the MOVE facility has been developed (for machines running with X11): it is sufficient to draw a view of the volumes to be analysed (after setting the proper SEEN, COLO, etc. attributes) and then to enter 'MOVE' followed by the same 'NAME' used for the last command DRAW. The detector will appear in a panel with five buttons at the bottom: THETA, PHI, TRASL, ZOOM, OFF. Clicking on the left button of the mouse, when the cursor is inside the THETA area, will rotate the detector along the polar angle theta according to the backward-to-forward movement of the mouse (clicking up and down the left button if not in sample mode); clicking on the right button of the mouse will stop the rotation; clicking now on the left button of the mouse when inside the PHI area will activate a rotation along the polar angle phi. In the same way, activating the TRASL button, the detector can be translated in the u,v plane of the screen according to the 2D-movement of the mouse. Finally, activating the ZOOM button, the detector will be zoomed (or unzoomed) according to the backward-to-forward movement of the mouse. Clicking on the OFF button will return the control to the 'command mode'. The MOVE command will work also with hidden line removal and shading options (when SHAD is on the background will be black); moreover, if the volumes are clipped, exploded, shifted, etc., they will be 'MOVED' with these features as well. Tracks and hits of a previously stored physical event can be moved together with the detector, allowing a dynamical 3-D analysis of the simulated events. Clicking the central button of the mouse when a good view of the event is found, will stop any movement and the mouse will allow the normal picking capabilities first for the tracks and then for the hits. After clicking of the right button, the normal movement will restart to find another interesting view of the event and to iterate the process. The MOVE is also available in sample mode. The following commands will produce a drawing of a volume and then will give the control to the MOVE panel; try the following possibilities:
EXAMPLE 1 - dopt hide off satt * seen -2 draw NAME 40 40 0 10 10 .01 .01 move NAME EXAMPLE 2 - dopt hide on satt * seen -2 draw NAME 40 40 0 10 10 .01 .01 move NAME EXAMPLE 3 - dopt shad on satt * colo 3 satt * fill 2 dopt edge off draw NAME 40 40 0 10 10 .01 .01 move NAME
MOVE3D name [ theta phi psi u0 v0 su sv sz nopt ]
NAMECVolume name D=' 'THETARViewing angle theta (for 3D projection) D=40. R=0.:180.PHIRViewing angle phi (for 3D projection) D=40. R=0.:360.PSIRViewing angle psi (for 2D rotation) D=0. R=0.:180.U0RU-coord. (horizontal) of volume origin D=10. R=0.:20.V0RV-coord. (vertical) of volume origin D=10. R=0.:20.SURScale factor for U-coord. D=0.01SVRScale factor for V-coord. D=0.01SZRScale zoom factor D=1. R=0.1:10.NOPTCT=tracks,H=hits D=' ' |
Possible NOPT values are:
TH |
Same functionality of the command MOVE interfaced with MOTIF.
PERSP name distt [ samp ]
NAMECVolume name D=' 'DISTTRVolume distance from observer D=1000.SAMPCControl to the mouse D='OFF ' |
To control the perspective according to the variation of the distance between the observer and the object (if PROJ has the value PERS). If SAMP is ON the control of the distance is given via the mouse.
LENS knum [ ksam ]
KNUMIView bank identifier D=1KSAMCSample mode D='OFF ' |
Interactive zooming for detectors and events when running with X-windows. Using this command, when showing the contents of a view bank, it is possible to click (left button) in two points of the drawing (which will represent the left upper corner and the right bottom corner of the part to be zoomed). After the second click a new 'window' will appear to fit the frame defined by the two clicks and it will show a zoomed view as seen from a lens with those dimensions. Clicking now the central button will translate the lens over the drawing, while clicking the right button will stop it. Moreover, clicking the left button of the mouse, the lens will increase (or decrease) its magnification power according to the backward-to-forward movement of the mouse. A click on the right button will stop this action and it is possible to restart the translation of the lens or, clicking on the right button again, to make the lens disappear. It is then possible to open another 'window-lens' with different dimensions. Thus, this command can be useful to scan detailed parts of a detector or to scan hits and showers for events. Clicking the right button when no lens is displayed will return the control to the 'command mode'. The LENS is also available in sample mode when KSAM is 'ON'. The following commands will fill a view bank and will allow to scan the detector and an event previously stored via the use of LENS (when running with X-windows):
EXAMPLE - satt * seen 1 dopen 1 draw NAME 40 40 0 10 10 .01 .01 dxyz 0 dhits * * 0 0 .2 dclose dsh 1 lens 1 on
ZOOM [ zfu zfv isel uz0 vz0 u0 v0 ]
ZFURZoom factor for U-coord. (horizontal) D=2.ZFVRZoom factor for V-coord. (vertical) D=2.ISELIOptions D=1UZ0RU-coord. of the centre of zoom rectangle D=10. R=0.:20.VZ0RV-coord. of the centre of zoom rectangle D=10. R=0.:20.U0RU-coord. of the centre of resulting zoomed rectangle D=10. R=0.:20.V0RV-coord. of the centre of resulting zoomed rectangle D=10. R=0.:20. |
CALL GDZOOM(zfu,zfv,uz0,vz0,u0,v0)
This command sets the zoom parameters that will be used by subsequent calls to the drawing routines. Each zoom operation is always relative to the status of the current zoom parameters. The scale factors in u,v are respectively zfu,zfv. zfu=0 (or zfv=0) will act as a reset (i.e. unzoomed viewing). The zoom is computed around uz0,vz0 (user coordinates), and the resulting picture will be centered at u0,v0. The use of the space bar is replaced by the left button of the mouse running with X11: If isel=0 :
1. position the cursor at (uz0,vz0) 2. type the space bar (GKS)
(u0,v0 are chosen at centre of screen) If isel=1 :
1. position the cursor at first corner of zoom rectangle 2. type the space bar (GKS) 3. position the cursor at second corner of zoom rectangle 4. type the space bar (GKS)
(zfu,zfv are chosen according to the zoom rectangle; uz0,vz0 are chosen at the centre of the zoom rectangle; u0,v0 are chosen at centre of screen) If isel=2 :
1. position the cursor at (uz0,vz0) 2. type the space bar (GKS) 3. position the cursor at (u0,v0) 4. type the space bar (GKS)
If isel=1000+n and running with X-windows:
1. n must be the identifier of an active view bank 2. clicking on the left button of the mouse will display a zoomed view (computed around the cursor position) of the previous drawing in a new window 3. it is now possible to iterate the zooming from the new window 4. clicking on the right button will return the control to the main window 5. clicking on the left button it is possible to open new windows zooming in other points of the detector 6. clicking on the right button when the main window is active will return the control to the 'command mode'.
DXYZ [ itra ]
ITRAITrack number D=0 |
CALL GDXYZ(itra)
Draw tracks previously stored via GSXYZ.
KXYZ [ epsilo ]
EPSILORDelta angle D=0.25 |
CALL GKXYZ(epsilo)
The picking of track points requires the JXYZ data structure and is repeated until the character typed is 'Q' or 'q' (GKS) or the right button of the mouse is clicked (X11). EPSILO is the delta angle used for picking; if EPSILO=0 there is no optimization performed and over all the track points the one nearest to the pick point is taken.
DPART [ itra isel size ]
ITRAITrack number D=0ISELIOption flag D=11SIZERCharacter size (cm) for particle names D=0.25 |
CALL GDPART(itra,isel,size) isel=x1 to draw the track number isel=1x to draw the particle name
DHITS [ chuset chudet itra isymb ssymb ]
CHUSETCUser set identifier D='*'CHUDETCUser detector identifier D='*'ITRAINumber of the selected track D=0ISYMBICharacter selection number D=0SSYMBRSize of characters (cm) D=0.1 |
CALL GDHITS(chuset,chudet,itra,isymb,ssymb). The character plotted at each hit point may be chosen by isymb :
-1 (small) hardware points (fast) 0 software crosses (default) 840,850 empty/full circles (slow) 841,851 empty/full squares (slow) 842,852 empty/full triangles (up) (slow) 843,853 empty diamond/full triangle (down) (slow) 844,854 empty/full stars (slow)
Except for isymb=-1, the size of the character on the screen can be chosen by SSYMB cm. The hit colour will follow the value of TXCI (text colour) for isymb 0, the value of PMCI (polymarkers colour) for isymb 0, the value of PLCI (polyline colour) for isymb=0.
KHITS [ chuset chudet epsilo ]
CHUSETCUser set identifier D='*'CHUDETCUser detector identifier D='*'EPSILORPick aperture D=0.1 |
CALL GKHITS(chuset,chudet,epsilo)
The picking of hit points requires the appropriate JSET data structure have been filled and is repeated until the character typed is 'Q' or 'q' (GKS) or the right button of the mouse is clicked (X11). If the character typed to pick is 'K' or 'k' then the kinematics of the corresponding track is also printed. The search is made of all the hits of all tracks in detector CHUDET of set CHUSET. EPSILO is the pick aperture; if EPSILO 0 its absolute value is taken and in addition the pick aperture is drawn; if EPSILO=0 there is an infinite pick aperture and over all the hits the one nearest to the pick point is taken.
DCHIT [ chuset chudet itra isymb sizmax ihit hitmin hitmax ]
CHUSETCUser set identifier D='*'CHUDETCUser detector identifier D='*'ITRAINumber of the selected track D=0ISYMBICharacter selection number D=0SIZMAXRMaximum character size (cm) D=1IHITIIndex of array HITS D=4HITMINRLower boundary of HITS(IHIT) D=0HITMAXRUpper boundary of HITS(IHIT) D=0 |
CALL GDCHIT(chuset,chudet,itra,isymb,sizmax,ihit,hitmin,hitmax)
The character plotted at each hit point may be chosen via CSYMB; isymb is composed as:
-1 (small) hardware points (fast) 0 software crosses (default) 840,850 empty/full circles (slow) 841,851 empty/full squares (slow) 842,852 empty/full triangles (up) (slow) 843,853 empty diamond/full triangle (down) (slow) 844,854 empty/full stars (slow)
Except for isymb=-1 the SIZE of the character on the screen is a function of HITS(IHIT), the array containing the calorimeter quantity, with HITMIN and HITMAX defining its range. The maximum character size (used in overflow) is SIZMAX.
SIZE = SIZMAX * ( HITS(IHIT) - HITMIN ) / HITMAX
DUVIEW name type cpxtyp [ iview ]
NAMECDetector nameTYPECView nameCPXTYPCComplexity nameIVIEWIView number where picture is stored D=0 |
CALL GUVIEW(name,type,cpxtyp,iview)
Graphics control commands.
DOPEN iview
IVIEWIView number |
CALL GDOPEN(iview)
When a drawing is very complex and requires a long time to be executed, it can be useful to store it in a view bank: after a call to DOPEN and the execution of the drawing (nothing will appear on the screen), and after a necessary call to DCLOSE, the contents of the bank can be displayed in a very fast way through a call to DSHOW; therefore, the detector can be easily zoomed many times in different ways. Please note that the pictures with solid colours can now be stored in a view bank or in 'PICTURE FILES'.
DSHOW [ iview ]
IVIEWIView number |
CALL GDSHOW(iview)
It shows on the screen the contents of a view bank. It can be called after a view bank has been closed.
DELETE iview
IVIEWIView number |
CALL GDELET(iview)
It deletes a view bank from memory.
DCLOSE
CALL GDCLOS
It closes the currently open view bank; it must be called after the end of the drawing to be stored.
CHANGEWK
CALL GCHNWK It open a new workstation (if not already opened) and activate it (deactivating the default one).
RESETWK
CALL GRESWK It deactivate the previosly activated workstation and reactivate the default one.
SSETAT iopt
IOPTCAttribute name |
Set current attribute.
SSETVA [ rval ]
RVALRAttribute value D=1. R=-10.:10. |
Set current attribute value.