SMASH supports a binary output version similar to the OSCAR 2013 standard. It is faster to read and write and theoretically needs less disk space. However, currently in ASCII OSCAR 2013 only 5 digits after the comma are written for any real number, while the binary saves the whole double (16 digits). By accident, this makes the sizes of the binary output files approximately the same as the OSCAR ASCII files. The binary format follows the general block structure of the OSCAR format: OSCAR Block Structure. However, for the binary format, the data type specification is stricter. The types used for the output are 4 bytes signed integers, 8 bytes doubles and 1 byte chars.
As for OSCAR ASCII output there are two kinds of binary output: particles and collisions. The specifics for both particles and collisions output are the following:
Header
Output block header
At start of event, end of event or any other particle output:
n_part_lines
is the number of particle lines in the block that followsAt interaction:
nin
, nout
are numbers of incoming and outgoing particlesBlock header is followed by nin
+ nout
particle lines.
Particle line
Extended Particle line
Event end line
The particles output is Written to the particles_binary.bin
file. It contains the current particle list at specific moments of time. Every moment of time is written as a 'p' block. For options of this output see content-specific output options.
The collisions output is Written to the collisions_binary.bin
file. It contains interactions (collisions, decays, box wall crossings) and optionally the initial and final configuration. The interactions are written in computational frame time-ordered fashion, in 'i' blocks, which contains the information of the incoming and the outgoing particles of each reaction written in the 'incoming' and 'outgoing' blocks respectively. Initial and final states are written as 'p' blocks. The process IDs indicating the types of the reaction, such as resonance decay, elastic scattering, soft string process, hard string process, etc., are written in the 'process_type' blocks. For options of this output see content-specific output options.
See also Collision Output in Box Modus.