/******************************************************************************* * * McStas, neutron ray-tracing package * Copyright (C) 1997-2011, All rights reserved * Risoe National Laboratory, Roskilde, Denmark * Institut Laue Langevin, Grenoble, France * * Instrument: Light_H15_IN6 * * %Identification * Written by: Emmanuel Farhi * Date: 17th Jan 2005. * Origin: ILL (France) * Release: McStas 1.12c * Version: 0.1 * %INSTRUMENT_SITE: ILL * * The IN6 Time-of-Flight simulation, positioned as the first instrument in the * cold guide H15 (Nickel coating) at the ILL. * * %Description * * IN6 is a time focussing time-of-flight spectrometer designed for quasielastic and * inelastic scattering for incident wavelengths in the range of 4 to 6 Angs. * * An intense beam is extracted from the H15 guide by a vertically focussing * monochromator array. It consists of three composite pyrolytic graphite * monochromators using the full height (20 cm) of the guide and focussing the beam * at the sample position. In order to minimise the interference with the * subsequent instruments, the monochromator can deliver only four wavelengths: * 4.1; 4.6; 5.1; and 5.9 Angs. The second order reflection from the graphite * monochromator is removed by a beryllium-filter cooled at liquid nitrogen * temperature. * To achieve the time-focussing condition, the beam is pulsed by a Fermi chopper. * It has a small slot length to ensure a good transmission. The normal distance * between the Fermi chopper and the sample is 38 cm. To prevent frame-overlap when * the chopper is rotating faster than 7500 rpm, a suppressor chopper is placed * before the Fermi chopper and rotates in phase with the latter. * * The secondary spectrometer consists first of an evacuated sample area. The * detector bank is entirely covered with detector boxes, thus avoiding the * inconvenience of moving the counters. * * This instrument model contains the complete H15 guide, a triple monochromator * (using the GROUP), two Fermi Choppers (including one background chopper), a * liquid sample handling coherent and incoherent processes (elastic and inelastic) * with multiple scattering, customized monitors, and the SPLIT mechanism to * improve the statistics. * * Example: mcrun ILL_H15_IN6.instr -n 1e4 --no-output-files LAMBDA=4.14000 * * %Parameters * INPUT PARAMETERS: * LAMBDA: [Angs] wavelength within 4.14|4.6|5.12|5.92 * DLAMBDA: [Angs] wavelength HALF spread. default is 0.075 * SPEED: [rpm] Fermi chopper speed. -1=auto, 0=stopped in open pos. * RATIO: [1] Suppressor speed ratio. -1=no suppressor. * PHASE: [deg] Fermi phase w/r/ to Suppressor. -360=auto * M1: monochromator motor 1 position. -1=auto [coder values] * M2: monochromator motor 2 positinn. -1=auto [coder values] * M3: monochromator motor 3 position. -1=auto [coder values] * MONITOR: monitor preset [something like time in s] * CHA_WIDTH: [us] channel width. -1=auto * TOF_CHA_RESOL: [1] number of channels. * TOF_DELAY: [us] TOF delay. -1=auto * ELPEAK: [1] elastic peak channel. -1=auto * m: [1] super mirror guide m-value. 1 for Ni, 1.2 for Ni58, 2-4 for SM * mFC: [1] super mirror FermiChopper coating m-value * Sqw_coh: [str] coherent S(q,w) file name * Sqw_inc: [str] incoherent S(q,w) file name * radius_o: [m] outer radius of sample hollow cylinder * thickness: [m] thickness of sample hollow cylinder * * %Link * The IN6@ILL Yellow Pages * %Link * R.Scherm et al, "Another Time of Flight Spectrometer", ILL Report 76S235, 1976 * %Link * R.Scherm, "A high-resolution spectrometer ...", report Jul-295-NP, Kernforschungsanlage Julich, 1965 * %Link * Y.Blanc, "Le spectrometre a temps de vol IN6", ILL Report 83BL21G, 1983 * %Link * K.H.Beckurts et al, Neutron physics, Kernforschungsanlage Karlsruhe, 1964 (p317) * %Link * R.Scherm and T.Springer, "Proposal of a multiple Chopper...", Kernforschungsanlage Julich, 19xx * * %End *******************************************************************************/ DEFINE INSTRUMENT ILL_H15_IN6(LAMBDA=4.14, DLAMBDA=0.075, SPEED=-1, M1=-1, M2=-1, M3=-1, MONITOR=1, CHA_WIDTH=-1, TOF_DELAY=-1, TOF_CHA_RESOL=128, ELPEAK=-1, RATIO=1, m=1, mFC=0, PHASE=-360, string Sqw_coh="Rb_liq_coh.sqw", string Sqw_inc="Rb_liq_inc.sqw", radius=0.01, thickness=0.005) DECLARE %{ %include "monitor_nd-lib" /* VCS (H1) source parameters */ double sT1=216.8,sI1=1.24e+13; double sT2=33.9, sI2=1.02e+13; double sT3=16.7 ,sI3=3.0423e+12; double sLambda=4.14, sDLambda=0.1; /* H15 guide coating parameters */ double gR0 = 1; double gQc = 0.021; double gAlpha = 4.07; double gW = 1.0/300.0; double gMvalue = 1; /* H15 gaps and Al windows parameters */ double Al_Thickness = 0.002; double gGap = 0.001; /* H15 guide curvatures */ double gRh = 2700; /* upwards */ /* H15 guide section parameters (total length/number of elements) */ double gH =0.2; double L_H15_2 =5.5 /6, Rh_H15_2 =0; double L_H15_3 =9.973/10, Rh_H15_3 =0; /* end: d ~ 15.5 moderator at -5.9 */ double L_H15_4 =6.973/7, Rh_H15_4 =0; /* end: d ~ 22.5 ... */ double L_H15_5 =4.75 /5, Rh_H15_5 =0; /* VTE is at the end of this section */ double L_H15_6 =11.473/12,Rh_H15_6 =0; /* end of H15 MAN spec sheet after 2 elements */ double L_H15_7 =9.473/10, Rh_H15_7 =0; /* end: IN6 */ double L_H15_8 =5.573/6, Rh_H15_8 =0; /* end MAN spec drawing (d ~ 55.3): D7 */ double L_H15_9 =1.25, Rh_H15_9 =0; /* capture flux positions from moderator: 21.4 28.4 61.2 */ /* variables for IN6 */ double DM = 3.355; /* mono d-spacing (Angs) */ double mos= 40; double RV = 3; /* Bragg angles of the 3 monochromators */ double A1; double A2; double A3; double LME = 2.1; /* distance monochromator 2 <--> sample */ double LMM = 0.030; /* distance between 2 monochromators */ double LED = 2.483; /* distance sample <--> detector */ double LCE = 0.395; /* distance fermi chopper <--> sample */ double LCC = 0.2; /* [m] Chopper1-Chopper2 distance */ double Frequency, vi; double ref_phas=0, phas_ferm; double iTOF_DELAY; /* time of arrival at sample position, from source */ double iCHA_WIDTH; double iTOF_CHA_RESOL; double iELPEAK; double iRATIO; double iSPEED; double A2cradle; double iPHASE, period; /* monitoring monochromator index for neutrons being sent to IN6 */ MONND_DECLARE(MonokMonitor); /* flags per event type */ char flag_ci, flag_co, flag_ct; /* cryo-in/out container */ char flag_single, flag_multi; /* monitoring sample env */ double ki_x, ki_y, ki_z; double kf_x, kf_y, kf_z; double dq=0, dw=0, vf; char opt1[256]; /* options for Monitor_nD */ char opt2[256]; %} INITIALIZE %{ double chopper_const = 252.77; /*constant in chopper SPEED formula*/ double Ki, Ei, theta; double tmin, tmax; double dE = 0.0; /* energy transfer */ /* VCS/H15: transfert guide parameters for components */ if (m) gMvalue = m; if (LAMBDA) sLambda = LAMBDA; if (DLAMBDA) sDLambda = DLAMBDA; Ki = 2*PI/sLambda; vi = K2V*fabs(Ki); Ei = VS2E*vi*vi; /* H15: Element rotations = Element length / Curvature Radius * RAD2DEG */ if (gRh) { Rh_H15_2 = L_H15_2 /gRh*RAD2DEG; Rh_H15_3 = L_H15_3 /gRh*RAD2DEG; Rh_H15_4 = L_H15_4 /gRh*RAD2DEG; Rh_H15_5 = L_H15_5 /gRh*RAD2DEG; } /* IN6: calculate theta angles for 3 monochromators*/ theta = asin(sLambda/DM/2); A2 = theta*2; A1 = atan2(LME*sin(A2),(LME*cos(A2)+LMM))*RAD2DEG; A3 = atan2(LME*sin(A2),(LME*cos(A2)-LMM))*RAD2DEG; A2 *=RAD2DEG; A2cradle = A2; RV = 2*LME*sin(theta); if (A1<0.0) A1=180+A1; if (A2<0.0) A2=180+A2; if (A3<0.0) A3=180+A3; if (M1 == 0) A1 = 0; else if (M1>=0) A1 = -0.0210199*M1+178.55; else M1 = -(A1-178.55)/0.0210199; if (M2 == 0) A2 = 0; else if (M2>=0) A2 = -0.0210302*M2+182.558; else M2 = -(A2-182.558)/0.0210302; if (M3 == 0) A3 = 0; else if (M3>=0) A3 = -0.0206945*M3+187.566; else M3 = -(A3-187.566)/0.0206945; MONND_USER_TITLE(MonokMonitor, 1, "Monok index"); /* IN6: compute Tof settings from Light.Custom.Light_Custom_IN6_Calc_TOF_Choppers */ { double el_t_resol = 0.125; /* [us] Electronic Time Base */ ref_phas = 0; /* [deg] Reference Phase */ double phase_offset= 0; /* [deg] Phase Offset (added to Fermi phase) */ double el_delay = 44.875; /* [us] Default Electronic Delay */ double speed, chan_width, dead_time, time_of_flight, trav_time; double delta_phase, el_peak_O, delay; if (TOF_CHA_RESOL<=0) iTOF_CHA_RESOL=128; else iTOF_CHA_RESOL=TOF_CHA_RESOL; if (RATIO <= 0) iRATIO = 1; else iRATIO =RATIO; if (ELPEAK >= 0 && ELPEAK<=iTOF_CHA_RESOL) iELPEAK = ELPEAK; else iELPEAK=ceil(iTOF_CHA_RESOL/2); speed = 60*K2V/(DM*cos(theta)*(LCE+(LED*pow((1-dE/Ei),-1.5)))); period = 0.5e6 * 60 * iRATIO/speed; chan_width = floor(period/el_t_resol/iTOF_CHA_RESOL)*el_t_resol; dead_time = period-(iTOF_CHA_RESOL*chan_width); time_of_flight = (LCC+LCE+LED)/vi*1e6; trav_time = LCC/vi*1e6; delta_phase = (trav_time/period)*180; phas_ferm = ref_phas + delta_phase; if (fmod(iRATIO, 2) == 0) phas_ferm *= 2; phas_ferm += phase_offset; el_peak_O = floor((time_of_flight + el_delay)/chan_width); delay = (el_peak_O-iELPEAK) * chan_width; if (iELPEAK >= el_peak_O) delay += period; if (delay <= 1) delay = 2; if (PHASE>-180 && PHASE <360) iPHASE=PHASE; else iPHASE=-phas_ferm; if (CHA_WIDTH <=0) iCHA_WIDTH=chan_width; else iCHA_WIDTH=CHA_WIDTH; if (TOF_DELAY <=0) iTOF_DELAY=delay; else iTOF_DELAY=TOF_DELAY; if (SPEED <0) iSPEED=speed; else iSPEED=SPEED; Frequency = iSPEED/60; printf("Instrument Simulation %s (%s)\n", mcinstrument_name, mcinstrument_source); printf(" using computed monochromator take-off angles: %g %g %g [deg]\n", A1, A2, A3); printf("Wavelength [AA] %g\n", sLambda); printf("Neutron velocity [m/s] %g\n", vi); printf("Monochr. Bragg angle [deg] %g\n", A2/2); printf("Incident Energy [meV] %g\n", Ei); printf("Focusing Energy Transfert[meV] %g\n", dE); printf("Travel time: Supp./Fermi [us] %g\n", trav_time); printf("Travel time: Supp./Det. [us] %g\n", time_of_flight); printf("TOF Delay [us] %g\n", delay); printf("TOF Dead Time [us] %g\n", dead_time); printf("TOF Period (1 cycle) [us] %g\n", period); printf("TOF Channel width [us] %g\n", chan_width); printf("CHOP Fermi Phase [deg] %g\n", iPHASE); printf("CHOP Suppressor Phase [deg] %g\n", ref_phas); printf("CHOP Fermi Speed [rpm] %g\n", iSPEED); printf("CHOP Suppressor Speed [rpm] %g\n", iSPEED/iRATIO); printf("Number of time channels %g\n", iTOF_CHA_RESOL); printf("Current Elastic Peak Ch. %g\n", iELPEAK); printf("Elast. peak ch. for 0-delay %g\n", el_peak_O); /* chopper to detector */ tmin = time_of_flight*1e-6 - (iCHA_WIDTH*iELPEAK-iTOF_DELAY)*1e-6; } /* distance to cover to detector from chopper: LCE+LED Center time on 0 at Fermi center LCE from chopper to sample pos LED from sample to detector propagation time t_p =(LCE+LED)/vi; falls on ELPEAK channel. Tmin = t_p-iCHA_WIDTH*1e-6*iELPEAK Tmax = Tmin +N_CHan... */ tmax = tmin+iTOF_CHA_RESOL*iCHA_WIDTH*1e-6; printf("Time window: min=%g max=%g delay=%g tof-width=%g [ms]\n", tmin*1000, tmax*1000, iTOF_DELAY*1e-3, (tmax-tmin)*1000); sprintf(opt2, "kxy limits=[0 5] bins=50, energy limits=[%g %g] bins=40, banana, parallel", (Ei-20 < 0 ? 0 : Ei-20), Ei+20); sprintf(opt1, "angle limits=[0 180] bins=180, energy limits=[%g %g] bins=40, banana, parallel", (Ei-20 < 0 ? 0 : Ei-20), Ei+20); %} /* -------------------------------- TRACE -------------------------------- */ TRACE COMPONENT Origin = Progress_bar(profile="profile") AT (0,0,0) ABSOLUTE COMPONENT VCS = Source_gen( h = 0.22, w = 0.14, dist = 2.525, xw = 0.038, yh = 0.2, Lmin = sLambda-sDLambda, Lmax = sLambda+sDLambda, T1 = sT1, I1 = sI1, T2 = sT2, I2 = sI2, T3 = sT3, I3 = sI3, verbose = 1) AT (0, 0, 0) RELATIVE Origin COMPONENT Al_window1 = Al_window(win_thick=Al_Thickness) AT (0,0,0.21) RELATIVE VCS COMPONENT Al_window2 = Al_window(win_thick=Al_Thickness) AT (0,0,0.61) RELATIVE VCS COMPONENT Al_window3 = Al_window(win_thick=Al_Thickness) AT (0,0,0.78) RELATIVE VCS COMPONENT Al_window4 = Al_window(win_thick=Al_Thickness) AT (0,0,0.92) RELATIVE VCS COMPONENT Al_window5 = Al_window(win_thick=Al_Thickness) AT (0,0,2.43) RELATIVE VCS /* H15-1: L=3.17 m in 1 element. no curvature */ COMPONENT PinkCarter = Guide_gravity( w1=0.038, h1=0.2, w2=0.032, h2=0.2, l=3.170, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,2.525) RELATIVE VCS COMPONENT FirstObturator = Guide_gravity( w1=0.031, h1=0.2, w2=0.031, h2=0.2, l=0.228, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,3.17+0.02) RELATIVE PinkCarter /* ******************** swiming pool guide ******************** */ /* H15-2: L=5.5 m in 6 elements R horiz=2700 m */ COMPONENT H15_2 = Arm() AT (0,0,3.59) RELATIVE PinkCarter /* COMPONENT Mon_2_xy = Monitor_nD( xwidth=0.03, yheight=0.2, options="x y, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_2_dxdy = Monitor_nD( xwidth=0.03, yheight=0.2, options="dx dy, all auto, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_2_Phic = Monitor_nD( xwidth=0.03, yheight=0.2, options="x y dx dy, all auto, parallel, per cm2, capture, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_2_L = Monitor_nD( xwidth=0.03, yheight=0.2, options="lambda, limits=[1 21] bins=20, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS */ COMPONENT H15_2_In = Al_window(win_thick=Al_Thickness) AT (0,0,0) RELATIVE PREVIOUS COMPONENT H15_2_1 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_2, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,Al_Thickness+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_2,0) RELATIVE PREVIOUS COMPONENT H15_2_2 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_2, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_2+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_2,0) RELATIVE PREVIOUS COMPONENT H15_2_3 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_2, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_2+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_2,0) RELATIVE PREVIOUS COMPONENT H15_2_4 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_2, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_2+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_2,0) RELATIVE PREVIOUS COMPONENT H15_2_5 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_2, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_2+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_2,0) RELATIVE PREVIOUS COMPONENT H15_2_6 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_2, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_2+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_2,0) RELATIVE PREVIOUS COMPONENT H15_2_Out = Al_window(win_thick=Al_Thickness) AT (0,0,L_H15_2+gGap) RELATIVE PREVIOUS /* gap 0.198 m (VS) */ /* H15-3: L=9.973 m in 10 elements Rh=2700 m. */ COMPONENT H15_3 = Arm() AT (0,0,0.198) RELATIVE H15_2_Out /* COMPONENT Mon_3_xy = Monitor_nD( xwidth=0.03, yheight=0.2, options="x y, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_3_dxdy = Monitor_nD( xwidth=0.6, yheight=0.2, options="dx dy, all auto, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_3_Phic = Monitor_nD( xwidth=0.03, yheight=0.2, options="x y dx dy, all auto, parallel, per cm2, capture, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_3_L = Monitor_nD( xwidth=0.03, yheight=0.2, options="lambda, limits=[1 21] bins=20, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS */ COMPONENT H15_3_In = Al_window(win_thick=Al_Thickness) AT (0,0,0) RELATIVE PREVIOUS COMPONENT H15_3_1 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_3, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,Al_Thickness+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_3,0) RELATIVE PREVIOUS COMPONENT H15_3_2 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_3, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_3+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_3,0) RELATIVE PREVIOUS COMPONENT H15_3_3 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_3, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_3+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_3,0) RELATIVE PREVIOUS COMPONENT H15_3_4 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_3, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_3+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_3,0) RELATIVE PREVIOUS COMPONENT H15_3_5 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_3, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_3+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_3,0) RELATIVE PREVIOUS COMPONENT H15_3_6 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_3, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_3+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_3,0) RELATIVE PREVIOUS COMPONENT H15_3_7 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_3, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_3+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_3,0) RELATIVE PREVIOUS COMPONENT H15_3_8 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_3, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_3+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_3,0) RELATIVE PREVIOUS COMPONENT H15_3_9 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_3, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_3+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_3,0) RELATIVE PREVIOUS COMPONENT H15_3_10 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_3, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_3+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_3,0) RELATIVE PREVIOUS COMPONENT H15_3_Out = Al_window(win_thick=Al_Thickness) AT (0,0,L_H15_3+gGap) RELATIVE PREVIOUS /* gap 0.03 m */ /* H15-4: L=6.973 m in 7 elements Rh=2700 m. Here d_c ~ 21.4 */ COMPONENT H15_4 = Arm() AT (0,0,0.03) RELATIVE H15_3_Out /* COMPONENT Mon_4_xy = Monitor_nD( xwidth=0.03, yheight=0.2, options="x y, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_4_dxdy = Monitor_nD( xwidth=0.03, yheight=0.2, options="dx dy, all auto, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_4_Phic = Monitor_nD( xwidth=0.03, yheight=0.2, options="x y dx dy, all auto, parallel, per cm2, capture, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_4_L = Monitor_nD( xwidth=0.03, yheight=0.2, options="lambda, limits=[1 21] bins=20, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS */ COMPONENT H15_4_In = Al_window(win_thick=Al_Thickness) AT (0,0,0) RELATIVE PREVIOUS COMPONENT H15_4_1 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_4, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,Al_Thickness+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_4,0) RELATIVE PREVIOUS COMPONENT H15_4_2 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_4, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_4+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_4,0) RELATIVE PREVIOUS COMPONENT H15_4_3 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_4, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_4+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_4,0) RELATIVE PREVIOUS COMPONENT H15_4_4 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_4, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_4+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_4,0) RELATIVE PREVIOUS COMPONENT H15_4_5 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_4, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_4+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_4,0) RELATIVE PREVIOUS COMPONENT H15_4_6 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_4, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_4+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_4,0) RELATIVE PREVIOUS COMPONENT H15_4_7 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_4, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_4+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_4,0) RELATIVE PREVIOUS COMPONENT H15_4_Out = Al_window(win_thick=Al_Thickness) AT (0,0,L_H15_4+gGap) RELATIVE PREVIOUS /* gap 0.03 m */ /* H15-5: L=4.75 m in 5 elements Rh=2700 m. Here d_c ~ 28.4 */ COMPONENT H15_5 = Arm() AT (0,0,0.03) RELATIVE H15_4_Out /* COMPONENT Mon_5_xy = Monitor_nD( xwidth=0.03, yheight=0.2, options="x y, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_5_dxdy = Monitor_nD( xwidth=0.03, yheight=0.2, options="dx dy, all auto, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_5_Phic = Monitor_nD( xwidth=0.03, yheight=0.2, options="x y dx dy, all auto, parallel, per cm2, capture, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_5_L = Monitor_nD( xwidth=0.03, yheight=0.2, options="lambda, limits=[1 21] bins=20, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS */ COMPONENT H15_5_In = Al_window(win_thick=Al_Thickness) AT (0,0,0) RELATIVE PREVIOUS COMPONENT H15_5_1 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_5, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,Al_Thickness+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_5,0) RELATIVE PREVIOUS COMPONENT H15_5_2 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_5, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_5+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_5,0) RELATIVE PREVIOUS COMPONENT H15_5_3 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_5, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_5+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_5,0) RELATIVE PREVIOUS COMPONENT H15_5_4 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_5, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_5+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_5,0) RELATIVE PREVIOUS COMPONENT H15_5_5 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_5, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_5+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_5,0) RELATIVE PREVIOUS COMPONENT H15_5_Out = Al_window(win_thick=Al_Thickness) AT (0,0,L_H15_5+gGap) RELATIVE PREVIOUS /* gap .330 m (VTE) */ /* ******************** after the VTE ******************** */ /* H15-6: L=11.473 m in 12 elements Rh=2700 m */ COMPONENT H15_6 = Arm() AT (0,0,0.330) RELATIVE H15_5_Out /* COMPONENT Mon_6_xy = Monitor_nD( xwidth=0.03, yheight=0.2, options="x y, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_6_dxdy = Monitor_nD( xwidth=0.03, yheight=0.2, options="dx dy, all auto, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_6_Phic = Monitor_nD( xwidth=0.03, yheight=0.2, options="x y dx dy, all auto, parallel, per cm2, capture, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_6_L = Monitor_nD( xwidth=0.03, yheight=0.2, options="lambda, limits=[1 21] bins=20, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS */ COMPONENT H15_6_In = Al_window(win_thick=Al_Thickness) AT (0,0,0) RELATIVE PREVIOUS COMPONENT H15_6_1 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_6, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,Al_Thickness+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_6,0) RELATIVE PREVIOUS COMPONENT H15_6_2 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_6, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_6+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_6,0) RELATIVE PREVIOUS COMPONENT H15_6_3 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_6, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_6+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_6,0) RELATIVE PREVIOUS COMPONENT H15_6_4 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_6, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_6+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_6,0) RELATIVE PREVIOUS COMPONENT H15_6_5 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_6, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_6+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_6,0) RELATIVE PREVIOUS COMPONENT H15_6_6 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_6, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_6+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_6,0) RELATIVE PREVIOUS COMPONENT H15_6_7 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_6, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_6+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_6,0) RELATIVE PREVIOUS COMPONENT H15_6_8 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_6, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_6+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_6,0) RELATIVE PREVIOUS COMPONENT H15_6_9 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_6, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_6+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_6,0) RELATIVE PREVIOUS COMPONENT H15_6_10 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_6, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_6+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_6,0) RELATIVE PREVIOUS COMPONENT H15_6_11 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_6, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_6+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_6,0) RELATIVE PREVIOUS COMPONENT H15_6_12 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_6, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_6+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_6,0) RELATIVE PREVIOUS COMPONENT H15_6_Out = Al_window(win_thick=Al_Thickness) AT (0,0,L_H15_6+gGap) RELATIVE PREVIOUS /* gap 0.03 m */ /* H15-7: L=9.973 m in 10 elements Rh=2700 m */ COMPONENT H15_7 = Arm() AT (0,0,0.03) RELATIVE H15_6_Out /* COMPONENT Mon_7_xy = Monitor_nD( xwidth=0.06, yheight=gH, options="x y, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_7_dxdy = Monitor_nD( xwidth=0.06, yheight=gH, options="dx dy, all auto, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_7_Phic = Monitor_nD( xwidth=0.03, yheight=0.2, options="x y dx dy, all auto, parallel, per cm2, capture, slit") AT (0,0,0) RELATIVE PREVIOUS COMPONENT Mon_7_L = Monitor_nD( xwidth=0.03, yheight=0.2, options="lambda, limits=[1 21] bins=20, parallel, per cm2, slit") AT (0,0,0) RELATIVE PREVIOUS */ COMPONENT H15_7_In = Al_window(win_thick=Al_Thickness) AT (0,0,0) RELATIVE PREVIOUS COMPONENT H15_7_1 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_7, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,Al_Thickness+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_7,0) RELATIVE PREVIOUS COMPONENT H15_7_2 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_7, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_7+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_7,0) RELATIVE PREVIOUS COMPONENT H15_7_3 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_7, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_7+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_7,0) RELATIVE PREVIOUS COMPONENT H15_7_4 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_7, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_7+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_7,0) RELATIVE PREVIOUS COMPONENT H15_7_5 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_7, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_7+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_7,0) RELATIVE PREVIOUS COMPONENT H15_7_6 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_7, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_7+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_7,0) RELATIVE PREVIOUS COMPONENT H15_7_7 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_7, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_7+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_7,0) RELATIVE PREVIOUS COMPONENT H15_7_8 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_7, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_7+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_7,0) RELATIVE PREVIOUS COMPONENT H15_7_9 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_7, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_7+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_7,0) RELATIVE PREVIOUS COMPONENT H15_7_10 = Guide_gravity( w1=0.03, h1=0.2, w2=0.03, h2=0.2, l=L_H15_7, R0=gR0, Qc=gQc, alpha=gAlpha, m=gMvalue, W=gW) AT (0,0,L_H15_7+gGap) RELATIVE PREVIOUS ROTATED (0,Rh_H15_7,0) RELATIVE PREVIOUS COMPONENT H15_7_Out = Al_window(win_thick=Al_Thickness) AT (0,0,L_H15_7+gGap) RELATIVE PREVIOUS // 9.3e9 down to 6.7e9 capture flux (28/02/2002) with white beam /* gap 0.3 m */ /* H15-7: L=5.573 m in 6 elements Rh=2700 m. Here IN6 position. */ COMPONENT H15_8 = Arm() AT (0,0,0.15) RELATIVE H15_7_Out /* ----------------------- IN6 Monochromators GROUP ----------------------- */ COMPONENT Cradle = Arm() AT (0,0,0) RELATIVE H15_8 /* triple-monochromator description: * 7 blades, vertically focusing RV=3 m, fixed. * Each blade is 54 mm width, 29 mm heigh. Vertical angle +/- 3 deg. * mosaic 23 to 40 min. Motors 0.012 deg/step * distance between each crystal ensemble 4 cm */ SPLIT COMPONENT Mono1 = Monochromator_curved( RV = RV, NV = 7,NH=1, zwidth = 0.054, yheight = 0.029, DM = 3.355, gap = 0.001, mosaic = 40, r0=1, t0=1, reflect="HOPG.rfl", transmit="HOPG.trm") AT (0,0, -LMM) RELATIVE Cradle ROTATED (0,A1/2,0) RELATIVE Cradle GROUP IN6Monoks EXTEND %{ if (SCATTERED) { MONND_USER_VALUE(MonokMonitor, 1, 1); } %} COMPONENT Mono2 = Monochromator_curved( RV = RV, NV = 7,NH=1, zwidth = 0.054, yheight = 0.029, DM = 3.355, gap = 0.001, mosaic = 40, r0=1, t0=1, reflect="HOPG.rfl", transmit="HOPG.trm") AT (0,0, 0) RELATIVE Cradle ROTATED (0,A2/2,0) RELATIVE Cradle GROUP IN6Monoks EXTEND %{ if (SCATTERED) { MONND_USER_VALUE(MonokMonitor, 1, 2); } %} COMPONENT Mono3 = Monochromator_curved( RV = RV, NV = 7,NH=1, zwidth = 0.054, yheight = 0.029, DM = 3.355, gap = 0.001, mosaic = 40, r0=1, t0=1, reflect="HOPG.rfl", transmit="HOPG.trm") AT (0,0, +LMM) RELATIVE Cradle ROTATED (0,A3/2,0) RELATIVE Cradle GROUP IN6Monoks EXTEND %{ if (SCATTERED) { MONND_USER_VALUE(MonokMonitor, 1, 3); } %} /* sample position direction */ COMPONENT mono_out = Arm() AT (0,0,0) RELATIVE Cradle ROTATED (0,A2cradle,0) RELATIVE Cradle /* --------------------------- IN6 Suppressor ------------------------ */ COMPONENT SuppPos = Arm() AT (0,0,LME-LCE-LCC) RELATIVE mono_out COMPONENT Mon_SuppInL = Monitor_nD( xwidth = 0.05, yheight = 0.098, options="lambda, all auto") AT (0,0,-0.07-0.002) RELATIVE SuppPos COMPONENT Mon_SuppInT = Monitor_nD( xwidth = 0.052, yheight = 0.098, options="t slit, all auto", bins=iTOF_CHA_RESOL) AT (0,0,-0.07-0.001) RELATIVE SuppPos EXTEND %{ double Vi=sqrt(vx*vx+vy*vy+vz*vz); if (iRATIO && Vi) { /* compress flux/s into opening time atan(w/length)/PI/frequency */ /* suppressor time spread */ t = -0.07/Vi+(rand01()-0.5)/PI/Frequency*iRATIO*atan(0.052/0.14); p /= PI*Frequency/iRATIO/atan(0.052/0.14); } %} /* Suppressor Chopper position. */ COMPONENT Suppressor = FermiChopper(radius=0.07, nu=-Frequency/iRATIO, height=0.098, width=0.052, Nslit=1, R0=0, phase=0, length=0.012, eff=1, verbose=1) WHEN (iRATIO > 0) AT (0,0,0) RELATIVE SuppPos COMPONENT Mon_SuppOutT = Monitor_nD( xwidth = 0.052, yheight = 0.098, options="auto t slit", bins=iTOF_CHA_RESOL) AT (0,0,+0.07+0.001) RELATIVE SuppPos /* --------------------------- IN6 Fermi ------------------------ */ COMPONENT FermiPos = Arm() AT (0,0,LME-LCE) RELATIVE mono_out COMPONENT FermiM = FermiChopper(phase=-iPHASE, radius=0.04, nu=-Frequency, height=0.064, width=0.044, Nslit=200.0, R0=.99, Qc=(mFC < 1 && mFC ? mFC*0.02176 : 0.02176), alpha=2.33, m=mFC, length=0.012, eff=1.0, verbose=1) AT (0,0,0) RELATIVE FermiPos COMPONENT Mon_FermiOutdT = Monitor_nD( xwidth = 0.044, yheight = 0.064, options="auto t slit", bins=iTOF_CHA_RESOL) AT (0,0,+0.06+0.001) RELATIVE FermiPos /* --------------------------- IN6 Fermi END --------------------- */ COMPONENT MonokMonitor = Monitor_nD( xwidth = 0.2, yheight = 0.2, options="user1 limits=[0.5,3.5] bins=9, auto lambda bins=20, square, per cm2") AT (0,0,+0.06+0.002) RELATIVE FermiPos /* sample position (at 2.1 m from monoks) */ COMPONENT Mon_SampleInT = Monitor_nD( xwidth = 0.05, yheight = 0.05, options="auto t parallel, per cm2", bins=iTOF_CHA_RESOL) AT (0,0,LME-.273) RELATIVE mono_out COMPONENT Mon_SampleInXY = Monitor_nD( xwidth = 0.2, yheight = 0.1, options="auto x y parallel, per cm2") AT (0,0,0) RELATIVE PREVIOUS /* BEGIN ********************************** Sample environment and sample */ COMPONENT sample_pos = Arm() AT (0,0,LME) RELATIVE mono_out SPLIT COMPONENT Sample=Isotropic_Sqw( radius = radius, thickness=thickness, yheight = 0.055, Sqw_coh=Sqw_coh, Sqw_inc=Sqw_inc, p_interact=0.9 ) AT (0, 0, 0) RELATIVE sample_pos EXTEND %{ if (!SCATTERED) ABSORB; %} COMPONENT M_theta_t_all = Monitor_nD( xwidth=2.5, yheight=0.2, options=opt1, bins=100) AT (0,0,0) RELATIVE sample_pos COMPONENT M_omega_q_all = Monitor_nD( xwidth=2.6, yheight=0.2, options=opt2, bins=100) AT (0,0,0) RELATIVE sample_pos END