A vector field drawing COMIS routine for Ntuple (2D and 3D).


The following example shows how to draw a 2D vector field from an Ntuple.

 H/del *
 Appl data nt.dat
 0  1  0.1 1.8
 1  2  1.1 2.2
 2  3  2.1 3.8
 3  4  3.1 4.8
 4  5  4.1 5.2
 5  5  5.1 5.8
 6  4  6.1 4.2
 7  3  7.1 8.8
 8  2  8.1 2.2
 9  1  9.1 1.2
 nt.dat
 Nt/Create 4 'Test' 4 ! ! X Y PX PY
 Nt/Read 4 nt.dat

 Null -1 10 -1 10

 Appl comis Quit
       REAL FUNCTION ntarr
       REAL
      +X       ,Y       ,PX      ,PY
 *
       LOGICAL         CHAIN
       CHARACTER*128   CFILE
 *
       COMMON /PAWCHN/ CHAIN, NCHEVT, ICHEVT
       COMMON /PAWCHC/ CFILE
 *
       COMMON/PAWIDN/IDNEVT,OBS(13),
      +X       ,Y       ,PX      ,PY
 *
       Dimension a(2),b(2),u(3),v(3)
 *
       a(1) = X
       a(2) = PX
       b(1) = Y
       b(2) = PY
 *
       Arrow_size = 0.2
       Arrow_width =0.3
       fsin=0.
       fcos=1.
       xl=sqrt((a(2)-a(1))**2 + (b(2)-b(1))**2)
       if(xl.gt.0.)then
          fsin=(b(2)-b(1))/xl
          fcos=(a(2)-a(1))/xl
       endif
       u(1)=a(1)+(xl-Arrow_size)*fcos-Arrow_size*Arrow_width *fsin
       u(3)=a(1)+(xl-Arrow_size)*fcos+Arrow_size*Arrow_width *fsin
       v(1)=b(1)+(xl-Arrow_size)*fsin+Arrow_size*Arrow_width *fcos
       v(3)=b(1)+(xl-Arrow_size)*fsin-Arrow_size*Arrow_width *fcos
       u(2)=a(2)
       v(2)=b(2)
 *
       Call Igset('FAIS',1.)
       Call Ipl(2,a,b)
       Call Ifa(3,u,v)
 *
       ntarr=1.
 *
       END
 Quit

 nt/loop 4 ntarr
 


The following example shows how to draw a 3D vector field from an Ntuple.
 H/del *

 Appl data nt.dat
 0  1  5 0.1 1.8 5.1
 1  2  4 1.1 2.2 4.1
 2  3  3 2.1 3.8 3.1
 3  4  2 3.1 4.8 2.1
 4  5  1 4.1 5.2 1.1
 5  5  1 5.1 5.8 1.1
 6  4  2 6.1 4.2 2.1
 7  3  3 7.1 8.8 3.1
 8  2  4 8.1 2.2 4.1
 9  1  5 9.1 1.2 5.1
 nt.dat
 Nt/Create 4 'Test' 6 ! ! X Y Z PX PY PZ
 Nt/Read 4 nt.dat

 call hplfr3(0.,10.,0.,10.,0.,10.,30.,30.,'WBF')
 Set MTYP 4
 Set MSCF 0.7

 Appl comis Quit
       REAL FUNCTION ntarr
       REAL
      +X       ,Y       ,PX      ,PY
 *
       LOGICAL         CHAIN
       CHARACTER*128   CFILE
 *
       COMMON /PAWCHN/ CHAIN, NCHEVT, ICHEVT
       COMMON /PAWCHC/ CFILE
 *
       COMMON/PAWIDN/IDNEVT,OBS(13),
      +X       ,Y       ,Z       ,PX      ,PY      ,PZ
 *
       Dimension a(2),b(2),c(2),u(3),v(3)
 *
       a(1) = X
       a(2) = PX
       b(1) = Y
       b(2) = PY
       c(1) = Z
       c(2) = PZ
 *
       Call Ipl3(2,a,b,c)
       Call Ipm3(1,PX,PY,PZ)
 *
       ntarr=1.
 *
       END
 Quit

 nt/loop 4 ntarr
 


Release NotesKnown bugsFAQsContributionsTutorialReference manualDown loadMiscellaneous

Paw.Support@cern.ch