/******************************************************************************* * McXtrace instrument definition URL=http://www.mcxtrace.org * * Instrument: Test_source_lab * * %Identification * Written by: Erik B Knudsen * Date: Jul. 8th 2014 * Origin: DTU Physics * Version: 1. * %INSTRUMENT_SITE: Tests_sources * * Unit test instrument for the Source_lab component * * %Description * This instrument serves as a unit test for the Source_lab component. * The emon1-monitor catches the Kalpha-peaks, and emon2 the Kbeta peaks. * * %Example: Test_source_lab Emax=40 Detector: emon1_I=7.16e+15 * %Example: Test_source_lab Emax=40 Detector: emon2_I=1.17e+15 * * %Parameters * * %Link * * %End *******************************************************************************/ /* Change name of instrument and input parameters with default values */ DEFINE INSTRUMENT Test_source_lab(Emin=1, Emax=40, LO=1) /* The DECLARE section allows us to declare variables or small */ /* functions in C syntax. These may be used in the whole instrument. */ DECLARE %{ %} /* The INITIALIZE section is executed when the simulation starts */ /* (C code). You may use them as component parameter values. */ INITIALIZE %{ %} /* Here comes the TRACE section, where the actual */ /* instrument is defined as a sequence of components. */ TRACE /* The Arm() class component defines reference points and orientations */ /* in 3D space. Every component instance must have a unique name. Here, */ /* Origin is used. This Arm() component is set to define the origin of */ /* our global coordinate system (AT (0,0,0) ABSOLUTE). It may be used */ /* for further RELATIVE reference, Other useful keywords are : ROTATED */ /* EXTEND GROUP PREVIOUS. Also think about adding an xray source ! */ /* Progress_bar is an Arm displaying simulation progress. */ COMPONENT Origin = Progress_bar() AT (0,0,0) ABSOLUTE /* /usr/local/lib/mcxtrace-1.1/data/Ga.tx t*/ COMPONENT source = Source_lab( width=1e-3,height=1e-3,thickness=200e-6,dist=1e-2,tube_current=5, E0=40,focus_xw=1e-3,focus_yh=1e-3,material_datafile="Mo.txt", Emin=Emin, Emax=Emax, lorentzian=LO) AT (0, 0, 0) RELATIVE Origin COMPONENT emon0=E_monitor( Emin=0, Emax=80, nE=400, filename="emon0", xwidth=1e-2, yheight=1e-2) AT(0,0,0.1) RELATIVE source COMPONENT emon1=E_monitor( Emin=16, Emax=18, nE=400, filename="emon1", xwidth=1e-2, yheight=1e-2) AT(0,0,0.11) RELATIVE source COMPONENT emon2=E_monitor( Emin=18, Emax=22, nE=400, filename="emon2", xwidth=1e-2, yheight=1e-2) AT(0,0,0.12) RELATIVE source /* This section is executed when the simulation ends (C code). Other */ /* optional sections are : SAVE */ FINALLY %{ %} /* The END token marks the instrument definition end */ END