NAMECVolume nameTHETARViewing angle theta (for 3D projection) R=0.:180.PHIRViewing angle phi (for 3D projection) R=0.:360.PSIRViewing angle psi (for 2D rotation) R=0.:360.U0RU-coord. (horizontal) of volume originV0RV-coord. (vertical) of volume originSURScale factor for U-coord.SVRScale factor for V-coord. |
CALL GDRAW(name,theta,phi,psi,u0,v0,su,sv)
If optional parameters are missing, the corresponding values are taken from the common /GCDRAW/. This command will draw the volumes, selected with their graphical attributes, set by the SATT facility. The drawing may be performed with hidden line removal and with shading effects according to the value of the options HIDE and SHAD; if the option SHAD is ON, the contour's edges can be drawn or not. If the option HIDE is ON, the detector can be exploded (BOMB), clipped with different shapes (CVOL), and some of its parts can be shifted from their original position (SHIFT). When HIDE is ON, if the drawing requires more than the available memory, the program will evaluate and display the number of missing words (so that the user can increase the size of its ZEBRA store). Finally, at the end of each drawing (with HIDE on), the program will print messages about the memory used and statistics on the volumes' visibility. The following commands will produce the drawing of a green volume, specified by NAME, without using the hidden line removal technique, using the hidden line removal technique, with different linewidth and colour (red), with solid colour, with shading of surfaces, and without edges. Finally, some examples are given for the ray-tracing. (A possible string for the NAME of the volume can be found using the command DTREE).
EXAMPLE - satt * seen -2 satt NAME colo 3 draw NAME 40 40 0 10 10 .01 .01 next dopt hide on draw NAME 40 40 0 10 10 .01 .01 next satt NAME colo 2 satt NAME lwid 4 draw NAME 40 40 0 10 10 .01 .01 next dopt shad on satt * lwid 1 satt NAME fill 1 draw NAME 40 40 0 10 10 .01 .01 next satt NAME fill 3 draw NAME 40 40 0 10 10 .01 .01 next dopt edge off draw NAME 40 40 0 10 10 .01 .01 dopt rayt on satt * fill 20 dopt mapp 1 draw NAME 40 40 0 10 10 .01 .01 dopt proj pers persp NAME 500 draw NAME 40 40 0 10 10 1 1 valcut 100 100 100 dopt mapp 0 dopt user on satt NAM1 seen 0 satt NAM2 colo 2 draw NAME 40 40 0 10 10 5 5
SPOT xlpos ylpos zlpos inten
XLPOSRx coordinate of light sourceYLPOSRy coordinate of light sourceZLPOSRz coordinate of light sourceINTENIintensity of light source |
This point-like light source can be moved in the space and its intensity can be changed (INTEN going from 0 to 10) relatively to the ambience light.
VAR5D tseqto nproc nmptot totmby tseq tlat tnet
TSEQTORtotal sequential timeNPROCInumber of processorsNMPTOTInumber of message passingTOTMBYRtotal megabytes transfertTSEQRnot parallelized codeTLATRlatency timeTNETRnetwork speed in Mbytes/sec |
It sets the values of the parameters expressed in the formula and specify which variables must be assumed as x,y,z (setting their value to 1001,1002,1003, respectively).
RANG5D x1min x1max y1min y1max z1min z1max
X1MINRx coordinate minX1MAXRx coordinate maxY1MINRy coordinate minY1MAXRy coordinate maxZ1MINRz coordinate minZ1MAXRz coordinate max |
It sets the range for the x,y,z variables.
DVOLUME n namnum chnrs [ theta phi psi u0 v0 su sv ]
NINumber of elements in arrays LNAMES and LNUMBS D=1NAMNUMCVolume names and numbers (ex. "NAME1,NR1,NAME2,NR2")CHNRSCReference system used D='MARS'THETARViewing angle theta (for 3D projection) R=0.:360.PHIRViewing angle phi (for 3D projection) R=0.:360.PSIRViewing angle psi (for 2D rotation) R=0.:180.U0RU-coord. (horizontal) of volume originV0RV-coord. (vertical) of volume originSURScale factor for U-coord.SVRScale factor for V-coord. |
Possible CHNRS values are:
MARSDRS |
CALL GDRVOL(n,lnames,lnumbs,nrs,theta,phi,psi,u0,v0,su,sv)
N is the number of levels from the top of the geometry structure to the volume lnames(n),lnumbs(n) to be drawn. NAMNUM contain the arrays lnames and lnumbs, identifying the path, in pairs and separated by commas; for example (with n=2) : 'lname(1),lnumbs(1),lname(2),lnumbs(2) ' CHNRS is the name of the reference system used: MARS for MAster Reference System or DRS for Daughter Reference System. NRS=0 for MARS or NRS 0 for DRS If optional parameters are missing, the current values in /GCDRAW/ are taken.
DCUT name caxis cutval [ u0 v0 su sv ]
NAMECVolume nameCAXISCAxis valueCUTVALRCut plane distance from the origin along the axisU0RU-coord. (horizontal) of volume originV0RV-coord. (vertical) of volume originSURScale factor for U-coord.SVRScale factor for V-coord. |
Possible CAXIS values are:
XYZ |
CALL GDRAWC(name,iaxis,cutval,u0,v0,su,sv)
The cut plane is normal to caxis (X,Y,Z), corresponding to iaxis (1,2,3), and placed at the distance cutval from the origin. The resulting picture is seen from the the same axis. If optional parameters are missing, the current values in /GCDRAW/ are taken. When HIDE Mode is ON, it is possible to get the same effect with the CVOL/BOX command.
DXCUT name cutthe cutphi cutval [ theta phi u0 v0 su sv ]
NAMECVolume nameCUTTHERTheta angle of the line normal to cut plane R=0.:360.CUTPHIRPhi angle of the line normal to cut plane R=0.:360.CUTVALRCut plane distance from the origin along the axisTHETARViewing angle theta (for 3D projection) R=0.:360.PHIRViewing angle phi (for 3D projection) R=0.:360.U0RU-coord. (horizontal) of volume originV0RV-coord. (vertical) of volume originSURScale factor for U-coord.SVRScale factor for V-coord. |
CALL GDRAWX(name,cutthe,cutphi,cutval,theta,phi,u0,v0,su,sv)
The cut plane is normal to the line given by the cut angles cutthe and cutphi and placed at the distance cutval from the origin. The resulting picture is seen from the viewing angles theta,phi. If optional parameters are missing, the current values in /GCDRAW/ are taken.
SHIFT cnvn xxxx yyyy zzzz
CNVNC Name of volume to be shifted D='*'XXXXR Shift along X axis D=0.YYYYR Shift along Y axis D=0.ZZZZR Shift along Z axis D=0. |
To draw a volume shifted from its initial position when hidden line removal is ON. It can be useful if you want to extract a volume or some volumes from the detector to show them more clearly. The last requested SHIFT for each volume NAME is performed. Moreover, the SHIFT of each volume will be performed starting from where its mother has been shifted, so that it's easier to SHIFT nicely sets of volumes using the mother-daughter relationships. If '.' is given as the name of the volume to be shifted, the shifts for all volumes will be reset. The following commands will produce the translation along the Z-axis of the previously drawn volume:
EXAMPLE - dopt hide on satt * seen -2 draw NAME 40 40 0 10 10 .01 .01 shift NAME 0 0 10
BOMB boom
BOOMR Exploding factor for volumes position D=0. R=-10.:10. |
To 'explode' the detector. If BOOM is positive (values smaller than 1. are suggested, but any value is possible) all the volumes are shifted by a distance proportional to BOOM along the direction between their centre and the origin of the MARS; the volumes which are symmetric with respect to this origin are simply not shown. BOOM equal to 0 resets the normal mode. A negative (greater than -1.) value of BOOM will cause an 'implosion'; for even lower values of BOOM the volumes' positions will be reflected respect to the origin. This command can be useful to improve the 3D effect for very complex detectors. The following commands will make explode the detector:
EXAMPLE - dopt hide on satt * seen 1 draw NAME 40 40 0 10 10 .01 .01 bomb 1 next draw NAME 40 40 0 10 10 .01 .01
DTREE [ name levmax iselt ]
NAMECVolume name D='` 'LEVMAXIDepth level D=3 R=-15:15ISELTIOptions D=111 |
This command allows the drawing of the logical tree, displaying the name, the multiplicity and other information about the volumes, via a call to GDTREE(name,levmax,isel): if the third parameter is not given (default), the command will produce the drawing of the tree displaying, for each volume, the number of the following levels (red arrows) and of the preceeding levels (green arrows); then the control is automatically given to the mouse: clicking on the left button when the cursor is inside a volume's pave will perform a DSPEC for that volume; doing the same when the cursor is on a red arrow, will perform a DTREE for the relative volume (the number of levels displayed depending on the clicked arrow); doing the same for the 'i-th' green arrow of a given volume, will perform a DTREE for its mother-volume staying 'i' levels before. If running with X-windows, the drawing of the specification (DSPEC) is performed in a different window to speed up the scanning of the tree. Iterating this procedure it is possible to analyse very easily and quickly any kind of tree. Clicking the right button of the mouse will return the control to the command mode. If the ISELT parameter is given, then the TREE will work as in the previous version, with ISELT up to 10001. The following command will perform a drawing of the tree and give the control to the user via the mouse:
EXAMPLE - dtree NAME 3
DSPEC name
NAMECVolume name |
Trough a call to GDSPEC(name), this command allows one to show three views of the volume (two cut-views and a 3D view), together with its geometrical specifications. The 3D drawing will be performed according the current values of the options HIDE and SHAD and according the current CVOL clipping parameters for that volume.
D3DSPEC name [ teta3 phi3 psi3 u03 v03 zm3 ]
NAMECVolume nameTETA3RTheta angle D=40. R=0.:180.PHI3RPhi angle D=40. R=0.:360.PSI3RPsi angle D=0. R=0.:360.U03RU-coord. (horizontal) of volume origin D=10. R=-40.:40.V03RV-coord. (vertical) of volume origin D=10. R=-40.:40.ZM3RZoom factor for current size factors D=1. R=0.00001:10. |
Trough a call to GSPE3D, this command allows one to show the volume (3D views in real time), together with its geometrical specifications (if using MOTIF). The 3D drawing will be performed according the current values of the options HIDE and SHAD and according the current CVOL clipping parameters for that volume.
DFSPC name [ csort cinter ]
NAMECVolume nameCSORTCAlphabetic sorting flag D='N'CINTERCInteractive/Batch version D='I' |
Possible CSORT values are:
YN01 |
Possible CINTER values are:
IB01 |
CALL GDFSPC(name,isort,inter)
Same as DSPEC, but it will draw the specifications for all the volumes. If the alphabetic sorting flag is YES, all pictures will be drawn in ascending alphabetic order; isort is set to 1. If INTERACTIVE, (inter=1), the routine will prompt the user at each plot before doing a clear screen, otherwise it will clear automatically the screen before starting a new frame.
DTEXT x0 y0 text size angle lwid cent
X0RX-coord. (horizontal) of text string D=10. R=0.:20.Y0RY-coord. (vertical) of text string D=10. R=0.:20.TEXTCText string D='GEANT'SIZERCharacter size (cm) D=.5ANGLERRotation angle (deg) D=0. R=0.:360.LWIDILine width D=4CENTCCentering option D='CENT' |
Possible CENT values are:
CENTLEFTRIGH |
CALL GDRAWT(x0,y0,text,size,angle,lwid,opt)
It allows one to draw some text in the current picture. Now more than 160 colours are available. The text colour must be set via the command IGSET. The size of the text will follow the zooming factors in the view banks.
DVECTOR xvect yvect npoint
XVECTCVector containing X-coord. (horizontal)YVECTCVector containing Y-coord. (vertical)NPOINTINumber of coord. |
Draw a polyline of 'npoint' point via a call to GDRAWV(xvect,yvect,npoint) where xvect and yvect are two KUIP vectors
DSCALE u v
URU-coord. (horizontal) of the centre of scaleVRV-coord. (vertical) of the centre of scale |
CALL GDSCAL(u,v)
It draws a scale centered in U,V.
DAXIS x0 y0 z0 dx
X0RX-coord. of axis originY0RY-coord. of axis originZ0RZ-coord. of axis originDXRAxis size |
CALL GDAXIS(x0,y0,z0,dx)
This commmand superimposes the axis of the MARS on the current picture. It is useful for finding immediately the orientation of the current drawing of the detector in the space.
DMAN u v type
URU-coord. (horizontal) of the centre of manVRV-coord. (vertical) of the centre of manTYPECMan, Wm1, Wm2, Wm3 D='MAN' |
Possible TYPE values are:
MANWM1WM2WM3 |
CALL GDMAN(u,v),CALL GDWMN1(u,v),CALL GDWMN2(u,v),CALL GDWMN2(u,v)
It superimposes the picure of a man or of a woman, chosen among three different ones, with the same scale factors as the detector in the current drawing.
DHEAD [ isel name chrsiz ]
ISELIOption flag D=111110NAMECTitle D='` 'CHRSIZRCharacter size (cm) of title NAME D=0.6 |
CALL GDHEAD(isel,name,chrsiz)
ISEL =
0 to have only the header lines xxxxx1 to add the text name centered on top of header xxxx1x to add global detector name (first volume) on left xxx1xx to add date on right xx1xxx to select thick characters for text on top of header x1xxxx to add the text 'EVENT NR x' on top of header 1xxxxx to add the text 'RUN NR x' on top of header
NOTE that ISEL=x1xxx1 or ISEL=1xxxx1 are illegal choices, i.e. they generate overwritten text. NAME is the title and CHRSIZ the character size in cm of text name.
MEASURE
Position the cursor on the first point (u1,v1) and hit the space bar(GKS). Position the cursor on the second point (u2,v2) and hit the space bar(GKS). Clicking the left button of the mouse (X11) will have the same effect as hiting the space bar (GKS). The command will compute and print the distance in space separating the two points on the projection view. It can be useful to measure distances either between volumes or between tracks or hits.
PICK
Activates graphic input to identify detector elements in a cut view. Clicking on the left button of the mouse when the cursor is in a given point of the drawing and clicking again (outside the detector) will produce the following effect: a line joininig the two points will be drawn together with the name and the medium number of the volume picked with the first clicking close to the second point.