McXtrace logo

McXtrace - An X-ray ray-trace simulation package

ESRF; SAXSLAB Niels Bohr Institute DTU Physics

McXtrace

Project Status
 Project Partners
 Project People
 Goal

Installation
 Mac OSX Installation
 Windows Installation

Mailing List

Links

Publications

Minutes of Meetings

McXtrace Art

About McXtrace

Documentation
 Commands
 Tutorial

Download
 Components

Search


McXtrace: Monitor_nD Component

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

The Monitor_nD Component

Modified for xray use by: Erik B Knudsen This component is a general Monitor that can output 0/1/2D signals (Intensity or signal vs. [something] and vs. [something] ...) Use in TRACE: Monitor_nD(... options=op ...) How to monitor any instrument/component variable into a Monitor_nD Suppose you want to monitor a variable 'age' which you assign somwhere in the instrument: COMPONENT MyMonitor = Monitor_nD( xwidth = 0.1, yheight = 0.1, user1=age, username1="Age of the Captain [years]", options="user1, auto") AT ... See also the example in PreMonitor_nD to monitor photon parameters cross-correlations. %BUGS The 'auto' option for guessing optimal variable bounds should NOT be used with MPI as each process may use different limits.

Identification

  • Author: Emmanuel Farhi
  • Origin: ILL
  • Date: 14th Feb 2000.
  • Version: 1.42
  • Modification history:
    • EF, 29th Feb 2000 : added more options, monitor shape, theta, phi
    • EF, 01st Feb 2001 : PreMonitor for correlation studies (0.13.6)
    • EF, 5th Apr 2001 : use global functions (0.14) compile faster
    • EF, 23th Jul 2001 : log of signal, init arrays to 0, box (0.15)
    • EF, 04th Sep 2001 : log/abs of variables (0.16)
    • EF, 24th Oct 2001 : capture flux [p*lambda/1.7985] (0.16.3)
    • EF, 27th Aug 2002 : monitor a variable in place of I (0.16.5)
    • EF, 25th Oct 2002 : banana, and auto for each variable (0.16.5)

Description

This component is a general Monitor that can output 0/1/2D signals
It can produce many 1D signals (one for any variable specified in
option list), or a single 2D output (two variables correlation).
Also, an additional 'list' of photon events can be produced.
By default, monitor is square (in x/y plane). A disk shape is also possible
The 'cylinder' and 'banana' option will change that for a banana shape
The 'sphere' option simulates spherical detector. The 'box' is a box.
The cylinder, sphere and banana should be centered on the scattering point.
The monitored flux may be per monitor unit area, and weighted by
a lambda/lambda(2200m/s) factor to obtain standard integrated capture flux.
In normal configuration, the Monitor_nD measures the current parameters
of the photon that is beeing detected. But a PreMonitor_nD component can
be used in order to study correlations between a photon being detected in
a Monitor_nD place, and given parameters that are monitored elsewhere
(at PreMonitor_nD).
The monitor can also act as a 3He gas detector, taking into account the
detection efficiency.

The 'bins' and 'limits' modifiers are to be used after each variable,
and 'auto','log' and 'abs' come before it. (eg: auto abs log hdiv bins=10
limits=[-5 5]) When placed after all variables,  these two latter modifiers
apply to the signal (e.g. intensity). Unknown keywords are ignored.

In the case of multiple components at the same position, the 'parallel'
keyword must be used in each instance instead of defining a GROUP.

Possible options are
Variables to record:
    kx ky kz k wavevector [Angs-1] Wavevector on x,y,z and norm
    vx vy vz v            [m/s]    Velocity on x,y,z and norm
    x y z radius          [m]      Distance, Position and norm
    xy, yz, xz            [m]      Radial position in xy, yz and xz plane
    kxy kyz kxz           [Angs-1] Radial wavevector in xy, yz and xz plane
    vxy vyz vxz           [m/s]    Radial velocity in xy, yz and xz plane
    t time                [s]      Time of Flight
    energy omega          [meV]
    lambda wavelength     [Angs]
    p intensity flux      [n/s] or [n/cm^2/s]
    ncounts               [1]
    sx sy sz              [1]      Spin
    vdiv ydiv dy          [deg]    vertical divergence (y)
    hdiv divergence xdiv  [deg]    horizontal divergence (x)
    angle                 [deg]    divergence from  direction
    theta longitude       [deg]    longitude (x/z) [for sphere and cylinder]
    phi   lattitude       [deg]    lattitude (y/z) [for sphere and cylinder]

    user user1            will monitor the [Mon_Name]_Vars.UserVariable{1|2|3}
    user2 user3           to be assigned in an other component (see below)

Other options keywords are:
    abs                       Will monitor the abs of the following variable
                              or of the signal (if used after all variables)
    auto                      Automatically set detector limits for one/all
    all  {limits|bins|auto}   To set all limits or bins values or auto mode
    binary {float|double}     with 'source' option, saves in compact files
    bins=[bins=20]            Number of bins in the detector along dimension
    borders                   To also count off-limits photon
                               (X < min or X > max)
    capture                   weight by lambda/lambda(2200m/s) capture flux
    exclusive                 absorb photon out of monitor limits
    file=string               Detector image file name. default is component
                               name, plus date and variable extension.
    incoming                  Monitor incoming beam in non flat det
    limits=[min max]          Lower/Upper limits for axes
                               (see up for the variable unit)
    list=[counts=1000] or all For a long file of photon characteristics
                               with [counts] or all events
    log                       Will monitor the log of the following variable
                              or of the signal (if used after all variables)
    min=[min_value]           Same as limits, but only sets the min or max
    max=[max_value]
    multiple                  Create multiple independant 1D monitors files
    no or not                 Revert next option
    outgoing                  Monitor outgoing beam (default)
    parallel                  Use this option when the next component is at
                               the same position (parallel components)
    per cm2                   Intensity will be per cm^2
    per steradian             Intensity will be per steradian (requires auto)
    premonitor                Will monitor photon parameters stored
                               previously with PreMonitor_nD.
    signal=[var]              Will monitor [var] instead of usual intensity
    slit or absorb            Absorb photons that are out detector
    source                    The monitor will save photon states
    unactivate                To unactivate detector (0D detector)
    verbose                   To display additional informations

Detector shape options (specified as xwidth,yheight,zdepth or x/y/z/min/max)
    box                       Box of size xwidth, yheight, zdepth.
    cylinder                  To get a cylindrical monitor
                               (diameter is xwidth or set radius, height is yheight).
    banana                    Same as cylinder, without top/bottom,
                               on restricted angular area; use theta
                               variable with limits to define arc.
                               (diameter is xwidth or set radius, height is yheight).
    disk                      Disk flat xy monitor. diameter is xwidth.
    sphere                    To get a spherical monitor (e.g. a 4PI)
                               (diameter is xwidth or set radius).
    square                    Square flat xy monitor (xwidth, yheight).
    previous                  The monitor uses PREVIOUS component as detector
                              surface.

EXAMPLES:
MyMon = Monitor_nD(
  xwidth = 0.1, yheight = 0.1, zdepth = 0,
  options = "intensity per cm2 angle,limits=[-5 5] bins=10,with
             borders, file = mon1");
                 will monitor photon angle from [z] axis, between -5
                 and 5 degrees, in 10 bins, into "mon1.A" output 1D file
  options = "sphere theta phi outgoing"  for a sphere PSD detector (out
                 beam)  and saves into file "MyMon_[Date_ID].th_ph"
  options = "banana, theta limits=[10,130], bins=120, y" a theta/height
         banana detector
  options = "angle radius all auto"   is a 2D monitor with automatic limits
  options = "list=1000 kx ky kz energy" records 1000 photon event in a file
  options = "multiple kx ky kz, auto abs log t, and list all photons"
       makes 4 output 1D files and produces a complete list for all photons
       and monitor log(abs(tof)) within automatic limits (for t)

To dynamically define a number of bins, or limits:
  Use in DECLARE:    char op[256]; 

Input parameters

Parameters in boldface are required; the others are optional.
Name Unit Description Default
options str String that specifies the configuration of the monitor The general syntax is "[x] options..." (see Descr.). 0
filename str Output file name (overrides file=XX option). 0
geometry str Name of an OFF file to specify a complex geometry detector 0
user1 variable Variable assigned to User1 FLT_MAX
user2 variable Variable assigned to User2 FLT_MAX
user3 variable Variable assigned to User3 FLT_MAX
username1 str Name assigned to User1 0
username2 str Name assigned to User2 0
username3 str Name assigned to User3 0
xwidth m Width of detector. 0
yheight m Height of detector. 0
zdepth m Thickness of detector (z). 0
xmin m Lower x bound of opening 0
xmax m Upper x bound of opening 0
ymin m Lower y bound of opening 0
ymax m Upper y bound of opening 0
zmin m Lower z bound of opening 0
zmax m Upper z bound of opening 0
bins 1 Number of bins to force for all variables. Use 'bins' keyword in 'options' for heterogeneous bins 0
min u Minimum range value to force for all variables Use 'min' or 'limits' keyword in 'options' for other limits -1e40
max u Maximum range value to force for all variables Use 'max' or 'limits' keyword in 'options' for other limits 1e40
restore_xray 0|1 If set, the monitor does not influence the photon state. Equivalent to setting the 'parallel' option. 0
radius m Radius of sphere/banana shape monitor 0

Output parameters

Name Unit Description Default
DEFS struct structure containing Monitor_nD Defines  
Vars struct structure containing Monitor_nD variables  
detector  

Links


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

Generated automatically by McDoc, Peter Willendrup <peter.willendrup@risoe.dk> / Wed Aug 16 00:25:17 2017


Last Modified: Wednesday, 16-Aug-2017 02:25:17 CEST
Search website mailinglist archive SVN repos McCode Trac