For calorimetry only.
Prints event by event the scored star production and/or energy
deposition in each region, and the total energy balance.
(see also EVENTBIN, SCORE)
EVENTDAT requests separate scoring by region of energy and/or
star density for each event (primary history).
The quantities to be scored are defined via a SCORE command (see
SCORE for details).
As for SCORE, a maximum per run of 4 different star densities is
allowed.
The EVENTDAT output includes also a detailed energy balance event by
event.
WHAT(1) = output unit
If < 0, the output is unformatted. Values of |WHAT(1)| < 21
should be avoided (with the exception of +11).
Default = 11 (standard output)
WHAT(2) to WHAT(6) : not used
SDUM = output file name (no default!)
Default (option EVENTDAT not given): no event by event scoring
Note: Unformatted data are written as follows.
Once, at the beginning of the run:
- RUNTIT, RUNTIM, NREGS, NSCO, (ISCORE(IS), IS = 1, NSCO)
Then, for each primary particle:
- NCASE, WEIPRU, ENETOT
- (ENDIST(IE), IE = 1, 12)
Then, NSCO times:
- ISC, ISCORE(ISC)
- (REGSCO(IR,ISC), IR = 1, NREGS)
Then one dummy record (for historical reasons):
- NDUM, DUM1, DUM2
Then:
- ISEED1, ISEED2, SEED1, SEED2, SOPP1, SOPP2
where:
RUNTIT = title of the run (CHARACTER*80 variable), which appears
also at the beginning of the standard output
RUNTIM = time of the run (CHARACTER*32 variable), which appears
also at the beginning of the standard output
NREGS = number of regions
NSCO = number of scoring distributions requested by SCORE
ISCORE(I) = Ith requested (generalised) particle distribution
(see 5})
NCASE = number of primaries handled so far (current one included)
WEIPRU = primary weight
ENETOT = primary particle total energy (GeV)
ENDIST(I) are 12 energy contributions to the total energy balance,
some of which appear at the end of the standard output.
Here they are given separately for each primary history
(in GeV) and NOT normalised to the weight of the
primary. Note that some of the contributions are
meaningful only in specific contexts (e.g. if low-energy
neutron transport has been requested).
ENDIST(1) = energy deposited by ionisation
ENDIST(2) = en. depos. by pi0, electrons, positrons and photons
ENDIST(3) = en. depos. by nuclear recoils and heavy fragments
ENDIST(4) = energy deposited by particles below threshold
ENDIST(5) = energy leaving the system
ENDIST(6) = energy carried by discarded particles
ENDIST(7) = residual excitation energy after evaporation
ENDIST(8) = energy deposited by low-energy neutrons (kerma,
proton recoil energy not included)
ENDIST(9) = energy of particles out of the time limit
ENDIST(10) = energy lost in endothermic nuclear reactions
(gained in exothermic reactions if < 0) above 20 MeV
(not implemented yet)
ENDIST(11) = energy lost in endothermic low-energy neutron
reactions (gained in exothermic reactions if < 0)
(not implemented yet)
ENDIST(12) = missing energy
NDUM, DUM1, DUM2 = three dummy variables, with no meaning
REGSCO(IR,ISC) = energy or stars (corresponding to the ISCth
generalised particle distribution) deposited or
produced in the IRth region during the current
primary history. NOT normalised, neither to the
the primary weight nor to the region volume
ISEED1, ISEED2, SEED1, SEED2, SOPP1, SOPP2 = random number
generator information to be read in order to
reproduce the current sequence (skipping calls, see
RANDOMIZE).
Note: All the above quantities are REAL*4, except RUNTIT and RUNTIM
(which are of type CHARACTER) and those with a name
beginning with I,J,K,L,M,N (which are integer).
The different items appearing in the EVENTDAT energy balance
may sometimes give overlapping information and are not all
meaningful in every circumstance (for instance residual
excitation energy is meaningful only if gamma de-excitation
has not been requested). Unlike the balance which is printed at
the end of standard output, these terms are not additive.
The next is an example of a user program to read a binary file
written by EVENDAT.
PROGRAM RDEVDT
CHARACTER*80 RUNTIT, FILNAM
CHARACTER*32 RUNTIM
DIMENSION ISCORE(4), ENDIST(12), REGSCO(5000,4)
WRITE(*,*) 'Name of the EVENTDAT binary file?'
READ(*,'(A)') FILNAM
IB = INDEX(FILNAM,' ')
OPEN(UNIT = 7, FORM = 'UNFORMATTED', FILE = FILNAM(1:IB-1),
& STATUS = 'OLD')
OPEN(UNIT = 8, FORM = 'FORMATTED', FILE = FILNAM(1:IB-1)//'.txt',
& STATUS = 'NEW')
* Once, at the beginning of the run:
READ(7) RUNTIT, RUNTIM, NREGS, NSCO, (ISCORE(IS), IS = 1, NSCO)
WRITE(8,'(A80)') RUNTIT
WRITE(8,'(A32)') RUNTIM
WRITE(8,'(A,I6,5X,A,I4)') 'Number of regions: ', NREGS,
& ' Number of scored quantities: ', NSCO
WRITE(8,'(A,4I6)') 'The scored quantities are: ',
& (ISCORE(IS), IS = 1, NSCO)
* Loop on each primary particle:
100 CONTINUE
WRITE(8,*)
READ(7,END=300) NCASE, WEIPRU, ENETOT
WRITE(8,'(A,I10,1P,2G12.4)') 'NCASE, WEIPRU, ENETOT: ',
& NCASE, WEIPRU, ENETOT
READ(7) (ENDIST(IE), IE = 1, 12)
WRITE(8,'(A)') 'ENDIST: '
DO 400 IE = 1, 12, 2
WRITE(8,'(2(I5,5X,1P,G12.4))') IE,ENDIST(IE),IE+1,ENDIST(IE+1)
400 CONTINUE
DO 200 ISC = 1, NSCO
READ(7) IISC, ISCORE(ISC)
* IISC is redundant, must be equal to ISC
IF(IISC .NE. ISC) STOP 'Wrong sequence'
WRITE(8,'(A,I2,A,I3,A)')
& 'Quantity n. ',ISC, ' (',ISCORE(ISC),'):'
READ(7) (REGSCO(IR,ISC), IR = 1, NREGS)
WRITE(8,*) 'Scoring per region:'
DO 500 IR = 1, NREGS
WRITE(8,'(I7,3X,1P,G12.4)') IR, REGSCO(IR,ISC)
500 CONTINUE
200 CONTINUE
READ(7) NDUM, DUM1, DUM2
IF (DUM1 .LT. 0.) THEN
* DUM1 < 0 is used to signal that seeds follow
READ(7) ISEED1, ISEED2, SEED1, SEED2, SOPP1, SOPP2
WRITE(8,*) ISEED1, ISEED2, SEED1, SEED2, SOPP1, SOPP2
ELSE
BACKSPACE 7
END IF
* This event is finished, start again with the next one
GO TO 100
300 CONTINUE
WRITE(8,*) "End of a run of ", NCASE, " particles"
CLOSE (UNIT = 7)
CLOSE (UNIT = 8)
END
Example:
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+...
SCORE 208. 211. 201. 8. 0. 0.
EVENTDAT -23. 0. 0. 0. 0. 0. EVT.SCOR
* In this example, the user requests (with option SCORE) scoring of
* total and electromagnetic energy deposition, total stars and
* neutron-produced stars. The average scores for each region will be
* printed on standard output (as an effect of SCORE command), and
* corresponding scores, as well as the energy balance, will be written
* separately for each primary particle on an unformatted file EVT.SCOR