DEFINE INSTRUMENT GappedGuideField( double lambda=10.0, double dlambda=2.0, double polx=0.0, double poly=1.0, double polz=0.0 ) DECLARE %{ 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 gAlpha=2.67; %} INITIALIZE %{ %} TRACE COMPONENT Origin = Progress_bar() AT (0, 0, 0) RELATIVE ABSOLUTE COMPONENT VCS = Source_gen( yheight = 0.22, xwidth = 0.14, dist = 1.0, focus_xw = 0.03, focus_yh = 0.03, Lmin = lambda*(1-dlambda/2), Lmax = lambda*(1+dlambda/2), T1 = sT1, I1 = sI1, T2 = sT2, I2 = sI2, T3 = sT3, I3 = sI3, verbose = 1) AT (0, 0, 0) RELATIVE Origin COMPONENT InitPolar = Set_pol(px=polx,py=poly,pz=polz,normalize=1) AT (0,0,1.0+1e-3) RELATIVE PREVIOUS COMPONENT SlitIn = Slit( xwidth=0.03, yheight=0.03) AT (0, 0, 1e-3) RELATIVE PREVIOUS COMPONENT FieldBox = Pol_FieldBox( xwidth=0.04, yheight=0.04, zdepth=0.4, fieldFunction=table_magnetic_field, filename="fieldbox.dat", Bx=0.0, By=0.0, Bz=0.0) AT (0,0,1e-3) RELATIVE PREVIOUS COMPONENT SlitOut = Slit( xwidth=0.03, yheight=0.03) AT (0, 0, 1.0+5e-3) RELATIVE SlitIn COMPONENT Analyzer_MeanPolY = MeanPolLambda_monitor( Lmin=lambda*(1-dlambda/2),Lmax=lambda*(1+dlambda/2),nL=51, xwidth=0.03, yheight=0.03, mx=0, my=1.0, mz=0, filename="poly.dat") AT (0,0,1e-3) RELATIVE SlitOut FINALLY %{ %} END