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

# The `Pol_bender` Component

Polarising bender.

## Identification

- Author: Peter Christiansen
- Origin: RISOE
- Date: August 2006
- Version: 1.2

## Description

    Based on Guide_curved written by Ross Stewart.
    Models a rectangular curved guide tube with entrance centered on the Z axis.
    The entrance lies in the X-Y plane.  Draws a true depiction
    of the guide with multiple slits (but without spacers), and trajectories.
    It relies on similar physics as the Monochromator_pol.
    The reflec function and parameters are passed to this component to
    give a bigger freedom.
    The up direction is hardcoded to be along the y-axis (0, 1, 0)

    The guide is asummed to have half a spacer on each side:
       slit1  slit2  slit3
     |+     ++     ++     +|
     |+     ++     ++     +|
     <---------------------> xw
     <------> xw/nslits (nslits=3)
            <> wspacer

    The reflection functions and parameters defaults as follows:
    Bot defaults to Top, Left defaults to Top, Right defaults to left.
    Down defaults to down and up defaults to up for all functions and
    Top(Up and Down) defaults to StdReflecFunc and  {0.99,0.0219,6.07,2.0,0.003}

    Example:
    Pol_bender(xw = 0.08, yh = 0.08, length = 1.0, radius= 10.0,
    	     nslits=5, wspacer=0.0, endFlat=0, drawOption=2,
    	     rTopUpPar={0.99, 0.0219, 6.07, 3.0, 0.003},
    	     rTopDownPar={0.99, 0.0219, 6.07, 1.0, 0.003})

    See also the example instruments Test_Pol_Bender and
    Test_Pol_Bender_Vs_Guide_Curved (under tests).

    %BUGS
    This component has been against tested Guide_curved and found to
    give the same intensities. Gravity option has not been tested.

    GRAVITY: YES (when gravity is along y-axis)
    POLARISATION: YES

## Input parameters

Parameters in boldface are required; the others are optional.

Name | Unit | Description | Default
--- | --- | --- | ---
xw | m | Width at the guide entry |
yh | m | Height at the guide entry |
length | m | length of guide along center |
radius | m | Radius of curvature of the guide (+:curve left/-:right) |
G |  |  | 9.8
rTopUpFunc | 1 | Top reflection function for spin up (q, *par, *reflecProb) | StdReflecFunc
rTopDownFunc | 1 | Top reflection function for spin down (q, *par, *reflecProb) | StdReflecFunc
rBotUpFunc |  |  | rTopUpFunc
rBotDownFunc |  |  | rTopDownFunc
rLeftUpFunc |  |  | rTopUpFunc
rLeftDownFunc |  |  | rTopDownFunc
rRightUpFunc |  |  | rLeftUpFunc
rRightDownFunc |  |  | rLeftDownFunc
rTopUpPar | 1 | Parameters for rTopUpFunc | {0.99
rTopDownPar | 1 | Parameters for rTopDownFunc | {0.99
rBotUpPar |  |  | rTopUpPar
rBotDownPar |  |  | rTopDownPar
rLeftUpPar |  |  | rTopUpPar
rLeftDownPar |  |  | rTopDownPar
rRightUpPar |  |  | rLeftUpPar
rRightDownPar |  |  | rLeftDownPar
nslits | 1 | Number of slits | 1
wspacer | m | Width of spacers. | 0.0
debug | 1 | if debug > 0 print out some internal parameters | 0
endFlat | 1 | If endflat>0 then entrance and exit planes are parallel. | 0
drawOption | 1 | 1: fine(all slits/90 points per arc), 2: normal (max 20/40), 3: rough (max 5/10) | 1

## Output parameters

Name | Unit | Description | Default
--- | --- | --- | ---
localG | m/s/s | Gravity vector in guide reference system |
normTopBot |  |  |
normIn |  |  |
normOut |  |  |
pointTop |  |  |
pointBot |  |  |
pointIn |  |  |
pointOut |  |  |
rTopUpParPtr |  |  |
rTopDownParPtr |  |  |
rBotUpParPtr |  |  |
rBotDownParPtr |  |  |
rLeftUpParPtr |  |  |
rLeftDownParPtr |  |  |
rRightUpParPtr |  |  |
rRightDownParPtr |  |  |

## Links

- Source code for `Pol_bender.comp`.

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