[ Identification | Description | Input parameters | Output parameters | Links ]

# The `Virtual_output` Component

Detector-like component that writes neutron state parameters into a 'virtual source' neutron file.

## Identification

- Author: E. Farhi
- Origin: ILL
- Date: Dec 17th, 2002
- Version: 1.13
- Modification history:
  - E. Farhi, Dec 17th, 2002: based on Vitess_output and Monitor_nD lib.

## Description

    Detector-like component writing neutron state parameters to a
    virtual source neutron file. The component geometry is the full
    plane, and saves the neutron state as it exits from the previous
    component.

      It is particularly useful to generate a virtual source at a point that few
    neutron reach. A long simulation will then only be performed once, to create
    the upstream 'source' file. Further simulations are much faster if they start
    from this low flux position with the 'source' file.

    Possible file formats are:
    1-text column formatted with lines containing 11 values in the order:
          p x y z vx vy vz t sx sy sz stored into about 83 bytes/n.
    2-float/double binary files (with the 11 values 'p x y z vx vy vz t sx sy sz')
          stored into 44 and 88 bytes/n respectively for float/double.

    Beware the size of generated files ! When saving all events (bufsize=0) the
    required memory has been optimized and remains very small. On the other hand
    using large bufsize values (not recommanded) requires huge storage memory.
    Moreover, using the 'bufsize' parameter will often lead to wrong intentities.
    Both methods will generate huge files.

    A Vitess file may be obtained from the 'Vitess_output' component or from a
    Vitess simulation (104 bytes per neutron) and read with Vitess_input.

    Example: Virtual_output(file="MySource.dat")
      will generate a 9 Mo text file for 1e5 events stored.

    %BUGS
    Using bufsize non-zero generates a virtual source with wrong intensity

## Input parameters

Parameters in boldface are required; the others are optional.

Name | Unit | Description | Default
--- | --- | --- | ---
file | str | Filename of neutron file to write. Default is standard output [string]. If not given, a unique name will be used. | 0
type | str | Type of output file 'text','float','double' default is text | 0
bufsize | 1 | Size of neutron output buffer default is 0, i.e. save all - recommanded. | 0

## Output parameters

Name | Unit | Description | Default
--- | --- | --- | ---
DEFS |  |  |
Vars |  |  |
mcformat_sim |  |  |
mcformat_vo |  |  |
mcformat_override |  |  |

## Links

- Source code for `Virtual_output.comp`.

[ Identification | Description | Input parameters | Output parameters | Links ]