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

# The `Filter_gen` Component

This components may either set the flux or change it (filter-like), using an external data file.

## Identification

- Author: EF (from Flux_adapter)
- Origin: ILL
- Date: Dec, 15th, 2002
- Version: 1.3

## Description

    This component changes the neutron flux (weight) in order to match
    a reference table in a file.
    Typically you may set the neutron flux (source-like), or multiply it
    using a transmission table (filter-like).
    The component may be placed after a source, in order to e.g.
    simulate a real source from a reference table, or used as a filter (BeO)
    , or as a window (Al). The behaviour of the component is
    specified using the 'options' parameter, or from the file itself (see below)
    If the thickness for the transmission data file D was t0, and a different
    thickness t1 would be required, then the resulting transmission is:
      D^(t1/t0).
    You may use the 'thickness' and 'scaling' parameter for that purpose.

    File format:
    This file may be of any 2-columns free format (k[Angs-1],p), (omega[meV],p)
    and (lambda[Angs],p) where p is the weight. The type of the file may be
    written explicitely in the file, as a comment, or using the 'options'
    parameter.
    Non mumerical content in file is treated as comment (e.g. lines starting
    with '#' character).
    A table rebinning and linear interpolation are performed.

    EXAMPLE : in order to simulate a PG filter, using the lib/data/HOPG.trm file
         Filter_gen(xmin = -0.1, xmax = 0.1,
          ymin = -0.1, ymax = 0.1,
          file="HOPG.trm")

    in this file, the comment line
        # wavevector multiply
    sets the behaviour of the component. One may as well have used
        options="wavevector multiply"
    in the component instance parameters.

## Input parameters

Parameters in boldface are required; the others are optional.

Name | Unit | Description | Default
--- | --- | --- | ---
file | str | name of the file to look at (first two columns data) data D should rather be sorted (ascending order) and monotonic file may contain options (see below) as comment | 0
options | str | string that can contain: "[ k p ]" or "wavector" for file type, "[ omega p]" or "energy", "[ lambda p ]" or "wavelength", "set" to set the weight according to the table, "multiply" to multiply (instead of set) the weight by factor, "add" to add to current flux, "verbose" to display additional informations. | 0
xmin | m | dimension of filter |
xmax | m | dimension of filter |
ymin | m | dimension of filter |
ymax | m | dimension of filter |
thickness | 1 | relative thickness. D = D^(thickness). | 1
scaling | 1 | scaling factor. D = D*scaling. | 1

## Output parameters

Name | Unit | Description | Default
--- | --- | --- | ---
pTable |  |  |
Mode_Table |  |  |
Type_Table |  |  |

## Links

- Source code for `Filter_gen.comp`.
- HOPG.trm file as an example.

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