CALL HGN (ID,*IDN*,IDNEVT,X*,IERROR*)
Action: Copy the contents of a RWN event into an array.
This routine returns in the vector X
the contents of the
row IDNEVT
or Ntuple ID
.
The vector X
must be of size NVAR
,
as specified in the call to HBOOKN.
If more than one row of the Ntuple is to be processed, it is more
efficient to call first HGNPAR and then HGNF.
Action: Obtains the address and parameters of Ntuple ID.
This routine sets some internal pointers and must be called before the first call to HGNF for a given RWN. When accessing more than one row of an Ntuple it is more efficient to call HGNPAR and then HGNF for each row that is required than to call HGN.
CALL HGNF (ID,IDNEVT,X*,IERROR*)
Action: Copy the contents of an Ntuple event into an array. The routine HGNPAR must have been called prior to the first call to HGNF for a given Ntuple.
This routine returns in the vector X
the contents of the
row IDNEVT
or Ntuple ID
.
The vector X
must have be of size NVAR
,
as specified in the call to HBOOKN.
Example of access to RWN information
\NODOC{\baselineskip=.95\baselineskip\relax} PROGRAM TEST INTEGER NWPAWC PARAMETER (NWPAWC=15000, MTUPLE=5) COMMON/PAWC/PAW(NWPAWC) CHARACTER*80 CHTITL CHARACTER*8 CHTAGS(MTUPLE),CHTAGZ(MTUPLE) DIMENSION EVENT(MTUPLE),RLOW(MTUPLE),RHIGH(MTUPLE) EQUIVALENCE (EVENT(1),X),(EVENT(2),Y),(EVENT(3),Z) EQUIVALENCE (EVENT(4),ENERGY),(EVENT(5),ELOSS) DATA CHTAGS/'X','Y','Z','Energy','Eloss'/ *-- Tell HBOOK how many words are in PAWC. CALL HLIMIT(NWPAWC) *-- Book Ntuple CALL HBOOKN(10,'A Row-Wise-Ntuple',5,' ',5000,CHTAGS) *-- Fill the Ntuple DO 10 I=1,1000 CALL RANNOR(X,Y) Z=SQRT(X*X+Y*Y) ENERGY=50. + 10.*X ELOSS=10.*ABS(Y) CALL HFN(10,EVENT) 10 CONTINUE *-- Obtain the definitions of the Ntuple NVAR = MTUPLE CALL HGIVEN(10,CHTITL,NVAR,CHTAGZ,RLOW,RHIGH) PRINT *,'Definitions of Ntuple # ',10 PRINT *,' Title: ',CHTITL(1:LENOCC(CHTITL)) PRINT *,' Number of variables: ',NVAR DO 20 I=1,NVAR PRINT 9001,I,RLOW(I),RHIGH(I) 9001 FORMAT(' Min/Max values for column # ',I3,1X,F10.5, + 1X,F10.5) 20 CONTINUE *-- Get the contents of 'event' # 333 CALL HGNPAR(10,'TEST') CALL HGNF(10,333,EVENT,IERR) PRINT *,IERR,EVENT *-- Get the number of events in this Ntuple CALL HNOENT(10,NEVENT) PRINT *,NEVENT 99 CONTINUE END