diff --git a/Contents.m b/Contents.m new file mode 100644 index 000000000..08ca34ec8 --- /dev/null +++ b/Contents.m @@ -0,0 +1,687 @@ +% Accelerator Toolbox +% Version 2.5.0 (atcollab) 05-Nov-2023 +% +% AT +% See also +% +% Contents file for AT and its subfolders. +% +% AT/ATINTEGRATORS +% aperture - Creates a aperture element in old a AT version (Obsolete) +% BndStrMPoleSymplectic4Pass - .m Help file for BndStrMPoleSymplectic4Pass.c +% corrector - Creates a corrector element in old a AT version (Obsolete) +% drift - Creates a drift element in old a AT version (Obsolete) +% DriftPass - - Integrator for Drift spaces +% ExactHamiltonianPass - .m Help file for ExactHamiltonianPass.c +% GWigSymplecticPass - #ok +% GWigSymplecticRadPass - #ok +% hmonitor - Creates a horizontal monitor element in old AT version (Obsolete) +% idtable - (fname, Nslice, filename, Energy, method) +% idtable_global - IDTABLE Creates a RADIA-Map based element +% marker - Creates a marker element in old AT version (Obsolete) +% mChangeRefPass - Change the reference energy by scaling +% mDriftPass - Example of pass method in matlab +% mhdrload_bis - Loads data from an ASCII file containing multiple text +% mIdentityPass - MDRIFTPASS - example of pass method in matlab +% monitor - Creates a monitor element in old AT versions (Obsolete) +% multipole - Creates a thick multipole element in old AT versions (Obsolete) +% passmethodlist - Utility function for MATLAB Compiler +% passmethods - Returns a list of available AT passmethod functions in +% quadrupole - Creates a quadrupole element in old AT version (Obsolete) +% rbend - Creates a rectangular bend in old AT version (Obsolete) +% rbend2 - Creates rectangular bend with dipole fringe field in old AT versions (Obsolete) +% rbend3 - Creates a rectangular bend with different fringe fields at entrance +% rfcavity - Creates a RF cavity in older AT version +% sbend - Creates a sector bend element in old AT versions (Obsolete) +% sextupole - Creates a sextupole element in old AT versions (Obsolete) +% skewquad - Creates a skewquad element (alias to multipole) in old AT version (Obsolete) +% solenoid - Creates a solenoid element in old AT versions (Obsolete) +% vmonitor - Creates a vertical monitor element in old AT version (Obsolete) +% wiggler - (fname, Ltot, Lw, Bmax, Nstep, Nmeth, By, Bx, method,energy) +% +% AT/ATMAT +% at - Accelerator Toolbox +% atcavityoff - Switches RF cavities off +% atcavityon - ATRADON switches RF cavities on +% atdiag - Tests AT intallation +% atdisplay - Checks the verbosity level in the global variable GLOBVAL +% athelp - Generate the list of Accelerator Toolbox functions +% atm2html - MAKEDOC_HTML - Generate new MML, SOLEIL and AT HTML help files +% atmexall - Build all AT platform dependent mex-files from C-sources +% atpath - Adds the AT directories to the MATLAB search path +% atroot - Returns Accelerator Toolbox root directory +% atupdateContents - Updates Contents.m of AT directories +% getContents - Get the contents of a specified directory +% isOctave - Check if running Octave +% updateContents - Create a Contents.m file including subdirectories +% +% AT/ATMAT/ATDEMOS +% +% AT/ATMAT/ATDEMOS/ATFASTRING +% testatfastring - Demo of using atfastring for fast tracking +% +% AT/ATMAT/ATDEMOS/ATMATCHEXAMPLES/BUMP +% run_BumpFit - Fit a bump using correctors +% +% AT/ATMAT/ATDEMOS/ATMATCHEXAMPLES/EXAMPLEATMATCH +% betx - Get value of betx for Seq(indx) +% bety - Get value of bety for Seq(indx) +% dispx - Get value of horizontal dispersion for Seq(indx) +% getDispersion - Function [dx,dy]=getDispersion(THERING,bpmindx) +% mux +% runtotest_atmatch - Macro match dba test lattice beta functions and dispersion using +% VaryQuadFam +% +% AT/ATMAT/ATDEMOS/ATMATCHEXAMPLES/MATCHCHROMATICITY +% run_matchChromaticity - Match chrmaticity +% +% AT/ATMAT/ATDEMOS/GUI +% atslider - Is an example of a GUI control of multiple parameters in THERING +% demoknob - Illustrates the use of MATLAB GUI controls with AT +% +% AT/ATMAT/ATDEMOS/IDMODELING +% add_ID - Adds IDelem at the beginning and subtracts the length from +% trackWithU35KickMap - Read in ESRF lattice +% +% AT/ATMAT/ATDEMOS/OPTICSANDBEAMSIZES +% latticedemo - Self-running tutorial +% linoptdemo - Script illustrates the use of LINOPT +% ohmienvelopedemo - Illustrates the use of OHMIENVELOPE function +% +% AT/ATMAT/ATDEMOS/RESPONSEMATRIX +% findrespmdemo - Response matrix demo +% +% AT/ATMAT/ATDEMOS/TRACKING +% generateTrackData - Give some initial coordinates. Track through sample lattices +% test_openmp - Test the perfoemance of OpenMP +% testTracking - Test results of tracking against values previously computed +% trackingdemo - Self-running tutorial +% trackMultipleParticles - Time the tracking of multiple particles +% +% AT/ATMAT/ATDEMOS/TRACKWITHIMPEDANCE +% makeBBR - SI units; +% testTrackBBR - Create a fast ring from ESRF lattice +% +% AT/ATMAT/ATGUI +% intelem - Interactive element editor +% intlat - Interactive AT lattice editor +% +% AT/ATMAT/ATMATCH +% atApplyVariation - Applies a series of variations to variables as described in +% atDisplayConstraintsChange - This funciton evaluates the contraints defined in Constraints for lattice +% atDisplayVariableChange - This functions retrives variable Values for two rings to compare +% atEvaluateConstraints - This funciton evaluates the contraints defined in Constraints for lattice +% atGetPenalty +% atGetVariableValue +% atlinconstraint - Generate a constraint on linear optics for atmatch +% atmatch - Function [.. +% atVariableBuilder - AtVarBuilder create a simple variable structure for use with atmatch +% +% AT/ATMAT/ATPHYSICS +% atavedata - Average of optical functions on selected elements +% findrespm - Computes the change in the closed orbit due to parameter perturbations +% findspos - Returns longitudinal positions of accelerator lattice elements +% PhysConstant - Physical constants +% +% AT/ATMAT/ATPHYSICS/COLLECTIVEEFFECTS +% atbeam - Generates a particle distribution according to a sigma matrix +% atsigma - Constructs a beam sigma matrix 2x2 4x4 or 6x6 +% +% AT/ATMAT/ATPHYSICS/LINEAROPTICS +% amat - Find A matrix from one turn map matrix T such that: +% atdampingrates - Find tunes and damping rates from one map matrix with radiation +% atlinopt - Performs 4D linear analysis of the COUPLED lattices +% atlinopt2 - Performs the linear analysis of UNCOUPLED lattices +% atlinopt4 - Performs the 4D linear analysis of COUPLED lattices +% atlinopt6 - Performs linear analysis of the lattice +% beam22 - Computes the beam matrix from the 1-turn transfer matrix +% beam44 - Computes the coupled beam matrices +% find_betaoids - [H1 H2 H3]=find_betaoids(A) +% find_etaoids - Given the normalizing matrix A, we compute the etaoids +% find_inv_G - This function computes the invariants of a one turn map matrix +% find_inv_G_fromA - This function computes the invariant matrices G1,G2,G3 +% findelemm44 - Numerically finds the 4x4 transfer matrix of an element +% findelemm66 - Numerically finds the 6x6 transfer matrix of an element +% findm44 - Numerically finds the 4x4 transfer matrix of an accelerator lattice +% findm66 - Numerically finds the 6x6 transfer matrix of an accelerator lattice +% get_dispersion_from_etaoids - Computes dispersion functions (x,px,y,py) at refpts +% jmat - Compute antisymmetric Matrix [O 1; -1 0] +% linopt - Performs linear analysis of the COUPLED lattices +% mkSRotationMatrix - (PSI) coordinate transformation matrix +% plotbeta - Plots UNCOUPLED! beta-functions +% r_analysis - Return the phase for A standardization +% +% AT/ATMAT/ATPHYSICS/LONGITUDINALDYNAMICS +% atBunchLength - Bunch length due to the potential well effect +% atRFacc - Computes RF acceptance of the ring +% atsetcavity - ATSECAVITY Set the parameters of RF cavities +% atSetCavityPhase - SETCAVITYPHASE Set the TimeLag attribute of RF cavities +% BunchLength - Bunch length due to the potential well effect +% cavityoff - Turns cavities OFF +% cavityon - Turns Cavities ON +% mcf - Momentum compaction factor +% nus - Computes synchrotron tune from RF parameters +% phis - Phase = phis(U0MeV,VrfMV) +% RFacc - Computes the RF acceptance with linear formula +% +% AT/ATMAT/ATPHYSICS/NAFFLIB +% calcnaff - Computes NAFF decomposition for a phase space trajectory +% naff_cc - Compile nafflibrary for Matlab +% naff_example - Example to test naff within matlab +% nafflib - MATLAB to NAFF library +% +% AT/ATMAT/ATPHYSICS/NONLINEARDYNAMICS +% atnuampl - Computes tune shift with amplitude +% computeRDT - Computes Hamiltonian resonance driving terms (RDTs) +% tunespaceplot - Draws a tune diagram +% +% AT/ATMAT/ATPHYSICS/ORBIT +% findorbit - Find the closed orbit +% findorbit4 - Finds closed orbit in the 4-d transverse phase +% findorbit6 - Finds closed orbit in the full 6-d phase space +% findsyncorbit - Finds closed orbit, synchronous with the RF cavity +% plotcod - Closed Orbit Distortion +% xorbit_6 - Private function used by findorbit6 +% xorbit_ct - Private function used by findsyncorbit +% xorbit_dp - Private function used by findorbit4 +% +% AT/ATMAT/ATPHYSICS/PARAMETERSUMMARYFUNCTIONS +% atsummary - Print out various parameters of the current AT lattice +% atx - Computes and displays global information +% RadIntegrals - Calcuate the contribution to the radiation integrals of a Wiggler +% ringpara - Print out various parameters of the current AT lattice +% twissline - Calculates linear optics functions for an UNCOUPLED transport line +% twissring - Calculates linear optics functions for an UNCOUPLED ring +% +% AT/ATMAT/ATPHYSICS/RADIATION +% atdisable_6d - Switches radiation and cavity off +% atenable_6d - Switches RF and radiation on +% atenergy - Gets the lattice energy +% atgetU0 - Computes Energy loss per turn in eV +% atradoff - Obsolete: switches RF and radiation off +% atradon - Obsolete: switches RF and radiation on +% atsetenergy - (ring,Energy) sets the Energy field in all +% attapering - Scale magnet strengths +% check_6d - Check the presence of longitudinal motion in a lattice +% check_radiation - Obsolete: check the radiation state of a ring +% DipoleRadiation - Compute the radiation integrals in dipoles +% ElementRadiation - - Compute the radiation integrals in dipoles +% ElossRadiation - Compute the radiation integrals in EnergyLoss elements +% findelemraddiffm +% findmpoleraddiffmatrix - #ok +% findthickmpoleraddiffm +% findthinmpoleraddiffm +% getclass_6d - Private. Guess class for 6d motion +% ohmienvelope - Calculates equilibrium beam envelope in a +% quantumDiff - Compute the radiation-diffusion matrix +% radiationoff - Turns classical radiation OFF +% radiationon - Turns classical radiation ON +% thickmpoleraddiffm - FINDTHICKMPOLERADDIFFM +% thinmpoleraddiffm - FINDTHINMPOLERADDIFFM +% WigglerRadiation - Compute the radiation integrals in wigglers +% +% AT/ATMAT/ATPHYSICS/TOUSCHEKPIWINSKI +% MomAperture_allRing - All Ring momentum aperture +% momentum_aperture_at - Function [deltamin, deltamax.. +% simpletestToucheckLT - Simple example of use of toucheck lifetime formula: +% TLT_IntPiw - Integral in Piwinski Formula for the Lifetime +% TLT_IntPiw_k - Integral in Piwinski Formula for the Lifetime with u=tan^2(k) +% TouschekPiwinskiLifeTime - Function [Tl,contributionsTL]=TouschekPiwinskiLifeTime(ring,dpp,Ib,...) +% +% AT/ATMAT/ATPHYSICS/TUNEANDCHROMATICITY +% findtune - Get the tune value from turn by turn positions +% fitchrom2 - Fits chromaticity of THERING using 2 sextupole families +% fittune2 - Fits linear tunes of THERING using 2 quadrupole families +% intfft - Calculates the tune from interpolated FFT of the trajectory +% tunechrom - Computes linear tunes and chromaticities +% +% AT/ATMAT/ATPLOT +% atbaseplot - Plots data generated by a user-supplied function +% atplot - Plots optical functions +% atplotsyn - Helper function for ATPLOT +% atreforbit - Keep track of the nominal reference orbit through displaced elements +% xplot - Private function used by atplot and atbaseplot +% +% AT/ATMAT/ATPLOT/PLOTFUNCTIONS +% CurlyH - Function [H,Hv]=CurlyH(RING,dp,ind) +% CurlyHlindata - Function [H,Hv]=CurlyHlindata(lindata) +% plBeamSize - Plot H and V beam size +% plClosedOrbit - Plots H and V 4x4 closed orbit +% plCorrectorStrength - Plot PolynomB +% plEmitContrib - Plot H/rho³ at every dipole +% plenvelope - Plot beam envelope +% plot_betabeat - Function plot_betabeat(THERING_ref,THERING_mod) +% plot_trajectory - Plots particle trajectories +% plotAperture - Plots x and y aperture +% plotB0curlyh - Plot B and H +% plotbetadisp - Function [s,plotdata]=plotbetadisp(ring,dpp,plotfun,varargin) +% plotbetadispcurlyh - Plot beta, dispersion and H +% plotERAperture - Plot RApertures EApertures +% plotRDT +% plotsqrtbetadispcurlyh - Plot sqrt(beta), dispersion and H +% plotWdispP - Plot W functions +% plPolynomBComp - PlotBn coefficient with normalization +% plPolynomBSxtOct - Plots Bn for sextupole and octupole magnets +% plSigmaSigmap - Plots beam sizes and divergences +% pltouschek - Plots Touschek lifetime contribution +% plxi - #ok +% +% AT/ATMAT/ATTESTS +% githubrun - Private. This script runs the AT test suite in a GitHub action. There is +% githubsetup - Private. Setup Matlab for AT tests in GitHib Actions +% pytests - Shared setup for the entire test class +% +% AT/ATMAT/ATTRACK +% atpass - #ok +% linepass - Tracks particles through each element of the cell array LINE +% ringpass - Tracks particles through each element of the cell array RING +% +% AT/ATMAT/ATUTILS +% atoptions - Definition of default parameters +% frequency_control - Private. Handle off-momentum for 6D lattice +% getargs - Process positional arguments from the input arguments +% getdparg - Handle positional dp arguments +% getenvopt - (NAME, DEFAULTVALUE) +% getflag - Check the presence of a flag in an argument list +% getoption - Extract a keyword argument from an argument list +% opticsoptions - (private) extract arguments for atlinopt +% parseargs - Check and expands optional argument lists +% setoption - Set AT preference values +% wrapper6d - Private. Handle off-momentum for 6D lattice +% +% AT/ATMAT/LATTICE +% at2py - ELSTR=AT2PY(ELEM) convert AT element tp pyat +% at2str - Makes the string representation of an AT element +% ataddmpolecomppoly - Adds a multipole component to an existing polynomial, +% ataddmpoleerrors - Ataddrandmpole adds a random multipole component to all elements of type +% atCheckRingProperties - Get the ring properties if existing +% atdivelem - Divide an element into pieces +% atelem - Makes a new AT element structure from another element, +% atfastring - Generate simplified AT structures +% atfitchrom - Fit chromaticites by scaling 2 sextupole families +% atfittune - Fit linear tunes by scaling 2 quadrupole families +% atgetcells - Performs a search on MATLAB cell arrays of structures +% atgetfieldvalues - Retrieves the field values AT cell array of elements +% atGetRingProperties - Get the ring properties +% atguessclass - Tries to determine the class of an element +% atindex - Extracts the information about element families and +% atinsertelems - Insert elements at given locations in a line +% atloadfielderrs - Will load a field error structure into a ring +% atloadlattice - Load a lattice from a file +% atlocateparam - Private function. Locate the RingParam element +% atmaincavities - Get the fundamental mode cavities +% atmakefielderrstruct - MAKERNDFIELDERRS will create a field error data structure +% atparamscan - Private function. Updates the RingParam element +% atparticle - Particle definition for AT +% atreduce - Remove useless elements from an AT structure +% atrotatelattice - Circularly shift the lattice elements +% atsbreak - Insert markers at given s positions in a lattice +% atsetfieldvalues - Sets the field values of MATLAB cell array of structures +% atsetRFCavity - Set the RF Cavity with the passmethod RFCavityPass +% atSetRingProperties - Add or modify properties of the lattice +% atsetshift - Sets the misalignment vectors +% atsettilt - Sets the entrance and exit rotation matrices +% atshiftelem - Set new displacement parameters +% atsimplering - Creates a "simple ring" +% atsplitelem - Creates a line by inserting one or more elements into a base element +% attiltelem - Sets new rotation parameters +% atwritem - Creates a .m file to store an AT structure +% atwritepy - Creates pyAT lattice from a Matlab lattice +% buildlat - Places elements from FAMLIST into cell array THERING +% combinebypassmethod - Combines adjacent elements that have the same specified pass method +% combinelinear45 - Combines adjacent elements that use 4-by-5 PassMethods +% entrancefields - () Return the list of field names affecting the element entrance +% exitfields - () Return the list of field names affecting the element exit +% findcells - Performs a search on MATLAB cell arrays of structures +% findtags - Looks for string matches in 'Tag' field of AT lattice elements +% getcellstruct - Retrieves the field values MATLAB cell array of structures +% insertelem0 - - quick and dirty: +% insertindrift - Inserts one or more elements into a drift element +% isatelem - Tests if an input argument is a valid AT element +% isatlattice - Tests if an input argument is a valid AT lattice +% mergedrift - Removes a lattice element and merges the two adjacent drift spaces +% mvelem - Move an element +% mvfield - Move fields from one structure to another +% rmelem0 - Removes elements of length 0 from the accelerator lattice +% setcellstruct - Sets the field values of MATLAB cell array of structures +% setshift - Sets the misalignment vectors T1, T2 for elements +% settags - Sets the 'Tag' field in AT lattice elements +% settilt - Sets the entrance and exit misalignment matrixes +% splitdrift - Inserts an element into a drift space +% symplectify - Makes a matrix more symplectic +% +% AT/ATMAT/LATTICE/CONVERTERS +% readmad - Reads the file output of MAD commands +% +% AT/ATMAT/LATTICE/CONVERTERS/AT2ELEGANT +% AT_2_Elegant - This functions converts the AT lattice AT_ring in elegant form +% +% AT/ATMAT/LATTICE/CONVERTERS/AT2G4BL +% ATtoG4BL - Function [outtext]=ATtoG4BL(P_0,particle,folder) +% +% AT/ATMAT/LATTICE/CONVERTERS/AT2MAD8 +% AT_2_mad8 - Function [elelat,def,lines]=AT_2_mad8(AT_ring,linename) +% +% AT/ATMAT/LATTICE/CONVERTERS/AT2MADX +% AT_2_madX - Function [elelat,defs,lines]=AT_2_madX(AT_ring,linename) +% +% AT/ATMAT/LATTICE/CONVERTERS/AT2OPA +% AT_2_OPA - Function AT_2_OPA(AT_ring,linename) +% +% AT/ATMAT/LATTICE/CONVERTERS/ELEGANT2AT +% ele2at_run_me - Test_elegant_converter +% elegant2at - Function elegant2at(elegantlattice,E0,outfilename) +% ParseAtributesELEGANT_2_AT - Determines atribute and sets field in sxs{i} structure AT +% +% AT/ATMAT/LATTICE/CONVERTERS/MAD82MADX +% mad8TOmadx - Converts mad8 sequence files to madX +% +% AT/ATMAT/LATTICE/CONVERTERS/MADX2AT +% atfrommadx - Function atfrommadx(seqfilemadX,E0,outfilename) +% buildATLattice - Given a list (cell array) of elements with specified field Spos (center of element (madx default)) in a +% ParseAtributesMADX_2_AT - Determines atribute and sets field in sxs{i} structure AT +% reshapeToCellArray - If CEL_CEL is a cell array of structures and cell arrays it converts it a +% +% AT/ATMAT/LATTICE/CONVERTERS/MADX2AT/EXAMPLES +% convertMADXtoATExample - Simple lattice test (uncomment to run) +% +% AT/ATMAT/LATTICE/CONVERTERS/MADX2G4BL +% madx2g4bl - Function [outtext]=madx2g4bl(P_0,particle,folder) +% +% AT/ATMAT/LATTICE/ELEMENT_CREATION +% ataperture - Creates a aperture element +% atbaselem - Create an AT element structure + various checks +% atcorrector - Creates a drift space element with class 'Corrector' +% atdampMatElem - Creates an element that applies the global damping matrix +% atdrift - Creates a drift space element with Class 'Drift' +% atenergyloss - Creates an energy loss element +% atidtable - Creates an ID element +% atinsertiondevicekickmap - Creates an insertion device kick-map element +% atM66 - Create an element applying an arbitrary 6x6 transfer matrix +% atM66Tijk - ATM66(FAMNAME,M66,Tijk,PASSMETHOD) +% atmarker - Creates a marker space element +% atmonitor - Creates a Beam Position Monitor element with Class 'Monitor' +% atmultipole - Creates a multipole element +% atquadrupole - Creates a quadrupole element with Class 'Quadrupole' +% atQuantDiff - Creates a quantum diffusion element +% atrbend - Creates a rectangular bending magnet element with class 'Bend' +% atrbendtune - Set X0ref and RefDZ for rectangular bending magnets +% atrfcavity - Creates an rfcavity element with Class 'RFCavity' +% atringparam - Creates a RingParameter Element which should go at the beginning of the ring +% atsbend - Creates a sector bending magnet element with class 'Bend' +% atsextupole - Creates a sextupole element with class 'Sextupole' +% atSimpleQuantDiff - SimpleQuantDiff creates a simple quantum difusion element +% atskewquad - Creates a skew quadrupole element with Class 'Multipole' +% atsolenoid - Creates a new solenoid element with Class 'Solenoid' +% atthinmultipole - Creates a thin multipole element +% atvariablemultipole - Creates a variable thin multipole element +% atwiggler - Creates a wiggler +% +% AT/ATMAT/LATTICE/ELEMENT_CREATION/PRIVATE +% decodeatargs - Separates arguments and resources +% +% AT/ATMAT/LATTICE/PARAMGROUP +% atparamgroup - PARAMETER GROUP in AT is a general way +% mkparamgroup - Simplifies creation of AT parameter groups +% restoreparamgroup - Restores the values of multiple physical +% saveparamgroup - Saves the values of multiple physical +% setparamgroup - Modifies a group of parameters +% +% AT/ATMAT/LATTICE/SURVEY +% atgeometry - Computes the 2-D position of all elements (no vertical bend) +% atgeometry3 - Computes the 3-D position of all elements +% +% AT/ATMAT/PUBTOOLS +% atdynap - Compute the dynamic aperture +% atmomap - Find momentum aperture at start of ring +% atsurvey2spos - Returns closest lattics s coordinates to xycoord points +% atundulator - Define undulator model +% atvalue - Extract array from lindata structure +% calc_dppAperture - Calculate the momentum aperture at each location of the ring due to +% calc_Touschek - TauT = calc_Touschek(THERING, Ib) +% calc_TouschekPM - TauT = calc_TouschekPM(TD,dppPM,Trf,Ib,U0,coupling, sigE, emit_x) +% freqsearch - ========================================================================= +% nlchromplot - Example: nlchromplot(esrf,-.04,.04,30,16,1) +% +% AT/ATMAT/PUBTOOLS/APERTURE +% SetPhysicalAperture - Ringapert=SetPhysicalAperture(ring,apertureX,apertureY) +% +% AT/ATMAT/PUBTOOLS/CREATE_ELEMS +% atidtable_dat - Atidtable(FamName, Nslice, filename, Energy, method) +% +% AT/ATMAT/PUBTOOLS/DISTANCE2CURVE +% distance2curve - Gets the minimum distance from a point to a general curvilinear n-dimensional arc +% +% AT/ATMAT/PUBTOOLS/HAISSINSKI +% blength +% fitgaussian - GAUSSIAN_PARAM FITERR GAUSSFIT SIGERROR]= FITGAUSSIAN(DATA,[property_value_pair]); +% plothaissinski - [z lambda sigma mu] = HASSINSKYFIT(SIGMA0, R, L) +% Qval - Gives the unitless Q parameter needed to compute the +% +% AT/ATMAT/PUBTOOLS/LATTICE_TOOLS +% atreadbeta - Reads a BETA file +% atsetglobval - Creates the global variable GLOBVAL and adds Energy +% scalesext - Newring=scalesext(ring,sextfam,scale) +% setsext - Newring=setsext(ring,fam,val); +% setsextall - Newring=setsextall(ring,fam,val); +% sext_sens_scan - Esrf(:) +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION +% qemsvd_mod - Function dq=qemsvd_mod(a,b,neig,plot) +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/CHROMATICITY +% atmatchchromdelta - Function arcchrom0=atmatchchromdelta(arc,c,sxtfams) +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/CORRECTION_CHAIN +% CorrectionChain - Corrected lattice +% DisplayCorrectionEffect - [d0,de,dc]=DisplayCorrectionEffect(.. +% testcorrectionchain - Test errors and correction functions +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/DISPERSION +% atcorrectdispersion - Function [.. +% testdispersioncorrection - Test errors and correction functions +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/DISPERSIONFREESTEERING +% atdispersionfreesteering - Function [.. +% testdispersionfreesteering - Test errors and correction functions +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/ORBIT +% atcorrectorbit +% testorbitbump - Test errors and correction functions +% testorbitcorrection - Test errors and correction functions +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/ORBITBUMPS/MATCHING +% BumpAtBPM - Function roff=BumpAtBPM(.. +% BumpAtBPM4D - Function roff=BumpAtBPM(.. +% testorbitbump - Test matching orbit bump +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/RDT +% atavedata_mod - ATAVEDATA Average of optical functions on selected elements +% atQuadRDTdispersioncorrection - - Make dispersion correction based on RDTs +% atRDTdispersioncorrection - Makes dispersion correction based on RDTs +% atRDTdispersionmeasuredcorrection - Makes correction of dispersion based on +% atSkewRDTdispersioncorrection - Function [.. +% EquivalentGradientsFromAlignments6D - Estimated normal quad gradients from sext offsets +% qemrdtresp_mod - QEMRDTRESP compute resonance driving terms at BPM locations +% semrdtresp_mod - SEMRDT compute resonance driving terms at BPM locations +% testRDTdispersionfreesteering - Test errors and correction functions +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/RESPONSE_MATRIX +% findrespmat - FINDRESPM_mod computes the change in the closed orbit due to parameter perturbations +% getresponsematrices - 1 AT lattice +% gettunechromatlinopt - Gets tunes and chromaticities from atlinopt +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/RFCAVITY +% atRFcorrection - Function [.. +% atsetRFCavityErr - ATSETRFCAVITY sets the RF Cavity with the passmethod RFCavityPass +% testsetRFCavityErr - Test errors and correction functions +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/TRAJECTORY +% atfirstturntrajectory - Makes first turn correction +% MatchLast2CorForFirstBPM - Takes the last two correctors to match the orbit and angle trajectory at +% Scan2x2DinCOD - [bestinputcoord]=ScanPosAngle(.. +% testorbitaftertrajectory - Test errors and correction functions +% testtrajectorycorrection - Test errors and correction functions +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/TUNE +% atmatchtunedelta - Function arcchrom0=atmatchtunedelta(arc,c,quadfams) +% fittunedelta2fam - Rerr=fittunedelta2fam(rerr,r0) +% testfittunedelta2fam - Test errors and correction functions +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS +% AssignFieldErr - Function r=AssignFieldErr(r,refpos,N,rho,BNn,ANn) +% atset_s_shift - Implements DS longitudinal position drift +% atsetbpmerr - Sets the misalignment vectors +% atsettiltdipole - Sets the entrance and exit rotation matrices +% bpm_matrices - Generate transformation matrices for BPM readings +% bpm_process - Compute BPM readings from the closed orbit +% finddispersion6Err - Gets 6D dispersion with bpm reading errors +% findorbit4Err - Gets 4x4 closed orbit with BPM errors +% findorbit6Err - Findorbit6 with bpm reading errors +% findtrajectory6Err - [t 6xNbpm array of trajectory +% setANYshift - Adds to the existing shift errors additional D +% setFieldIntegralError - Function rerr=setFieldIntegralError(r0,rerr,indx,order,Nsigma,sigmaperc) +% setGirderError - Rerr=setGirderError(r,pert,errval,mag_group) +% SetLargeErrorList - Sets given error list +% setTiltAbout - Sets tilt errors +% setTiltGirderAbout - Set Tilt error on a magnet +% setXshift - Set horizontal shifts for a element list +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/BPMERRORS +% testerr - Load lattice +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/DELTAS +% testerr - Load lattice +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/DXDY +% testerr - Load lattice +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/ERRORDISPLAYFUNCTIONS +% GetMisalignments - This function retrives 3 vectors, for x and y misalignments and tilts +% pltmisalignments - #ok +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/ERRORSMANIPULATION +% GetExistingErrors - This function retrives 6 vectors, for x, y,s misalignments, +% getMagGroupsFromGirderIndex - Gets magnets on a girder +% getMagGroupsFromMagNum - - Gets magnet from a Magnet group +% setBpmOffsetOnDipoleRef - Set bpm on curve defined by dipole misalignments +% SetExistingError - Function SetExistingError(rerr,magindex,X0,Y0,S0,T0,R0,P0,bpm0) +% SumErrors - Rsum=SumErrors(r1,r2,magindex) +% ThetaPhiGirder - Rtp=ThetaPhiGirder(r,mag_gr) +% UniformGirderErrors - Function ring=UniformGirderErrors(ring) +% UniformMagGroupsErrors - Function ring=UniformMagGroupsErrors(ring) +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/FIELDINTEGRAL +% testerr - Load lattice +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/GIRDERS +% testerr - Load lattice +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/LARGEERRLIST +% testerr - Load lattice +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/LARGEWAVELIST +% testcor - Load lattice +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/MULTIPOLES +% testerr - Load lattice +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/RANDOM +% atsetrandomerrors - Function rerr=atsetrandomerrors(.. +% seterrorrand - Nominal lattice +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/SURVEY +% SetESRFAlgeAlignmentError - Function SetESRFAlgeAlignmentError(.. +% testerr - Load lattice +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/TILT +% compRotCorVsDip - Load lattice +% compRotCorVsDipQuad - Load lattice +% testerr - Load lattice +% testerrRotCorrector - Load lattice +% +% AT/ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/WAVE +% atsetwaveerrors - Function rerr=atsetwaveerrors(.. +% seterrorwave - Nominal lattice +% +% AT/ATMAT/PUBTOOLS/LOCAL_LATTICE_PARAMS +% atmakeXYProjectionEllipse - Gives points to plot the contour ellipses +% machine_at - Machine AT will return the optics of the lattice. Essentially takes what +% plotContours - Plots contours +% +% AT/ATMAT/PUBTOOLS/VACUUMLIFETIME +% VacLifetimeResidualGass - Coloumb scattering and residual gas Bremsstrahlung Cross sections are +% +% AT/ATOCTAVE +% atmexall - Build all AT platform dependent mex-files from C-sources +% atparticle - Particle definition for AT +% bootstrap - Prepare Octave for AT +% endsWith - True if text ends with pattern +% isstring - Determine whether input is string array +% octaveVersion - Get major and minor version numbers +% startsWith - True if text starts with pattern +% +% AT/BUILD/LIB.MACOSX-13-X86_64-CPYTHON-39/MACHINE_DATA +% macosx-13-x86_64-cpython-39/machine_data.australian_synchrotron +% macosx-13-x86_64-cpython-39/machine_data.esrf +% macosx-13-x86_64-cpython-39/machine_data.soleil +% macosx-13-x86_64-cpython-39/machine_data.thomx +% +% AT/DEVELOPER/MATLAB +% atchapters - Describe the User Guide chapters +% atclearmex - Remove all AT mex-files +% atrelease - RELEASE build, test and package a the AT package +% gen_help - Build the "help" infrastructure +% gen_list - Display a list of still non-documented AT functions +% gen_toc - Build the HTML files used by the Matlab help browser +% h1_line - Get the H1 line for a file +% howtochapters - Describe the How to chapters +% setversion - Set the version of AT +% +% AT/DEVELOPER/MATLAB/M +% atelemcreate - Element creation +% atelemfuncs - Element manipulation +% atlatticefuncs - Lattice manipulation +% atlinearoptics - Linear optics +% atloadsave - Loading and Saving lattices +% atphysics - Physics +% atradiation - Radiation +% atsummary - Parameter summary +% howtosummary - How to… +% ugsummary - AT User Guide +% +% AT/DOC +% talk +% +% AT/MACHINE_DATA +% australian_synchrotron +% dba - Create dba lattice +% esrf +% FODO - P1Dr=atdrift('Dr',0.1); +% soleil - Loads SOLEIL lattice +% sp3v81f - All the dipole and quadrupole lengths are effective lengths +% spear2 - Example lattice definition file +% spear2rad - Example lattice definition file with CAVITY and CLASSICAL radiation +% spear2resp - Example SPEAR2 lattice with orbit correctors and BPMS +% spear3 - Load the SPEAR3 lattice structure +% thomx +% +% AT/PYAT/MACHINE_DATA +% australian_synchrotron +% esrf +% soleil +% thomx +% +% AT/PYAT/TEST_MATLAB +% pyproxy - Convert structures to a form accessible in python +% +% AT/UTILS/MPI_SWEEP +% mpi_sweep_octave +% mpi_sweep_octave_example - D%d", i, j); +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:15. + + + diff --git a/ToolboxPackagingConfiguration.prj b/ToolboxPackagingConfiguration.prj index 0ed33d6bd..d43badbf8 100644 --- a/ToolboxPackagingConfiguration.prj +++ b/ToolboxPackagingConfiguration.prj @@ -16,7 +16,7 @@ AT is based on a 6-D modular tracking engine written in C/C++ for efficiency. La View on GitHub ${PROJECT_ROOT}/developer/matlab/AT.png - 2.4 + 2.5 ${PROJECT_ROOT}/Accelerator Toolbox.mltbx @@ -43,6 +43,9 @@ View on GitHub % **/*.bak .* **/.* +_custom_build +build +dist atoctave developer doc @@ -50,6 +53,7 @@ jupyter pyat resources utils +wheelhouse *.md **/*.md **/*.rst @@ -57,11 +61,15 @@ utils **/*.mex* **/*.py docs/_* +docs/common docs/m docs/p docs/images docs/make.bat -docs/Makefile +docs/Makefile +MANIFEST.in +pyproject.toml +setup.cfg true <?xml version="1.0" encoding="utf-8"?> <examples> @@ -81,6 +89,7 @@ docs/Makefile / /developer/matlab + /machine_data/__pycache__ /docs/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.9/lib/concurrent-ruby/concurrent/concurrent_ruby.jar @@ -149,7 +158,7 @@ docs/Makefile - /Applications/MATLAB_R2022a.app + /Applications/MATLAB_R2023b.app @@ -168,7 +177,7 @@ docs/Makefile false false false - 12.5.1 + 13.6.1 false true maci64 diff --git a/atintegrators/Contents.m b/atintegrators/Contents.m new file mode 100644 index 000000000..ca44926ff --- /dev/null +++ b/atintegrators/Contents.m @@ -0,0 +1,39 @@ +% ATINTEGRATORS +% See also +% +% Contents file for ATINTEGRATORS and its subfolders. +% +% ATINTEGRATORS +% aperture - Creates a aperture element in old a AT version (Obsolete) +% BndStrMPoleSymplectic4Pass - .m Help file for BndStrMPoleSymplectic4Pass.c +% corrector - Creates a corrector element in old a AT version (Obsolete) +% drift - Creates a drift element in old a AT version (Obsolete) +% DriftPass - - Integrator for Drift spaces +% ExactHamiltonianPass - .m Help file for ExactHamiltonianPass.c +% GWigSymplecticPass - #ok +% GWigSymplecticRadPass - #ok +% hmonitor - Creates a horizontal monitor element in old AT version (Obsolete) +% idtable - (fname, Nslice, filename, Energy, method) +% idtable_global - IDTABLE Creates a RADIA-Map based element +% marker - Creates a marker element in old AT version (Obsolete) +% mChangeRefPass - Change the reference energy by scaling +% mDriftPass - Example of pass method in matlab +% mhdrload_bis - Loads data from an ASCII file containing multiple text +% mIdentityPass - MDRIFTPASS - example of pass method in matlab +% monitor - Creates a monitor element in old AT versions (Obsolete) +% multipole - Creates a thick multipole element in old AT versions (Obsolete) +% passmethodlist - Utility function for MATLAB Compiler +% passmethods - Returns a list of available AT passmethod functions in +% quadrupole - Creates a quadrupole element in old AT version (Obsolete) +% rbend - Creates a rectangular bend in old AT version (Obsolete) +% rbend2 - Creates rectangular bend with dipole fringe field in old AT versions (Obsolete) +% rbend3 - Creates a rectangular bend with different fringe fields at entrance +% rfcavity - Creates a RF cavity in older AT version +% sbend - Creates a sector bend element in old AT versions (Obsolete) +% sextupole - Creates a sextupole element in old AT versions (Obsolete) +% skewquad - Creates a skewquad element (alias to multipole) in old AT version (Obsolete) +% solenoid - Creates a solenoid element in old AT versions (Obsolete) +% vmonitor - Creates a vertical monitor element in old AT version (Obsolete) +% wiggler - (fname, Ltot, Lw, Bmax, Nstep, Nmeth, By, Bx, method,energy) +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:13. diff --git a/atmat/Contents.m b/atmat/Contents.m index adea5f5b9..936fcf359 100644 --- a/atmat/Contents.m +++ b/atmat/Contents.m @@ -1,9 +1,581 @@ % Accelerator Toolbox -% Version 2.4.1 (#667) 05-Oct-2023 -% -% atdiag - Tests AT intallation -% atdisplay - checks the verbosity level in the global variable GLOBVAL -% atmexall - build all AT platform dependent mex-files from C-sources -% atpath - Adds the AT directories to the MATLAB search path -% atroot - returns Accelerator Toolbox root directory -% isOctave - isOctave check if running Octave +% Version 2.5.0 (atcollab) 06-Nov-2023 +% +% Contents file for ATMAT and its subfolders. +% +% ATMAT +% at - Accelerator Toolbox +% atcavityoff - Switches RF cavities off +% atcavityon - ATRADON switches RF cavities on +% atdiag - Tests AT intallation +% atdisplay - Checks the verbosity level in the global variable GLOBVAL +% athelp - Generate the list of Accelerator Toolbox functions +% atm2html - MAKEDOC_HTML - Generate new MML, SOLEIL and AT HTML help files +% atmexall - Build all AT platform dependent mex-files from C-sources +% atpath - Adds the AT directories to the MATLAB search path +% atroot - Returns Accelerator Toolbox root directory +% atupdateContents - Updates Contents.m of AT directories +% getContents - Get the contents of a specified directory +% isOctave - Check if running Octave +% updateContents - Create a Contents.m file including subdirectories +% +% ATMAT/ATDEMOS +% +% ATMAT/ATDEMOS/ATFASTRING +% testatfastring - Demo of using atfastring for fast tracking +% +% ATMAT/ATDEMOS/ATMATCHEXAMPLES/BUMP +% run_BumpFit - Fit a bump using correctors +% +% ATMAT/ATDEMOS/ATMATCHEXAMPLES/EXAMPLEATMATCH +% betx - Get value of betx for Seq(indx) +% bety - Get value of bety for Seq(indx) +% dispx - Get value of horizontal dispersion for Seq(indx) +% getDispersion - Function [dx,dy]=getDispersion(THERING,bpmindx) +% mux +% runtotest_atmatch - Macro match dba test lattice beta functions and dispersion using +% VaryQuadFam +% +% ATMAT/ATDEMOS/ATMATCHEXAMPLES/MATCHCHROMATICITY +% run_matchChromaticity - Match chrmaticity +% +% ATMAT/ATDEMOS/GUI +% atslider - Is an example of a GUI control of multiple parameters in THERING +% demoknob - Illustrates the use of MATLAB GUI controls with AT +% +% ATMAT/ATDEMOS/IDMODELING +% add_ID - Adds IDelem at the beginning and subtracts the length from +% trackWithU35KickMap - Read in ESRF lattice +% +% ATMAT/ATDEMOS/OPTICSANDBEAMSIZES +% latticedemo - Self-running tutorial +% linoptdemo - Script illustrates the use of LINOPT +% ohmienvelopedemo - Illustrates the use of OHMIENVELOPE function +% +% ATMAT/ATDEMOS/RESPONSEMATRIX +% findrespmdemo - Response matrix demo +% +% ATMAT/ATDEMOS/TRACKING +% generateTrackData - Give some initial coordinates. Track through sample lattices +% test_openmp - Test the perfoemance of OpenMP +% testTracking - Test results of tracking against values previously computed +% trackingdemo - Self-running tutorial +% trackMultipleParticles - Time the tracking of multiple particles +% +% ATMAT/ATDEMOS/TRACKWITHIMPEDANCE +% makeBBR - SI units; +% testTrackBBR - Create a fast ring from ESRF lattice +% +% ATMAT/ATGUI +% intelem - Interactive element editor +% intlat - Interactive AT lattice editor +% +% ATMAT/ATMATCH +% atApplyVariation - Applies a series of variations to variables as described in +% atDisplayConstraintsChange - This funciton evaluates the contraints defined in Constraints for lattice +% atDisplayVariableChange - This functions retrives variable Values for two rings to compare +% atEvaluateConstraints - This funciton evaluates the contraints defined in Constraints for lattice +% atGetPenalty +% atGetVariableValue +% atlinconstraint - Generate a constraint on linear optics for atmatch +% atmatch - Function [.. +% atVariableBuilder - AtVarBuilder create a simple variable structure for use with atmatch +% +% ATMAT/ATPHYSICS +% atavedata - Average of optical functions on selected elements +% findrespm - Computes the change in the closed orbit due to parameter perturbations +% findspos - Returns longitudinal positions of accelerator lattice elements +% PhysConstant - Physical constants +% +% ATMAT/ATPHYSICS/COLLECTIVEEFFECTS +% atbeam - Generates a particle distribution according to a sigma matrix +% atsigma - Constructs a beam sigma matrix 2x2 4x4 or 6x6 +% +% ATMAT/ATPHYSICS/LINEAROPTICS +% amat - Find A matrix from one turn map matrix T such that: +% atdampingrates - Find tunes and damping rates from one map matrix with radiation +% atlinopt - Performs 4D linear analysis of the COUPLED lattices +% atlinopt2 - Performs the linear analysis of UNCOUPLED lattices +% atlinopt4 - Performs the 4D linear analysis of COUPLED lattices +% atlinopt6 - Performs linear analysis of the lattice +% beam22 - Computes the beam matrix from the 1-turn transfer matrix +% beam44 - Computes the coupled beam matrices +% find_betaoids - [H1 H2 H3]=find_betaoids(A) +% find_etaoids - Given the normalizing matrix A, we compute the etaoids +% find_inv_G - This function computes the invariants of a one turn map matrix +% find_inv_G_fromA - This function computes the invariant matrices G1,G2,G3 +% findelemm44 - Numerically finds the 4x4 transfer matrix of an element +% findelemm66 - Numerically finds the 6x6 transfer matrix of an element +% findm44 - Numerically finds the 4x4 transfer matrix of an accelerator lattice +% findm66 - Numerically finds the 6x6 transfer matrix of an accelerator lattice +% get_dispersion_from_etaoids - Computes dispersion functions (x,px,y,py) at refpts +% jmat - Compute antisymmetric Matrix [O 1; -1 0] +% linopt - Performs linear analysis of the COUPLED lattices +% mkSRotationMatrix - (PSI) coordinate transformation matrix +% plotbeta - Plots UNCOUPLED! beta-functions +% r_analysis - Return the phase for A standardization +% +% ATMAT/ATPHYSICS/LONGITUDINALDYNAMICS +% atBunchLength - Bunch length due to the potential well effect +% atRFacc - Computes RF acceptance of the ring +% atsetcavity - ATSECAVITY Set the parameters of RF cavities +% atSetCavityPhase - SETCAVITYPHASE Set the TimeLag attribute of RF cavities +% BunchLength - Bunch length due to the potential well effect +% cavityoff - Turns cavities OFF +% cavityon - Turns Cavities ON +% mcf - Momentum compaction factor +% nus - Computes synchrotron tune from RF parameters +% phis - Phase = phis(U0MeV,VrfMV) +% RFacc - Computes the RF acceptance with linear formula +% +% ATMAT/ATPHYSICS/NAFFLIB +% calcnaff - Computes NAFF decomposition for a phase space trajectory +% naff_cc - Compile nafflibrary for Matlab +% naff_example - Example to test naff within matlab +% nafflib - MATLAB to NAFF library +% +% ATMAT/ATPHYSICS/NONLINEARDYNAMICS +% atnuampl - Computes tune shift with amplitude +% computeRDT - Computes Hamiltonian resonance driving terms (RDTs) +% tunespaceplot - Draws a tune diagram +% +% ATMAT/ATPHYSICS/ORBIT +% findorbit - Find the closed orbit +% findorbit4 - Finds closed orbit in the 4-d transverse phase +% findorbit6 - Finds closed orbit in the full 6-d phase space +% findsyncorbit - Finds closed orbit, synchronous with the RF cavity +% plotcod - Closed Orbit Distortion +% xorbit_6 - Private function used by findorbit6 +% xorbit_ct - Private function used by findsyncorbit +% xorbit_dp - Private function used by findorbit4 +% +% ATMAT/ATPHYSICS/PARAMETERSUMMARYFUNCTIONS +% atsummary - Print out various parameters of the current AT lattice +% atx - Computes and displays global information +% RadIntegrals - Calcuate the contribution to the radiation integrals of a Wiggler +% ringpara - Print out various parameters of the current AT lattice +% twissline - Calculates linear optics functions for an UNCOUPLED transport line +% twissring - Calculates linear optics functions for an UNCOUPLED ring +% +% ATMAT/ATPHYSICS/RADIATION +% atdisable_6d - Switches radiation and cavity off +% atenable_6d - Switches RF and radiation on +% atenergy - Gets the lattice energy +% atgetU0 - Computes Energy loss per turn in eV +% atradoff - Obsolete: switches RF and radiation off +% atradon - Obsolete: switches RF and radiation on +% atsetenergy - (ring,Energy) sets the Energy field in all +% attapering - Scale magnet strengths +% check_6d - Check the presence of longitudinal motion in a lattice +% check_radiation - Obsolete: check the radiation state of a ring +% DipoleRadiation - Compute the radiation integrals in dipoles +% ElementRadiation - - Compute the radiation integrals in dipoles +% ElossRadiation - Compute the radiation integrals in EnergyLoss elements +% findelemraddiffm +% findmpoleraddiffmatrix - #ok +% findthickmpoleraddiffm +% findthinmpoleraddiffm +% getclass_6d - Private. Guess class for 6d motion +% ohmienvelope - Calculates equilibrium beam envelope in a +% quantumDiff - Compute the radiation-diffusion matrix +% radiationoff - Turns classical radiation OFF +% radiationon - Turns classical radiation ON +% thickmpoleraddiffm - FINDTHICKMPOLERADDIFFM +% thinmpoleraddiffm - FINDTHINMPOLERADDIFFM +% WigglerRadiation - Compute the radiation integrals in wigglers +% +% ATMAT/ATPHYSICS/TOUSCHEKPIWINSKI +% MomAperture_allRing - All Ring momentum aperture +% momentum_aperture_at - Function [deltamin, deltamax.. +% simpletestToucheckLT - Simple example of use of toucheck lifetime formula: +% TLT_IntPiw - Integral in Piwinski Formula for the Lifetime +% TLT_IntPiw_k - Integral in Piwinski Formula for the Lifetime with u=tan^2(k) +% TouschekPiwinskiLifeTime - Function [Tl,contributionsTL]=TouschekPiwinskiLifeTime(ring,dpp,Ib,...) +% +% ATMAT/ATPHYSICS/TUNEANDCHROMATICITY +% findtune - Get the tune value from turn by turn positions +% fitchrom2 - Fits chromaticity of THERING using 2 sextupole families +% fittune2 - Fits linear tunes of THERING using 2 quadrupole families +% intfft - Calculates the tune from interpolated FFT of the trajectory +% tunechrom - Computes linear tunes and chromaticities +% +% ATMAT/ATPLOT +% atbaseplot - Plots data generated by a user-supplied function +% atplot - Plots optical functions +% atplotsyn - Helper function for ATPLOT +% atreforbit - Keep track of the nominal reference orbit through displaced elements +% xplot - Private function used by atplot and atbaseplot +% +% ATMAT/ATPLOT/PLOTFUNCTIONS +% CurlyH - Function [H,Hv]=CurlyH(RING,dp,ind) +% CurlyHlindata - Function [H,Hv]=CurlyHlindata(lindata) +% plBeamSize - Plot H and V beam size +% plClosedOrbit - Plots H and V 4x4 closed orbit +% plCorrectorStrength - Plot PolynomB +% plEmitContrib - Plot H/rho³ at every dipole +% plenvelope - Plot beam envelope +% plot_betabeat - Function plot_betabeat(THERING_ref,THERING_mod) +% plot_trajectory - Plots particle trajectories +% plotAperture - Plots x and y aperture +% plotB0curlyh - Plot B and H +% plotbetadisp - Function [s,plotdata]=plotbetadisp(ring,dpp,plotfun,varargin) +% plotbetadispcurlyh - Plot beta, dispersion and H +% plotERAperture - Plot RApertures EApertures +% plotRDT +% plotsqrtbetadispcurlyh - Plot sqrt(beta), dispersion and H +% plotWdispP - Plot W functions +% plPolynomBComp - PlotBn coefficient with normalization +% plPolynomBSxtOct - Plots Bn for sextupole and octupole magnets +% plSigmaSigmap - Plots beam sizes and divergences +% pltouschek - Plots Touschek lifetime contribution +% plxi - #ok +% +% ATMAT/ATTESTS +% githubrun - Private. This script runs the AT test suite in a GitHub action. There is +% githubsetup - Private. Setup Matlab for AT tests in GitHib Actions +% pytests - Shared setup for the entire test class +% +% ATMAT/ATTRACK +% atpass - #ok +% linepass - Tracks particles through each element of the cell array LINE +% ringpass - Tracks particles through each element of the cell array RING +% +% ATMAT/ATUTILS +% atoptions - Definition of default parameters +% frequency_control - Private. Handle off-momentum for 6D lattice +% getargs - Process positional arguments from the input arguments +% getdparg - Handle positional dp arguments +% getenvopt - (NAME, DEFAULTVALUE) +% getflag - Check the presence of a flag in an argument list +% getoption - Extract a keyword argument from an argument list +% opticsoptions - (private) extract arguments for atlinopt +% parseargs - Check and expands optional argument lists +% setoption - Set AT preference values +% wrapper6d - Private. Handle off-momentum for 6D lattice +% +% ATMAT/LATTICE +% at2py - ELSTR=AT2PY(ELEM) convert AT element tp pyat +% at2str - Makes the string representation of an AT element +% ataddmpolecomppoly - Adds a multipole component to an existing polynomial, +% ataddmpoleerrors - Ataddrandmpole adds a random multipole component to all elements of type +% atCheckRingProperties - Get the ring properties if existing +% atdivelem - Divide an element into pieces +% atelem - Makes a new AT element structure from another element, +% atfastring - Generate simplified AT structures +% atfitchrom - Fit chromaticites by scaling 2 sextupole families +% atfittune - Fit linear tunes by scaling 2 quadrupole families +% atgetcells - Performs a search on MATLAB cell arrays of structures +% atgetfieldvalues - Retrieves the field values AT cell array of elements +% atGetRingProperties - Get the ring properties +% atguessclass - Tries to determine the class of an element +% atindex - Extracts the information about element families and +% atinsertelems - Insert elements at given locations in a line +% atloadfielderrs - Will load a field error structure into a ring +% atloadlattice - Load a lattice from a file +% atlocateparam - Private function. Locate the RingParam element +% atmaincavities - Get the fundamental mode cavities +% atmakefielderrstruct - MAKERNDFIELDERRS will create a field error data structure +% atparamscan - Private function. Updates the RingParam element +% atparticle - Particle definition for AT +% atreduce - Remove useless elements from an AT structure +% atrotatelattice - Circularly shift the lattice elements +% atsbreak - Insert markers at given s positions in a lattice +% atsetfieldvalues - Sets the field values of MATLAB cell array of structures +% atsetRFCavity - Set the RF Cavity with the passmethod RFCavityPass +% atSetRingProperties - Add or modify properties of the lattice +% atsetshift - Sets the misalignment vectors +% atsettilt - Sets the entrance and exit rotation matrices +% atshiftelem - Set new displacement parameters +% atsimplering - Creates a "simple ring" +% atsplitelem - Creates a line by inserting one or more elements into a base element +% attiltelem - Sets new rotation parameters +% atwritem - Creates a .m file to store an AT structure +% atwritepy - Creates pyAT lattice from a Matlab lattice +% buildlat - Places elements from FAMLIST into cell array THERING +% combinebypassmethod - Combines adjacent elements that have the same specified pass method +% combinelinear45 - Combines adjacent elements that use 4-by-5 PassMethods +% entrancefields - () Return the list of field names affecting the element entrance +% exitfields - () Return the list of field names affecting the element exit +% findcells - Performs a search on MATLAB cell arrays of structures +% findtags - Looks for string matches in 'Tag' field of AT lattice elements +% getcellstruct - Retrieves the field values MATLAB cell array of structures +% insertelem0 - - quick and dirty: +% insertindrift - Inserts one or more elements into a drift element +% isatelem - Tests if an input argument is a valid AT element +% isatlattice - Tests if an input argument is a valid AT lattice +% mergedrift - Removes a lattice element and merges the two adjacent drift spaces +% mvelem - Move an element +% mvfield - Move fields from one structure to another +% rmelem0 - Removes elements of length 0 from the accelerator lattice +% setcellstruct - Sets the field values of MATLAB cell array of structures +% setshift - Sets the misalignment vectors T1, T2 for elements +% settags - Sets the 'Tag' field in AT lattice elements +% settilt - Sets the entrance and exit misalignment matrixes +% splitdrift - Inserts an element into a drift space +% symplectify - Makes a matrix more symplectic +% +% ATMAT/LATTICE/CONVERTERS +% readmad - Reads the file output of MAD commands +% +% ATMAT/LATTICE/CONVERTERS/AT2ELEGANT +% AT_2_Elegant - This functions converts the AT lattice AT_ring in elegant form +% +% ATMAT/LATTICE/CONVERTERS/AT2G4BL +% ATtoG4BL - Function [outtext]=ATtoG4BL(P_0,particle,folder) +% +% ATMAT/LATTICE/CONVERTERS/AT2MAD8 +% AT_2_mad8 - Function [elelat,def,lines]=AT_2_mad8(AT_ring,linename) +% +% ATMAT/LATTICE/CONVERTERS/AT2MADX +% AT_2_madX - Function [elelat,defs,lines]=AT_2_madX(AT_ring,linename) +% +% ATMAT/LATTICE/CONVERTERS/AT2OPA +% AT_2_OPA - Function AT_2_OPA(AT_ring,linename) +% +% ATMAT/LATTICE/CONVERTERS/ELEGANT2AT +% ele2at_run_me - Test_elegant_converter +% elegant2at - Function elegant2at(elegantlattice,E0,outfilename) +% ParseAtributesELEGANT_2_AT - Determines atribute and sets field in sxs{i} structure AT +% +% ATMAT/LATTICE/CONVERTERS/MAD82MADX +% mad8TOmadx - Converts mad8 sequence files to madX +% +% ATMAT/LATTICE/CONVERTERS/MADX2AT +% atfrommadx - Function atfrommadx(seqfilemadX,E0,outfilename) +% buildATLattice - Given a list (cell array) of elements with specified field Spos (center of element (madx default)) in a +% ParseAtributesMADX_2_AT - Determines atribute and sets field in sxs{i} structure AT +% reshapeToCellArray - If CEL_CEL is a cell array of structures and cell arrays it converts it a +% +% ATMAT/LATTICE/CONVERTERS/MADX2AT/EXAMPLES +% convertMADXtoATExample - Simple lattice test (uncomment to run) +% +% ATMAT/LATTICE/CONVERTERS/MADX2G4BL +% madx2g4bl - Function [outtext]=madx2g4bl(P_0,particle,folder) +% +% ATMAT/LATTICE/ELEMENT_CREATION +% ataperture - Creates a aperture element +% atbaselem - Create an AT element structure + various checks +% atcorrector - Creates a drift space element with class 'Corrector' +% atdampMatElem - Creates an element that applies the global damping matrix +% atdrift - Creates a drift space element with Class 'Drift' +% atenergyloss - Creates an energy loss element +% atidtable - Creates an ID element +% atinsertiondevicekickmap - Creates an insertion device kick-map element +% atM66 - Create an element applying an arbitrary 6x6 transfer matrix +% atM66Tijk - ATM66(FAMNAME,M66,Tijk,PASSMETHOD) +% atmarker - Creates a marker space element +% atmonitor - Creates a Beam Position Monitor element with Class 'Monitor' +% atmultipole - Creates a multipole element +% atquadrupole - Creates a quadrupole element with Class 'Quadrupole' +% atQuantDiff - Creates a quantum diffusion element +% atrbend - Creates a rectangular bending magnet element with class 'Bend' +% atrbendtune - Set X0ref and RefDZ for rectangular bending magnets +% atrfcavity - Creates an rfcavity element with Class 'RFCavity' +% atringparam - Creates a RingParameter Element which should go at the beginning of the ring +% atsbend - Creates a sector bending magnet element with class 'Bend' +% atsextupole - Creates a sextupole element with class 'Sextupole' +% atSimpleQuantDiff - SimpleQuantDiff creates a simple quantum difusion element +% atskewquad - Creates a skew quadrupole element with Class 'Multipole' +% atsolenoid - Creates a new solenoid element with Class 'Solenoid' +% atthinmultipole - Creates a thin multipole element +% atvariablemultipole - Creates a variable thin multipole element +% atwiggler - Creates a wiggler +% +% ATMAT/LATTICE/ELEMENT_CREATION/PRIVATE +% decodeatargs - Separates arguments and resources +% +% ATMAT/LATTICE/PARAMGROUP +% atparamgroup - PARAMETER GROUP in AT is a general way +% mkparamgroup - Simplifies creation of AT parameter groups +% restoreparamgroup - Restores the values of multiple physical +% saveparamgroup - Saves the values of multiple physical +% setparamgroup - Modifies a group of parameters +% +% ATMAT/LATTICE/SURVEY +% atgeometry - Computes the 2-D position of all elements (no vertical bend) +% atgeometry3 - Computes the 3-D position of all elements +% +% ATMAT/PUBTOOLS +% atdynap - Compute the dynamic aperture +% atmomap - Find momentum aperture at start of ring +% atsurvey2spos - Returns closest lattics s coordinates to xycoord points +% atundulator - Define undulator model +% atvalue - Extract array from lindata structure +% calc_dppAperture - Calculate the momentum aperture at each location of the ring due to +% calc_Touschek - TauT = calc_Touschek(THERING, Ib) +% calc_TouschekPM - TauT = calc_TouschekPM(TD,dppPM,Trf,Ib,U0,coupling, sigE, emit_x) +% freqsearch - ========================================================================= +% nlchromplot - Example: nlchromplot(esrf,-.04,.04,30,16,1) +% +% ATMAT/PUBTOOLS/APERTURE +% SetPhysicalAperture - Ringapert=SetPhysicalAperture(ring,apertureX,apertureY) +% +% ATMAT/PUBTOOLS/CREATE_ELEMS +% atidtable_dat - Atidtable(FamName, Nslice, filename, Energy, method) +% +% ATMAT/PUBTOOLS/DISTANCE2CURVE +% distance2curve - Gets the minimum distance from a point to a general curvilinear n-dimensional arc +% +% ATMAT/PUBTOOLS/HAISSINSKI +% blength +% fitgaussian - GAUSSIAN_PARAM FITERR GAUSSFIT SIGERROR]= FITGAUSSIAN(DATA,[property_value_pair]); +% plothaissinski - [z lambda sigma mu] = HASSINSKYFIT(SIGMA0, R, L) +% Qval - Gives the unitless Q parameter needed to compute the +% +% ATMAT/PUBTOOLS/LATTICE_TOOLS +% atreadbeta - Reads a BETA file +% atsetglobval - Creates the global variable GLOBVAL and adds Energy +% scalesext - Newring=scalesext(ring,sextfam,scale) +% setsext - Newring=setsext(ring,fam,val); +% setsextall - Newring=setsextall(ring,fam,val); +% sext_sens_scan - Esrf(:) +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION +% qemsvd_mod - Function dq=qemsvd_mod(a,b,neig,plot) +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/CHROMATICITY +% atmatchchromdelta - Function arcchrom0=atmatchchromdelta(arc,c,sxtfams) +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/CORRECTION_CHAIN +% CorrectionChain - Corrected lattice +% DisplayCorrectionEffect - [d0,de,dc]=DisplayCorrectionEffect(.. +% testcorrectionchain - Test errors and correction functions +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/DISPERSION +% atcorrectdispersion - Function [.. +% testdispersioncorrection - Test errors and correction functions +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/DISPERSIONFREESTEERING +% atdispersionfreesteering - Function [.. +% testdispersionfreesteering - Test errors and correction functions +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/ORBIT +% atcorrectorbit +% testorbitbump - Test errors and correction functions +% testorbitcorrection - Test errors and correction functions +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/ORBITBUMPS/MATCHING +% BumpAtBPM - Function roff=BumpAtBPM(.. +% BumpAtBPM4D - Function roff=BumpAtBPM(.. +% testorbitbump - Test matching orbit bump +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/RDT +% atavedata_mod - ATAVEDATA Average of optical functions on selected elements +% atQuadRDTdispersioncorrection - - Make dispersion correction based on RDTs +% atRDTdispersioncorrection - Makes dispersion correction based on RDTs +% atRDTdispersionmeasuredcorrection - Makes correction of dispersion based on +% atSkewRDTdispersioncorrection - Function [.. +% EquivalentGradientsFromAlignments6D - Estimated normal quad gradients from sext offsets +% qemrdtresp_mod - QEMRDTRESP compute resonance driving terms at BPM locations +% semrdtresp_mod - SEMRDT compute resonance driving terms at BPM locations +% testRDTdispersionfreesteering - Test errors and correction functions +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/RESPONSE_MATRIX +% findrespmat - FINDRESPM_mod computes the change in the closed orbit due to parameter perturbations +% getresponsematrices - 1 AT lattice +% gettunechromatlinopt - Gets tunes and chromaticities from atlinopt +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/RFCAVITY +% atRFcorrection - Function [.. +% atsetRFCavityErr - ATSETRFCAVITY sets the RF Cavity with the passmethod RFCavityPass +% testsetRFCavityErr - Test errors and correction functions +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/TRAJECTORY +% atfirstturntrajectory - Makes first turn correction +% MatchLast2CorForFirstBPM - Takes the last two correctors to match the orbit and angle trajectory at +% Scan2x2DinCOD - [bestinputcoord]=ScanPosAngle(.. +% testorbitaftertrajectory - Test errors and correction functions +% testtrajectorycorrection - Test errors and correction functions +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/TUNE +% atmatchtunedelta - Function arcchrom0=atmatchtunedelta(arc,c,quadfams) +% fittunedelta2fam - Rerr=fittunedelta2fam(rerr,r0) +% testfittunedelta2fam - Test errors and correction functions +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS +% AssignFieldErr - Function r=AssignFieldErr(r,refpos,N,rho,BNn,ANn) +% atset_s_shift - Implements DS longitudinal position drift +% atsetbpmerr - Sets the misalignment vectors +% atsettiltdipole - Sets the entrance and exit rotation matrices +% bpm_matrices - Generate transformation matrices for BPM readings +% bpm_process - Compute BPM readings from the closed orbit +% finddispersion6Err - Gets 6D dispersion with bpm reading errors +% findorbit4Err - Gets 4x4 closed orbit with BPM errors +% findorbit6Err - Findorbit6 with bpm reading errors +% findtrajectory6Err - [t 6xNbpm array of trajectory +% setANYshift - Adds to the existing shift errors additional D +% setFieldIntegralError - Function rerr=setFieldIntegralError(r0,rerr,indx,order,Nsigma,sigmaperc) +% setGirderError - Rerr=setGirderError(r,pert,errval,mag_group) +% SetLargeErrorList - Sets given error list +% setTiltAbout - Sets tilt errors +% setTiltGirderAbout - Set Tilt error on a magnet +% setXshift - Set horizontal shifts for a element list +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/BPMERRORS +% testerr - Load lattice +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/DELTAS +% testerr - Load lattice +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/DXDY +% testerr - Load lattice +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/ERRORDISPLAYFUNCTIONS +% GetMisalignments - This function retrives 3 vectors, for x and y misalignments and tilts +% pltmisalignments - #ok +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/ERRORSMANIPULATION +% GetExistingErrors - This function retrives 6 vectors, for x, y,s misalignments, +% getMagGroupsFromGirderIndex - Gets magnets on a girder +% getMagGroupsFromMagNum - - Gets magnet from a Magnet group +% setBpmOffsetOnDipoleRef - Set bpm on curve defined by dipole misalignments +% SetExistingError - Function SetExistingError(rerr,magindex,X0,Y0,S0,T0,R0,P0,bpm0) +% SumErrors - Rsum=SumErrors(r1,r2,magindex) +% ThetaPhiGirder - Rtp=ThetaPhiGirder(r,mag_gr) +% UniformGirderErrors - Function ring=UniformGirderErrors(ring) +% UniformMagGroupsErrors - Function ring=UniformMagGroupsErrors(ring) +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/FIELDINTEGRAL +% testerr - Load lattice +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/GIRDERS +% testerr - Load lattice +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/LARGEERRLIST +% testerr - Load lattice +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/LARGEWAVELIST +% testcor - Load lattice +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/MULTIPOLES +% testerr - Load lattice +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/RANDOM +% atsetrandomerrors - Function rerr=atsetrandomerrors(.. +% seterrorrand - Nominal lattice +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/SURVEY +% SetESRFAlgeAlignmentError - Function SetESRFAlgeAlignmentError(.. +% testerr - Load lattice +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/TILT +% compRotCorVsDip - Load lattice +% compRotCorVsDipQuad - Load lattice +% testerr - Load lattice +% testerrRotCorrector - Load lattice +% +% ATMAT/PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/WAVE +% atsetwaveerrors - Function rerr=atsetwaveerrors(.. +% seterrorwave - Nominal lattice +% +% ATMAT/PUBTOOLS/LOCAL_LATTICE_PARAMS +% atmakeXYProjectionEllipse - Gives points to plot the contour ellipses +% machine_at - Machine AT will return the optics of the lattice. Essentially takes what +% plotContours - Plots contours +% +% ATMAT/PUBTOOLS/VACUUMLIFETIME +% VacLifetimeResidualGass - Coloumb scattering and residual gas Bremsstrahlung Cross sections are +% +% This file was generated by updateContents.m on 05 Nov 2023 at 22:34:15. diff --git a/atmat/at.m b/atmat/at.m index a8a3453f4..9558ea393 100644 --- a/atmat/at.m +++ b/atmat/at.m @@ -1,5 +1,5 @@ % Accelerator Toolbox -% Version 2.4.1 (#667) 05-Oct-2023 +% Version 2.5.0 (atcollab) 06-Nov-2023 % % The Accelerator Toolbox was originally created by Andrei Terebilo. % Development is now continued by a multi-laboratory collaboration, atcollab diff --git a/atmat/atdemos/Contents.m b/atmat/atdemos/Contents.m index 16f8643ec..f8dccead0 100644 --- a/atmat/atdemos/Contents.m +++ b/atmat/atdemos/Contents.m @@ -1,2 +1,51 @@ -%% -% Help for atdemos \ No newline at end of file +% ATDEMOS +% See also +% +% Contents file for ATDEMOS and its subfolders. +% +% ATDEMOS/ATFASTRING +% testatfastring - Demo of using atfastring for fast tracking +% +% ATDEMOS/ATMATCHEXAMPLES/BUMP +% run_BumpFit - Fit a bump using correctors +% +% ATDEMOS/ATMATCHEXAMPLES/EXAMPLEATMATCH +% betx - Get value of betx for Seq(indx) +% bety - Get value of bety for Seq(indx) +% dispx - Get value of horizontal dispersion for Seq(indx) +% getDispersion - Function [dx,dy]=getDispersion(THERING,bpmindx) +% mux +% runtotest_atmatch - Macro match dba test lattice beta functions and dispersion using +% VaryQuadFam +% +% ATDEMOS/ATMATCHEXAMPLES/MATCHCHROMATICITY +% run_matchChromaticity - Match chrmaticity +% +% ATDEMOS/GUI +% atslider - Is an example of a GUI control of multiple parameters in THERING +% demoknob - Illustrates the use of MATLAB GUI controls with AT +% +% ATDEMOS/IDMODELING +% add_ID - Adds IDelem at the beginning and subtracts the length from +% trackWithU35KickMap - Read in ESRF lattice +% +% ATDEMOS/OPTICSANDBEAMSIZES +% latticedemo - Self-running tutorial +% linoptdemo - Script illustrates the use of LINOPT +% ohmienvelopedemo - Illustrates the use of OHMIENVELOPE function +% +% ATDEMOS/RESPONSEMATRIX +% findrespmdemo - Response matrix demo +% +% ATDEMOS/TRACKING +% generateTrackData - Give some initial coordinates. Track through sample lattices +% test_openmp - Test the perfoemance of OpenMP +% testTracking - Test results of tracking against values previously computed +% trackingdemo - Self-running tutorial +% trackMultipleParticles - Time the tracking of multiple particles +% +% ATDEMOS/TRACKWITHIMPEDANCE +% makeBBR - SI units; +% testTrackBBR - Create a fast ring from ESRF lattice +% +% This file was generated by updateContents.m on 05 Nov 2023 at 22:34:11. diff --git a/atmat/atgui/Contents.m b/atmat/atgui/Contents.m new file mode 100644 index 000000000..3b32bed5d --- /dev/null +++ b/atmat/atgui/Contents.m @@ -0,0 +1,10 @@ +% ATGUI +% See also +% +% Contents file for ATGUI and its subfolders. +% +% ATGUI +% intelem - Interactive element editor +% intlat - Interactive AT lattice editor +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:12. diff --git a/atmat/atm2html.m b/atmat/atm2html.m index a8cb1743b..c955d933a 100644 --- a/atmat/atm2html.m +++ b/atmat/atm2html.m @@ -7,9 +7,11 @@ function atm2html(varargin) % 2. Update history.txt appropriately, including w current version % 3. Update overview.html file with the version/date/link to zip: % edit external/m2html/templates/at/about.html +% 4. Need to install graphviz fro graph dependency +% see: https://graphviz.org/ % -% Written by Laurent S. Nadolski +%% Written by Laurent S. Nadolski Options = {... 'htmldir','doc_html', ... @@ -19,11 +21,11 @@ function atm2html(varargin) 'todo', 'on', ... 'globalHypertextLinks', 'on', ... 'helptocxml', 'on', ... - 'template', 'frame-at'... % template for AT + 'template', 'frame'... % template for AT 'index','menu', ... % this part in mandatory with frame 'global', 'on', ... 'save', 'on', ... - 'download','off', ... + 'download','on', ... 'search', 'off', ... % does not work properly 'verbose', 'on', ... 'syntaxHighlighting', 'on', ... @@ -41,7 +43,7 @@ function atm2html(varargin) cd .. try - if isdir('doc_html') + if isfolder('doc_html') rmdir('doc_html','s'); end catch diff --git a/atmat/atmatch/Contents.m b/atmat/atmatch/Contents.m new file mode 100644 index 000000000..511654ec5 --- /dev/null +++ b/atmat/atmatch/Contents.m @@ -0,0 +1,17 @@ +% ATMATCH +% See also +% +% Contents file for ATMATCH and its subfolders. +% +% ATMATCH +% atApplyVariation - Applies a series of variations to variables as described in +% atDisplayConstraintsChange - This funciton evaluates the contraints defined in Constraints for lattice +% atDisplayVariableChange - This functions retrives variable Values for two rings to compare +% atEvaluateConstraints - This funciton evaluates the contraints defined in Constraints for lattice +% atGetPenalty +% atGetVariableValue +% atlinconstraint - Generate a constraint on linear optics for atmatch +% atmatch - Function [.. +% atVariableBuilder - AtVarBuilder create a simple variable structure for use with atmatch +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:12. diff --git a/atmat/atphysics/CollectiveEffects/Contents.m b/atmat/atphysics/CollectiveEffects/Contents.m new file mode 100644 index 000000000..9d390868d --- /dev/null +++ b/atmat/atphysics/CollectiveEffects/Contents.m @@ -0,0 +1,10 @@ +% COLLECTIVEEFFECTS +% See also +% +% Contents file for COLLECTIVEEFFECTS and its subfolders. +% +% COLLECTIVEEFFECTS +% atbeam - Generates a particle distribution according to a sigma matrix +% atsigma - Constructs a beam sigma matrix 2x2 4x4 or 6x6 +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:12. diff --git a/atmat/atphysics/Contents.m b/atmat/atphysics/Contents.m new file mode 100644 index 000000000..d4244eaa2 --- /dev/null +++ b/atmat/atphysics/Contents.m @@ -0,0 +1,124 @@ +% ATPHYSICS +% See also +% +% Contents file for ATPHYSICS and its subfolders. +% +% ATPHYSICS +% atavedata - Average of optical functions on selected elements +% findrespm - Computes the change in the closed orbit due to parameter perturbations +% findspos - Returns longitudinal positions of accelerator lattice elements +% PhysConstant - Physical constants +% +% ATPHYSICS/COLLECTIVEEFFECTS +% atbeam - Generates a particle distribution according to a sigma matrix +% atsigma - Constructs a beam sigma matrix 2x2 4x4 or 6x6 +% +% ATPHYSICS/LINEAROPTICS +% amat - Find A matrix from one turn map matrix T such that: +% atdampingrates - Find tunes and damping rates from one map matrix with radiation +% atlinopt - Performs 4D linear analysis of the COUPLED lattices +% atlinopt2 - Performs the linear analysis of UNCOUPLED lattices +% atlinopt4 - Performs the 4D linear analysis of COUPLED lattices +% atlinopt6 - Performs linear analysis of the lattice +% beam22 - Computes the beam matrix from the 1-turn transfer matrix +% beam44 - Computes the coupled beam matrices +% find_betaoids - [H1 H2 H3]=find_betaoids(A) +% find_etaoids - Given the normalizing matrix A, we compute the etaoids +% find_inv_G - This function computes the invariants of a one turn map matrix +% find_inv_G_fromA - This function computes the invariant matrices G1,G2,G3 +% findelemm44 - Numerically finds the 4x4 transfer matrix of an element +% findelemm66 - Numerically finds the 6x6 transfer matrix of an element +% findm44 - Numerically finds the 4x4 transfer matrix of an accelerator lattice +% findm66 - Numerically finds the 6x6 transfer matrix of an accelerator lattice +% get_dispersion_from_etaoids - Computes dispersion functions (x,px,y,py) at refpts +% jmat - Compute antisymmetric Matrix [O 1; -1 0] +% linopt - Performs linear analysis of the COUPLED lattices +% mkSRotationMatrix - (PSI) coordinate transformation matrix +% plotbeta - Plots UNCOUPLED! beta-functions +% r_analysis - Return the phase for A standardization +% +% ATPHYSICS/LONGITUDINALDYNAMICS +% atBunchLength - Bunch length due to the potential well effect +% atRFacc - Computes RF acceptance of the ring +% atsetcavity - ATSECAVITY Set the parameters of RF cavities +% atSetCavityPhase - SETCAVITYPHASE Set the TimeLag attribute of RF cavities +% BunchLength - Bunch length due to the potential well effect +% cavityoff - Turns cavities OFF +% cavityon - Turns Cavities ON +% mcf - Momentum compaction factor +% nus - Computes synchrotron tune from RF parameters +% phis - Phase = phis(U0MeV,VrfMV) +% RFacc - Computes the RF acceptance with linear formula +% +% ATPHYSICS/NAFFLIB +% calcnaff - Computes NAFF decomposition for a phase space trajectory +% naff_cc - Compile nafflibrary for Matlab +% naff_example - Example to test naff within matlab +% nafflib - MATLAB to NAFF library +% +% ATPHYSICS/NONLINEARDYNAMICS +% atnuampl - Computes tune shift with amplitude +% computeRDT - Computes Hamiltonian resonance driving terms (RDTs) +% tunespaceplot - Draws a tune diagram +% +% ATPHYSICS/ORBIT +% findorbit - Find the closed orbit +% findorbit4 - Finds closed orbit in the 4-d transverse phase +% findorbit6 - Finds closed orbit in the full 6-d phase space +% findsyncorbit - Finds closed orbit, synchronous with the RF cavity +% plotcod - Closed Orbit Distortion +% xorbit_6 - Private function used by findorbit6 +% xorbit_ct - Private function used by findsyncorbit +% xorbit_dp - Private function used by findorbit4 +% +% ATPHYSICS/PARAMETERSUMMARYFUNCTIONS +% atsummary - Print out various parameters of the current AT lattice +% atx - Computes and displays global information +% RadIntegrals - Calcuate the contribution to the radiation integrals of a Wiggler +% ringpara - Print out various parameters of the current AT lattice +% twissline - Calculates linear optics functions for an UNCOUPLED transport line +% twissring - Calculates linear optics functions for an UNCOUPLED ring +% +% ATPHYSICS/RADIATION +% atdisable_6d - Switches radiation and cavity off +% atenable_6d - Switches RF and radiation on +% atenergy - Gets the lattice energy +% atgetU0 - Computes Energy loss per turn in eV +% atradoff - Obsolete: switches RF and radiation off +% atradon - Obsolete: switches RF and radiation on +% atsetenergy - (ring,Energy) sets the Energy field in all +% attapering - Scale magnet strengths +% check_6d - Check the presence of longitudinal motion in a lattice +% check_radiation - Obsolete: check the radiation state of a ring +% DipoleRadiation - Compute the radiation integrals in dipoles +% ElementRadiation - - Compute the radiation integrals in dipoles +% ElossRadiation - Compute the radiation integrals in EnergyLoss elements +% findelemraddiffm +% findmpoleraddiffmatrix - #ok +% findthickmpoleraddiffm +% findthinmpoleraddiffm +% getclass_6d - Private. Guess class for 6d motion +% ohmienvelope - Calculates equilibrium beam envelope in a +% quantumDiff - Compute the radiation-diffusion matrix +% radiationoff - Turns classical radiation OFF +% radiationon - Turns classical radiation ON +% thickmpoleraddiffm - FINDTHICKMPOLERADDIFFM +% thinmpoleraddiffm - FINDTHINMPOLERADDIFFM +% WigglerRadiation - Compute the radiation integrals in wigglers +% +% ATPHYSICS/TOUSCHEKPIWINSKI +% MomAperture_allRing - All Ring momentum aperture +% momentum_aperture_at - Function [deltamin, deltamax.. +% simpletestToucheckLT - Simple example of use of toucheck lifetime formula: +% TLT_IntPiw - Integral in Piwinski Formula for the Lifetime +% TLT_IntPiw_k - Integral in Piwinski Formula for the Lifetime with u=tan^2(k) +% TouschekPiwinskiLifeTime - Function [Tl,contributionsTL]=TouschekPiwinskiLifeTime(ring,dpp,Ib,...) +% +% ATPHYSICS/TUNEANDCHROMATICITY +% findtune - Get the tune value from turn by turn positions +% fitchrom2 - Fits chromaticity of THERING using 2 sextupole families +% fittune2 - Fits linear tunes of THERING using 2 quadrupole families +% intfft - Calculates the tune from interpolated FFT of the trajectory +% tunechrom - Computes linear tunes and chromaticities +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:12. diff --git a/atmat/atphysics/LinearOptics/Contents.m b/atmat/atphysics/LinearOptics/Contents.m new file mode 100644 index 000000000..62ffa7ff2 --- /dev/null +++ b/atmat/atphysics/LinearOptics/Contents.m @@ -0,0 +1,30 @@ +% LINEAROPTICS +% See also +% +% Contents file for LINEAROPTICS and its subfolders. +% +% LINEAROPTICS +% amat - Find A matrix from one turn map matrix T such that: +% atdampingrates - Find tunes and damping rates from one map matrix with radiation +% atlinopt - Performs 4D linear analysis of the COUPLED lattices +% atlinopt2 - Performs the linear analysis of UNCOUPLED lattices +% atlinopt4 - Performs the 4D linear analysis of COUPLED lattices +% atlinopt6 - Performs linear analysis of the lattice +% beam22 - Computes the beam matrix from the 1-turn transfer matrix +% beam44 - Computes the coupled beam matrices +% find_betaoids - [H1 H2 H3]=find_betaoids(A) +% find_etaoids - Given the normalizing matrix A, we compute the etaoids +% find_inv_G - This function computes the invariants of a one turn map matrix +% find_inv_G_fromA - This function computes the invariant matrices G1,G2,G3 +% findelemm44 - Numerically finds the 4x4 transfer matrix of an element +% findelemm66 - Numerically finds the 6x6 transfer matrix of an element +% findm44 - Numerically finds the 4x4 transfer matrix of an accelerator lattice +% findm66 - Numerically finds the 6x6 transfer matrix of an accelerator lattice +% get_dispersion_from_etaoids - Computes dispersion functions (x,px,y,py) at refpts +% jmat - Compute antisymmetric Matrix [O 1; -1 0] +% linopt - Performs linear analysis of the COUPLED lattices +% mkSRotationMatrix - (PSI) coordinate transformation matrix +% plotbeta - Plots UNCOUPLED! beta-functions +% r_analysis - Return the phase for A standardization +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:12. diff --git a/atmat/atphysics/LongitudinalDynamics/Contents.m b/atmat/atphysics/LongitudinalDynamics/Contents.m new file mode 100644 index 000000000..1d679ca3c --- /dev/null +++ b/atmat/atphysics/LongitudinalDynamics/Contents.m @@ -0,0 +1,19 @@ +% LONGITUDINALDYNAMICS +% See also +% +% Contents file for LONGITUDINALDYNAMICS and its subfolders. +% +% LONGITUDINALDYNAMICS +% atBunchLength - Bunch length due to the potential well effect +% atRFacc - Computes RF acceptance of the ring +% atsetcavity - ATSECAVITY Set the parameters of RF cavities +% atSetCavityPhase - SETCAVITYPHASE Set the TimeLag attribute of RF cavities +% BunchLength - Bunch length due to the potential well effect +% cavityoff - Turns cavities OFF +% cavityon - Turns Cavities ON +% mcf - Momentum compaction factor +% nus - Computes synchrotron tune from RF parameters +% phis - Phase = phis(U0MeV,VrfMV) +% RFacc - Computes the RF acceptance with linear formula +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:12. diff --git a/atmat/atphysics/NonLinearDynamics/Contents.m b/atmat/atphysics/NonLinearDynamics/Contents.m new file mode 100644 index 000000000..6595eed51 --- /dev/null +++ b/atmat/atphysics/NonLinearDynamics/Contents.m @@ -0,0 +1,11 @@ +% NONLINEARDYNAMICS +% See also +% +% Contents file for NONLINEARDYNAMICS and its subfolders. +% +% NONLINEARDYNAMICS +% atnuampl - Computes tune shift with amplitude +% computeRDT - Computes Hamiltonian resonance driving terms (RDTs) +% tunespaceplot - Draws a tune diagram +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:12. diff --git a/atmat/atphysics/Orbit/Contents.m b/atmat/atphysics/Orbit/Contents.m new file mode 100644 index 000000000..abf06bebc --- /dev/null +++ b/atmat/atphysics/Orbit/Contents.m @@ -0,0 +1,16 @@ +% ORBIT +% See also +% +% Contents file for ORBIT and its subfolders. +% +% ORBIT +% findorbit - Find the closed orbit +% findorbit4 - Finds closed orbit in the 4-d transverse phase +% findorbit6 - Finds closed orbit in the full 6-d phase space +% findsyncorbit - Finds closed orbit, synchronous with the RF cavity +% plotcod - Closed Orbit Distortion +% xorbit_6 - Private function used by findorbit6 +% xorbit_ct - Private function used by findsyncorbit +% xorbit_dp - Private function used by findorbit4 +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:12. diff --git a/atmat/atphysics/ParameterSummaryFunctions/Contents.m b/atmat/atphysics/ParameterSummaryFunctions/Contents.m new file mode 100644 index 000000000..a32b177a6 --- /dev/null +++ b/atmat/atphysics/ParameterSummaryFunctions/Contents.m @@ -0,0 +1,14 @@ +% PARAMETERSUMMARYFUNCTIONS +% See also +% +% Contents file for PARAMETERSUMMARYFUNCTIONS and its subfolders. +% +% PARAMETERSUMMARYFUNCTIONS +% atsummary - Print out various parameters of the current AT lattice +% atx - Computes and displays global information +% RadIntegrals - Calcuate the contribution to the radiation integrals of a Wiggler +% ringpara - Print out various parameters of the current AT lattice +% twissline - Calculates linear optics functions for an UNCOUPLED transport line +% twissring - Calculates linear optics functions for an UNCOUPLED ring +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:12. diff --git a/atmat/atphysics/Radiation/Contents.m b/atmat/atphysics/Radiation/Contents.m new file mode 100644 index 000000000..2fb0264b4 --- /dev/null +++ b/atmat/atphysics/Radiation/Contents.m @@ -0,0 +1,33 @@ +% RADIATION +% See also +% +% Contents file for RADIATION and its subfolders. +% +% RADIATION +% atdisable_6d - Switches radiation and cavity off +% atenable_6d - Switches RF and radiation on +% atenergy - Gets the lattice energy +% atgetU0 - Computes Energy loss per turn in eV +% atradoff - Obsolete: switches RF and radiation off +% atradon - Obsolete: switches RF and radiation on +% atsetenergy - (ring,Energy) sets the Energy field in all +% attapering - Scale magnet strengths +% check_6d - Check the presence of longitudinal motion in a lattice +% check_radiation - Obsolete: check the radiation state of a ring +% DipoleRadiation - Compute the radiation integrals in dipoles +% ElementRadiation - - Compute the radiation integrals in dipoles +% ElossRadiation - Compute the radiation integrals in EnergyLoss elements +% findelemraddiffm +% findmpoleraddiffmatrix - #ok +% findthickmpoleraddiffm +% findthinmpoleraddiffm +% getclass_6d - Private. Guess class for 6d motion +% ohmienvelope - Calculates equilibrium beam envelope in a +% quantumDiff - Compute the radiation-diffusion matrix +% radiationoff - Turns classical radiation OFF +% radiationon - Turns classical radiation ON +% thickmpoleraddiffm - FINDTHICKMPOLERADDIFFM +% thinmpoleraddiffm - FINDTHINMPOLERADDIFFM +% WigglerRadiation - Compute the radiation integrals in wigglers +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:12. diff --git a/atmat/atphysics/TouschekPiwinski/Contents.m b/atmat/atphysics/TouschekPiwinski/Contents.m new file mode 100644 index 000000000..51f3332cc --- /dev/null +++ b/atmat/atphysics/TouschekPiwinski/Contents.m @@ -0,0 +1,14 @@ +% TOUSCHEKPIWINSKI +% See also +% +% Contents file for TOUSCHEKPIWINSKI and its subfolders. +% +% TOUSCHEKPIWINSKI +% MomAperture_allRing - All Ring momentum aperture +% momentum_aperture_at - Function [deltamin, deltamax.. +% simpletestToucheckLT - Simple example of use of toucheck lifetime formula: +% TLT_IntPiw - Integral in Piwinski Formula for the Lifetime +% TLT_IntPiw_k - Integral in Piwinski Formula for the Lifetime with u=tan^2(k) +% TouschekPiwinskiLifeTime - Function [Tl,contributionsTL]=TouschekPiwinskiLifeTime(ring,dpp,Ib,...) +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:12. diff --git a/atmat/atphysics/TuneAndChromaticity/Contents.m b/atmat/atphysics/TuneAndChromaticity/Contents.m new file mode 100644 index 000000000..b28c32b45 --- /dev/null +++ b/atmat/atphysics/TuneAndChromaticity/Contents.m @@ -0,0 +1,13 @@ +% TUNEANDCHROMATICITY +% See also +% +% Contents file for TUNEANDCHROMATICITY and its subfolders. +% +% TUNEANDCHROMATICITY +% findtune - Get the tune value from turn by turn positions +% fitchrom2 - Fits chromaticity of THERING using 2 sextupole families +% fittune2 - Fits linear tunes of THERING using 2 quadrupole families +% intfft - Calculates the tune from interpolated FFT of the trajectory +% tunechrom - Computes linear tunes and chromaticities +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:12. diff --git a/atmat/atphysics/nafflib/Contents.m b/atmat/atphysics/nafflib/Contents.m index c9fdf8b51..9aabdfe69 100644 --- a/atmat/atphysics/nafflib/Contents.m +++ b/atmat/atphysics/nafflib/Contents.m @@ -1,10 +1,12 @@ -% NAFF toolbox -% Version 2.0 SOLEIL version 2007 -% Copyright J. Laskar, IMCCE -% Astronomie et Systemes dynamiques -% This version can be freely used for AT distribution -% Reference papers -% J. Laskar, Icarus 88, 266-291, 1990 -% J. Laskar, Introduction to Frequency Map Analysis in the proceedings -% of 3DHAM95 NATO Advanced institute, S?Agaro, June 1995, -% C. Simo ? ed., 1999 +% NAFFLIB +% See also +% +% Contents file for NAFFLIB and its subfolders. +% +% NAFFLIB +% calcnaff - Computes NAFF decomposition for a phase space trajectory +% naff_cc - Compile nafflibrary for Matlab +% naff_example - Example to test naff within matlab +% nafflib - MATLAB to NAFF library +% +% This file was generated by updateContents.m on 05 Nov 2023 at 22:34:12. diff --git a/atmat/atphysics/nafflib/README b/atmat/atphysics/nafflib/README index f89014e1a..cff08d4d1 100644 --- a/atmat/atphysics/nafflib/README +++ b/atmat/atphysics/nafflib/README @@ -1,3 +1,13 @@ +Version 2.0 SOLEIL version 2007 +% Copyright J. Laskar, IMCCE +% Astronomie et Systemes dynamiques +% This version can be freely used for AT distribution +% Reference papers +% J. Laskar, Icarus 88, 266-291, 1990 +% J. Laskar, Introduction to Frequency Map Analysis in the proceedings +% of 3DHAM95 NATO Advanced institute, S?Agaro, June 1995, +% C. Simo ? ed., 1999 + 26/08/03 L. Nadolski, SOLEIL 2017-02-25 Updated with prerelease of AT 2.0 diff --git a/atmat/atplot/Contents.m b/atmat/atplot/Contents.m new file mode 100644 index 000000000..93bf8435e --- /dev/null +++ b/atmat/atplot/Contents.m @@ -0,0 +1,37 @@ +% ATPLOT +% See also +% +% Contents file for ATPLOT and its subfolders. +% +% ATPLOT +% atbaseplot - Plots data generated by a user-supplied function +% atplot - Plots optical functions +% atplotsyn - Helper function for ATPLOT +% atreforbit - Keep track of the nominal reference orbit through displaced elements +% xplot - Private function used by atplot and atbaseplot +% +% ATPLOT/PLOTFUNCTIONS +% CurlyH - Function [H,Hv]=CurlyH(RING,dp,ind) +% CurlyHlindata - Function [H,Hv]=CurlyHlindata(lindata) +% plBeamSize - Plot H and V beam size +% plClosedOrbit - Plots H and V 4x4 closed orbit +% plCorrectorStrength - Plot PolynomB +% plEmitContrib - Plot H/rho³ at every dipole +% plenvelope - Plot beam envelope +% plot_betabeat - Function plot_betabeat(THERING_ref,THERING_mod) +% plot_trajectory - Plots particle trajectories +% plotAperture - Plots x and y aperture +% plotB0curlyh - Plot B and H +% plotbetadisp - Function [s,plotdata]=plotbetadisp(ring,dpp,plotfun,varargin) +% plotbetadispcurlyh - Plot beta, dispersion and H +% plotERAperture - Plot RApertures EApertures +% plotRDT +% plotsqrtbetadispcurlyh - Plot sqrt(beta), dispersion and H +% plotWdispP - Plot W functions +% plPolynomBComp - PlotBn coefficient with normalization +% plPolynomBSxtOct - Plots Bn for sextupole and octupole magnets +% plSigmaSigmap - Plots beam sizes and divergences +% pltouschek - Plots Touschek lifetime contribution +% plxi - #ok +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:12. diff --git a/atmat/atplot/plotfunctions/Contents.m b/atmat/atplot/plotfunctions/Contents.m new file mode 100644 index 000000000..c03a79e01 --- /dev/null +++ b/atmat/atplot/plotfunctions/Contents.m @@ -0,0 +1,30 @@ +% PLOTFUNCTIONS +% See also +% +% Contents file for PLOTFUNCTIONS and its subfolders. +% +% PLOTFUNCTIONS +% CurlyH - Function [H,Hv]=CurlyH(RING,dp,ind) +% CurlyHlindata - Function [H,Hv]=CurlyHlindata(lindata) +% plBeamSize - Plot H and V beam size +% plClosedOrbit - Plots H and V 4x4 closed orbit +% plCorrectorStrength - Plot PolynomB +% plEmitContrib - Plot H/rho³ at every dipole +% plenvelope - Plot beam envelope +% plot_betabeat - Function plot_betabeat(THERING_ref,THERING_mod) +% plot_trajectory - Plots particle trajectories +% plotAperture - Plots x and y aperture +% plotB0curlyh - Plot B and H +% plotbetadisp - Function [s,plotdata]=plotbetadisp(ring,dpp,plotfun,varargin) +% plotbetadispcurlyh - Plot beta, dispersion and H +% plotERAperture - Plot RApertures EApertures +% plotRDT +% plotsqrtbetadispcurlyh - Plot sqrt(beta), dispersion and H +% plotWdispP - Plot W functions +% plPolynomBComp - PlotBn coefficient with normalization +% plPolynomBSxtOct - Plots Bn for sextupole and octupole magnets +% plSigmaSigmap - Plots beam sizes and divergences +% pltouschek - Plots Touschek lifetime contribution +% plxi - #ok +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:12. diff --git a/atmat/attrack/Contents.m b/atmat/attrack/Contents.m new file mode 100644 index 000000000..18559d05c --- /dev/null +++ b/atmat/attrack/Contents.m @@ -0,0 +1,11 @@ +% ATTRACK +% See also +% +% Contents file for ATTRACK and its subfolders. +% +% ATTRACK +% atpass - #ok +% linepass - Tracks particles through each element of the cell array LINE +% ringpass - Tracks particles through each element of the cell array RING +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:12. diff --git a/atmat/atupdateContents.m b/atmat/atupdateContents.m index a585ad983..f383ef325 100644 --- a/atmat/atupdateContents.m +++ b/atmat/atupdateContents.m @@ -5,22 +5,40 @@ ATROOT = fileparts(atroot); OLDDIR = pwd; -%Selects directories where to creat a Contents +%Selects directories where to create a Contents listOfFolderNames={ fullfile(ATROOT,'atmat', 'atdemos'), ... fullfile(ATROOT,'atmat', 'atgui'), ... fullfile(ATROOT,'atmat', 'atmatch'), ... + fullfile(ATROOT,'atmat', 'atutils'), ... fullfile(ATROOT,'atmat', 'atphysics'), ... + fullfile(ATROOT,'atmat', 'atphysics', 'CollectiveEffects'), ... + fullfile(ATROOT,'atmat', 'atphysics', 'LinearOptics'), ... + fullfile(ATROOT,'atmat', 'atphysics', 'LongitudinalDynamics'), ... + fullfile(ATROOT,'atmat', 'atphysics', 'Orbit'), ... + fullfile(ATROOT,'atmat', 'atphysics', 'ParameterSummaryFunctions'), ... + fullfile(ATROOT,'atmat', 'atphysics', 'TouschekPiwinski'), ... + fullfile(ATROOT,'atmat', 'atphysics', 'TuneAndChromaticity'), ... + fullfile(ATROOT,'atmat', 'atphysics', 'Radiation'), ... + fullfile(ATROOT,'atmat', 'atphysics', 'NonLinearDynamics'), ... + fullfile(ATROOT,'atmat', 'atphysics', 'nafflib'), ... fullfile(ATROOT,'atmat', 'atplot'), ... + fullfile(ATROOT,'atmat', 'atplot', 'plotfunctions'), ... fullfile(ATROOT,'atmat', 'attrack'), ... - fullfile(ATROOT,'atmat', 'pubtools'), ... fullfile(ATROOT,'atmat', 'lattice'), ... fullfile(ATROOT,'atmat', 'lattice', 'Converters'), ... fullfile(ATROOT,'atmat', 'lattice','element_creation'), ... + fullfile(ATROOT,'atmat', 'lattice','survey'), ... fullfile(ATROOT,'machine_data'), ... fullfile(ATROOT,'atintegrators'), ... fullfile(ATROOT,'atmat', 'pubtools'), ... fullfile(ATROOT,'atmat', 'pubtools', 'LatticeTuningFunctions'), ... + fullfile(ATROOT,'atmat', 'pubtools', 'VacuumLifetime'), ... + fullfile(ATROOT,'atmat', 'pubtools', 'distance2curve'), ... + fullfile(ATROOT,'atmat', 'pubtools', 'haissinski'), ... + fullfile(ATROOT,'atmat', 'pubtools', 'lattice_tools'), ... + fullfile(ATROOT,'atmat', 'pubtools', 'local_lattice_params'), ... + fullfile(ATROOT,'atmat', 'pubtools', 'create_elems'), ... fullfile(ATROOT,'atmat'), ... fullfile(ATROOT), ... }; @@ -31,6 +49,13 @@ updateContents(cd); end +myheaderstr = '% '; +dlmwrite('Contents.m',[myheaderstr 13 10 fileread('Contents.m')],'delimiter',''); +myheaderstr = '% Version 2.5.0 (atcollab) 05-Nov-2023'; +dlmwrite('Contents.m',[myheaderstr 13 10 fileread('Contents.m')],'delimiter',''); +myheaderstr = '% Accelerator Toolbox'; +dlmwrite('Contents.m',[myheaderstr 13 10 fileread('Contents.m')],'delimiter',''); + cd(OLDDIR); clear OLDIR ATROOT \ No newline at end of file diff --git a/atmat/atutils/Contents.m b/atmat/atutils/Contents.m new file mode 100644 index 000000000..3fbea992f --- /dev/null +++ b/atmat/atutils/Contents.m @@ -0,0 +1,19 @@ +% ATUTILS +% See also +% +% Contents file for ATUTILS and its subfolders. +% +% ATUTILS +% atoptions - Definition of default parameters +% frequency_control - Private. Handle off-momentum for 6D lattice +% getargs - Process positional arguments from the input arguments +% getdparg - Handle positional dp arguments +% getenvopt - (NAME, DEFAULTVALUE) +% getflag - Check the presence of a flag in an argument list +% getoption - Extract a keyword argument from an argument list +% opticsoptions - (private) extract arguments for atlinopt +% parseargs - Check and expands optional argument lists +% setoption - Set AT preference values +% wrapper6d - Private. Handle off-momentum for 6D lattice +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:12. diff --git a/atmat/lattice/Contents.m b/atmat/lattice/Contents.m new file mode 100644 index 000000000..24132b4b7 --- /dev/null +++ b/atmat/lattice/Contents.m @@ -0,0 +1,148 @@ +% LATTICE +% See also +% +% Contents file for LATTICE and its subfolders. +% +% LATTICE +% at2py - ELSTR=AT2PY(ELEM) convert AT element tp pyat +% at2str - Makes the string representation of an AT element +% ataddmpolecomppoly - Adds a multipole component to an existing polynomial, +% ataddmpoleerrors - Ataddrandmpole adds a random multipole component to all elements of type +% atCheckRingProperties - Get the ring properties if existing +% atdivelem - Divide an element into pieces +% atelem - Makes a new AT element structure from another element, +% atfastring - Generate simplified AT structures +% atfitchrom - Fit chromaticites by scaling 2 sextupole families +% atfittune - Fit linear tunes by scaling 2 quadrupole families +% atgetcells - Performs a search on MATLAB cell arrays of structures +% atgetfieldvalues - Retrieves the field values AT cell array of elements +% atGetRingProperties - Get the ring properties +% atguessclass - Tries to determine the class of an element +% atindex - Extracts the information about element families and +% atinsertelems - Insert elements at given locations in a line +% atloadfielderrs - Will load a field error structure into a ring +% atloadlattice - Load a lattice from a file +% atlocateparam - Private function. Locate the RingParam element +% atmaincavities - Get the fundamental mode cavities +% atmakefielderrstruct - MAKERNDFIELDERRS will create a field error data structure +% atparamscan - Private function. Updates the RingParam element +% atparticle - Particle definition for AT +% atreduce - Remove useless elements from an AT structure +% atrotatelattice - Circularly shift the lattice elements +% atsbreak - Insert markers at given s positions in a lattice +% atsetfieldvalues - Sets the field values of MATLAB cell array of structures +% atsetRFCavity - Set the RF Cavity with the passmethod RFCavityPass +% atSetRingProperties - Add or modify properties of the lattice +% atsetshift - Sets the misalignment vectors +% atsettilt - Sets the entrance and exit rotation matrices +% atshiftelem - Set new displacement parameters +% atsimplering - Creates a "simple ring" +% atsplitelem - Creates a line by inserting one or more elements into a base element +% attiltelem - Sets new rotation parameters +% atwritem - Creates a .m file to store an AT structure +% atwritepy - Creates pyAT lattice from a Matlab lattice +% buildlat - Places elements from FAMLIST into cell array THERING +% combinebypassmethod - Combines adjacent elements that have the same specified pass method +% combinelinear45 - Combines adjacent elements that use 4-by-5 PassMethods +% entrancefields - () Return the list of field names affecting the element entrance +% exitfields - () Return the list of field names affecting the element exit +% findcells - Performs a search on MATLAB cell arrays of structures +% findtags - Looks for string matches in 'Tag' field of AT lattice elements +% getcellstruct - Retrieves the field values MATLAB cell array of structures +% insertelem0 - - quick and dirty: +% insertindrift - Inserts one or more elements into a drift element +% isatelem - Tests if an input argument is a valid AT element +% isatlattice - Tests if an input argument is a valid AT lattice +% mergedrift - Removes a lattice element and merges the two adjacent drift spaces +% mvelem - Move an element +% mvfield - Move fields from one structure to another +% rmelem0 - Removes elements of length 0 from the accelerator lattice +% setcellstruct - Sets the field values of MATLAB cell array of structures +% setshift - Sets the misalignment vectors T1, T2 for elements +% settags - Sets the 'Tag' field in AT lattice elements +% settilt - Sets the entrance and exit misalignment matrixes +% splitdrift - Inserts an element into a drift space +% symplectify - Makes a matrix more symplectic +% +% LATTICE/CONVERTERS +% readmad - Reads the file output of MAD commands +% +% LATTICE/CONVERTERS/AT2ELEGANT +% AT_2_Elegant - This functions converts the AT lattice AT_ring in elegant form +% +% LATTICE/CONVERTERS/AT2G4BL +% ATtoG4BL - Function [outtext]=ATtoG4BL(P_0,particle,folder) +% +% LATTICE/CONVERTERS/AT2MAD8 +% AT_2_mad8 - Function [elelat,def,lines]=AT_2_mad8(AT_ring,linename) +% +% LATTICE/CONVERTERS/AT2MADX +% AT_2_madX - Function [elelat,defs,lines]=AT_2_madX(AT_ring,linename) +% +% LATTICE/CONVERTERS/AT2OPA +% AT_2_OPA - Function AT_2_OPA(AT_ring,linename) +% +% LATTICE/CONVERTERS/ELEGANT2AT +% ele2at_run_me - Test_elegant_converter +% elegant2at - Function elegant2at(elegantlattice,E0,outfilename) +% ParseAtributesELEGANT_2_AT - Determines atribute and sets field in sxs{i} structure AT +% +% LATTICE/CONVERTERS/MAD82MADX +% mad8TOmadx - Converts mad8 sequence files to madX +% +% LATTICE/CONVERTERS/MADX2AT +% atfrommadx - Function atfrommadx(seqfilemadX,E0,outfilename) +% buildATLattice - Given a list (cell array) of elements with specified field Spos (center of element (madx default)) in a +% ParseAtributesMADX_2_AT - Determines atribute and sets field in sxs{i} structure AT +% reshapeToCellArray - If CEL_CEL is a cell array of structures and cell arrays it converts it a +% +% LATTICE/CONVERTERS/MADX2AT/EXAMPLES +% convertMADXtoATExample - Simple lattice test (uncomment to run) +% +% LATTICE/CONVERTERS/MADX2G4BL +% madx2g4bl - Function [outtext]=madx2g4bl(P_0,particle,folder) +% +% LATTICE/ELEMENT_CREATION +% ataperture - Creates a aperture element +% atbaselem - Create an AT element structure + various checks +% atcorrector - Creates a drift space element with class 'Corrector' +% atdampMatElem - Creates an element that applies the global damping matrix +% atdrift - Creates a drift space element with Class 'Drift' +% atenergyloss - Creates an energy loss element +% atidtable - Creates an ID element +% atinsertiondevicekickmap - Creates an insertion device kick-map element +% atM66 - Create an element applying an arbitrary 6x6 transfer matrix +% atM66Tijk - ATM66(FAMNAME,M66,Tijk,PASSMETHOD) +% atmarker - Creates a marker space element +% atmonitor - Creates a Beam Position Monitor element with Class 'Monitor' +% atmultipole - Creates a multipole element +% atquadrupole - Creates a quadrupole element with Class 'Quadrupole' +% atQuantDiff - Creates a quantum diffusion element +% atrbend - Creates a rectangular bending magnet element with class 'Bend' +% atrbendtune - Set X0ref and RefDZ for rectangular bending magnets +% atrfcavity - Creates an rfcavity element with Class 'RFCavity' +% atringparam - Creates a RingParameter Element which should go at the beginning of the ring +% atsbend - Creates a sector bending magnet element with class 'Bend' +% atsextupole - Creates a sextupole element with class 'Sextupole' +% atSimpleQuantDiff - SimpleQuantDiff creates a simple quantum difusion element +% atskewquad - Creates a skew quadrupole element with Class 'Multipole' +% atsolenoid - Creates a new solenoid element with Class 'Solenoid' +% atthinmultipole - Creates a thin multipole element +% atvariablemultipole - Creates a variable thin multipole element +% atwiggler - Creates a wiggler +% +% LATTICE/ELEMENT_CREATION/PRIVATE +% decodeatargs - Separates arguments and resources +% +% LATTICE/PARAMGROUP +% atparamgroup - PARAMETER GROUP in AT is a general way +% mkparamgroup - Simplifies creation of AT parameter groups +% restoreparamgroup - Restores the values of multiple physical +% saveparamgroup - Saves the values of multiple physical +% setparamgroup - Modifies a group of parameters +% +% LATTICE/SURVEY +% atgeometry - Computes the 2-D position of all elements (no vertical bend) +% atgeometry3 - Computes the 3-D position of all elements +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:12. diff --git a/atmat/lattice/Converters/Contents.m b/atmat/lattice/Converters/Contents.m new file mode 100644 index 000000000..aa6f5945b --- /dev/null +++ b/atmat/lattice/Converters/Contents.m @@ -0,0 +1,44 @@ +% CONVERTERS +% See also +% +% Contents file for CONVERTERS and its subfolders. +% +% CONVERTERS +% readmad - Reads the file output of MAD commands +% +% CONVERTERS/AT2ELEGANT +% AT_2_Elegant - This functions converts the AT lattice AT_ring in elegant form +% +% CONVERTERS/AT2G4BL +% ATtoG4BL - Function [outtext]=ATtoG4BL(P_0,particle,folder) +% +% CONVERTERS/AT2MAD8 +% AT_2_mad8 - Function [elelat,def,lines]=AT_2_mad8(AT_ring,linename) +% +% CONVERTERS/AT2MADX +% AT_2_madX - Function [elelat,defs,lines]=AT_2_madX(AT_ring,linename) +% +% CONVERTERS/AT2OPA +% AT_2_OPA - Function AT_2_OPA(AT_ring,linename) +% +% CONVERTERS/ELEGANT2AT +% ele2at_run_me - Test_elegant_converter +% elegant2at - Function elegant2at(elegantlattice,E0,outfilename) +% ParseAtributesELEGANT_2_AT - Determines atribute and sets field in sxs{i} structure AT +% +% CONVERTERS/MAD82MADX +% mad8TOmadx - Converts mad8 sequence files to madX +% +% CONVERTERS/MADX2AT +% atfrommadx - Function atfrommadx(seqfilemadX,E0,outfilename) +% buildATLattice - Given a list (cell array) of elements with specified field Spos (center of element (madx default)) in a +% ParseAtributesMADX_2_AT - Determines atribute and sets field in sxs{i} structure AT +% reshapeToCellArray - If CEL_CEL is a cell array of structures and cell arrays it converts it a +% +% CONVERTERS/MADX2AT/EXAMPLES +% convertMADXtoATExample - Simple lattice test (uncomment to run) +% +% CONVERTERS/MADX2G4BL +% madx2g4bl - Function [outtext]=madx2g4bl(P_0,particle,folder) +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:13. diff --git a/atmat/lattice/element_creation/Contents.m b/atmat/lattice/element_creation/Contents.m new file mode 100644 index 000000000..db5a50623 --- /dev/null +++ b/atmat/lattice/element_creation/Contents.m @@ -0,0 +1,38 @@ +% ELEMENT_CREATION +% See also +% +% Contents file for ELEMENT_CREATION and its subfolders. +% +% ELEMENT_CREATION +% ataperture - Creates a aperture element +% atbaselem - Create an AT element structure + various checks +% atcorrector - Creates a drift space element with class 'Corrector' +% atdampMatElem - Creates an element that applies the global damping matrix +% atdrift - Creates a drift space element with Class 'Drift' +% atenergyloss - Creates an energy loss element +% atidtable - Creates an ID element +% atinsertiondevicekickmap - Creates an insertion device kick-map element +% atM66 - Create an element applying an arbitrary 6x6 transfer matrix +% atM66Tijk - ATM66(FAMNAME,M66,Tijk,PASSMETHOD) +% atmarker - Creates a marker space element +% atmonitor - Creates a Beam Position Monitor element with Class 'Monitor' +% atmultipole - Creates a multipole element +% atquadrupole - Creates a quadrupole element with Class 'Quadrupole' +% atQuantDiff - Creates a quantum diffusion element +% atrbend - Creates a rectangular bending magnet element with class 'Bend' +% atrbendtune - Set X0ref and RefDZ for rectangular bending magnets +% atrfcavity - Creates an rfcavity element with Class 'RFCavity' +% atringparam - Creates a RingParameter Element which should go at the beginning of the ring +% atsbend - Creates a sector bending magnet element with class 'Bend' +% atsextupole - Creates a sextupole element with class 'Sextupole' +% atSimpleQuantDiff - SimpleQuantDiff creates a simple quantum difusion element +% atskewquad - Creates a skew quadrupole element with Class 'Multipole' +% atsolenoid - Creates a new solenoid element with Class 'Solenoid' +% atthinmultipole - Creates a thin multipole element +% atvariablemultipole - Creates a variable thin multipole element +% atwiggler - Creates a wiggler +% +% ELEMENT_CREATION/PRIVATE +% decodeatargs - Separates arguments and resources +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:13. diff --git a/atmat/lattice/survey/Contents.m b/atmat/lattice/survey/Contents.m new file mode 100644 index 000000000..5de802a17 --- /dev/null +++ b/atmat/lattice/survey/Contents.m @@ -0,0 +1,10 @@ +% SURVEY +% See also +% +% Contents file for SURVEY and its subfolders. +% +% SURVEY +% atgeometry - Computes the 2-D position of all elements (no vertical bend) +% atgeometry3 - Computes the 3-D position of all elements +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:13. diff --git a/atmat/pubtools/Contents.m b/atmat/pubtools/Contents.m new file mode 100644 index 000000000..ad3860e93 --- /dev/null +++ b/atmat/pubtools/Contents.m @@ -0,0 +1,187 @@ +% PUBTOOLS +% See also +% +% Contents file for PUBTOOLS and its subfolders. +% +% PUBTOOLS +% atdynap - Compute the dynamic aperture +% atmomap - Find momentum aperture at start of ring +% atsurvey2spos - Returns closest lattics s coordinates to xycoord points +% atundulator - Define undulator model +% atvalue - Extract array from lindata structure +% calc_dppAperture - Calculate the momentum aperture at each location of the ring due to +% calc_Touschek - TauT = calc_Touschek(THERING, Ib) +% calc_TouschekPM - TauT = calc_TouschekPM(TD,dppPM,Trf,Ib,U0,coupling, sigE, emit_x) +% freqsearch - ========================================================================= +% nlchromplot - Example: nlchromplot(esrf,-.04,.04,30,16,1) +% +% PUBTOOLS/APERTURE +% SetPhysicalAperture - Ringapert=SetPhysicalAperture(ring,apertureX,apertureY) +% +% PUBTOOLS/CREATE_ELEMS +% atidtable_dat - Atidtable(FamName, Nslice, filename, Energy, method) +% +% PUBTOOLS/DISTANCE2CURVE +% distance2curve - Gets the minimum distance from a point to a general curvilinear n-dimensional arc +% +% PUBTOOLS/HAISSINSKI +% blength +% fitgaussian - GAUSSIAN_PARAM FITERR GAUSSFIT SIGERROR]= FITGAUSSIAN(DATA,[property_value_pair]); +% plothaissinski - [z lambda sigma mu] = HASSINSKYFIT(SIGMA0, R, L) +% Qval - Gives the unitless Q parameter needed to compute the +% +% PUBTOOLS/LATTICE_TOOLS +% atreadbeta - Reads a BETA file +% atsetglobval - Creates the global variable GLOBVAL and adds Energy +% scalesext - Newring=scalesext(ring,sextfam,scale) +% setsext - Newring=setsext(ring,fam,val); +% setsextall - Newring=setsextall(ring,fam,val); +% sext_sens_scan - Esrf(:) +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION +% qemsvd_mod - Function dq=qemsvd_mod(a,b,neig,plot) +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/CHROMATICITY +% atmatchchromdelta - Function arcchrom0=atmatchchromdelta(arc,c,sxtfams) +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/CORRECTION_CHAIN +% CorrectionChain - Corrected lattice +% DisplayCorrectionEffect - [d0,de,dc]=DisplayCorrectionEffect(.. +% testcorrectionchain - Test errors and correction functions +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/DISPERSION +% atcorrectdispersion - Function [.. +% testdispersioncorrection - Test errors and correction functions +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/DISPERSIONFREESTEERING +% atdispersionfreesteering - Function [.. +% testdispersionfreesteering - Test errors and correction functions +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/ORBIT +% atcorrectorbit +% testorbitbump - Test errors and correction functions +% testorbitcorrection - Test errors and correction functions +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/ORBITBUMPS/MATCHING +% BumpAtBPM - Function roff=BumpAtBPM(.. +% BumpAtBPM4D - Function roff=BumpAtBPM(.. +% testorbitbump - Test matching orbit bump +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/RDT +% atavedata_mod - ATAVEDATA Average of optical functions on selected elements +% atQuadRDTdispersioncorrection - - Make dispersion correction based on RDTs +% atRDTdispersioncorrection - Makes dispersion correction based on RDTs +% atRDTdispersionmeasuredcorrection - Makes correction of dispersion based on +% atSkewRDTdispersioncorrection - Function [.. +% EquivalentGradientsFromAlignments6D - Estimated normal quad gradients from sext offsets +% qemrdtresp_mod - QEMRDTRESP compute resonance driving terms at BPM locations +% semrdtresp_mod - SEMRDT compute resonance driving terms at BPM locations +% testRDTdispersionfreesteering - Test errors and correction functions +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/RESPONSE_MATRIX +% findrespmat - FINDRESPM_mod computes the change in the closed orbit due to parameter perturbations +% getresponsematrices - 1 AT lattice +% gettunechromatlinopt - Gets tunes and chromaticities from atlinopt +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/RFCAVITY +% atRFcorrection - Function [.. +% atsetRFCavityErr - ATSETRFCAVITY sets the RF Cavity with the passmethod RFCavityPass +% testsetRFCavityErr - Test errors and correction functions +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/TRAJECTORY +% atfirstturntrajectory - Makes first turn correction +% MatchLast2CorForFirstBPM - Takes the last two correctors to match the orbit and angle trajectory at +% Scan2x2DinCOD - [bestinputcoord]=ScanPosAngle(.. +% testorbitaftertrajectory - Test errors and correction functions +% testtrajectorycorrection - Test errors and correction functions +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/CORRECTION/TUNE +% atmatchtunedelta - Function arcchrom0=atmatchtunedelta(arc,c,quadfams) +% fittunedelta2fam - Rerr=fittunedelta2fam(rerr,r0) +% testfittunedelta2fam - Test errors and correction functions +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS +% AssignFieldErr - Function r=AssignFieldErr(r,refpos,N,rho,BNn,ANn) +% atset_s_shift - Implements DS longitudinal position drift +% atsetbpmerr - Sets the misalignment vectors +% atsettiltdipole - Sets the entrance and exit rotation matrices +% bpm_matrices - Generate transformation matrices for BPM readings +% bpm_process - Compute BPM readings from the closed orbit +% finddispersion6Err - Gets 6D dispersion with bpm reading errors +% findorbit4Err - Gets 4x4 closed orbit with BPM errors +% findorbit6Err - Findorbit6 with bpm reading errors +% findtrajectory6Err - [t 6xNbpm array of trajectory +% setANYshift - Adds to the existing shift errors additional D +% setFieldIntegralError - Function rerr=setFieldIntegralError(r0,rerr,indx,order,Nsigma,sigmaperc) +% setGirderError - Rerr=setGirderError(r,pert,errval,mag_group) +% SetLargeErrorList - Sets given error list +% setTiltAbout - Sets tilt errors +% setTiltGirderAbout - Set Tilt error on a magnet +% setXshift - Set horizontal shifts for a element list +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/BPMERRORS +% testerr - Load lattice +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/DELTAS +% testerr - Load lattice +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/DXDY +% testerr - Load lattice +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/ERRORDISPLAYFUNCTIONS +% GetMisalignments - This function retrives 3 vectors, for x and y misalignments and tilts +% pltmisalignments - #ok +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/ERRORSMANIPULATION +% GetExistingErrors - This function retrives 6 vectors, for x, y,s misalignments, +% getMagGroupsFromGirderIndex - Gets magnets on a girder +% getMagGroupsFromMagNum - - Gets magnet from a Magnet group +% setBpmOffsetOnDipoleRef - Set bpm on curve defined by dipole misalignments +% SetExistingError - Function SetExistingError(rerr,magindex,X0,Y0,S0,T0,R0,P0,bpm0) +% SumErrors - Rsum=SumErrors(r1,r2,magindex) +% ThetaPhiGirder - Rtp=ThetaPhiGirder(r,mag_gr) +% UniformGirderErrors - Function ring=UniformGirderErrors(ring) +% UniformMagGroupsErrors - Function ring=UniformMagGroupsErrors(ring) +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/FIELDINTEGRAL +% testerr - Load lattice +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/GIRDERS +% testerr - Load lattice +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/LARGEERRLIST +% testerr - Load lattice +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/LARGEWAVELIST +% testcor - Load lattice +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/MULTIPOLES +% testerr - Load lattice +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/RANDOM +% atsetrandomerrors - Function rerr=atsetrandomerrors(.. +% seterrorrand - Nominal lattice +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/SURVEY +% SetESRFAlgeAlignmentError - Function SetESRFAlgeAlignmentError(.. +% testerr - Load lattice +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/TILT +% compRotCorVsDip - Load lattice +% compRotCorVsDipQuad - Load lattice +% testerr - Load lattice +% testerrRotCorrector - Load lattice +% +% PUBTOOLS/LATTICETUNINGFUNCTIONS/ERRORS/WAVE +% atsetwaveerrors - Function rerr=atsetwaveerrors(.. +% seterrorwave - Nominal lattice +% +% PUBTOOLS/LOCAL_LATTICE_PARAMS +% atmakeXYProjectionEllipse - Gives points to plot the contour ellipses +% machine_at - Machine AT will return the optics of the lattice. Essentially takes what +% plotContours - Plots contours +% +% PUBTOOLS/VACUUMLIFETIME +% VacLifetimeResidualGass - Coloumb scattering and residual gas Bremsstrahlung Cross sections are +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:13. diff --git a/atmat/pubtools/LatticeTuningFunctions/Contents.m b/atmat/pubtools/LatticeTuningFunctions/Contents.m new file mode 100644 index 000000000..b82c0f386 --- /dev/null +++ b/atmat/pubtools/LatticeTuningFunctions/Contents.m @@ -0,0 +1,144 @@ +% LATTICETUNINGFUNCTIONS +% See also +% +% Contents file for LATTICETUNINGFUNCTIONS and its subfolders. +% +% LATTICETUNINGFUNCTIONS/CORRECTION +% qemsvd_mod - Function dq=qemsvd_mod(a,b,neig,plot) +% +% LATTICETUNINGFUNCTIONS/CORRECTION/CHROMATICITY +% atmatchchromdelta - Function arcchrom0=atmatchchromdelta(arc,c,sxtfams) +% +% LATTICETUNINGFUNCTIONS/CORRECTION/CORRECTION_CHAIN +% CorrectionChain - Corrected lattice +% DisplayCorrectionEffect - [d0,de,dc]=DisplayCorrectionEffect(.. +% testcorrectionchain - Test errors and correction functions +% +% LATTICETUNINGFUNCTIONS/CORRECTION/DISPERSION +% atcorrectdispersion - Function [.. +% testdispersioncorrection - Test errors and correction functions +% +% LATTICETUNINGFUNCTIONS/CORRECTION/DISPERSIONFREESTEERING +% atdispersionfreesteering - Function [.. +% testdispersionfreesteering - Test errors and correction functions +% +% LATTICETUNINGFUNCTIONS/CORRECTION/ORBIT +% atcorrectorbit +% testorbitbump - Test errors and correction functions +% testorbitcorrection - Test errors and correction functions +% +% LATTICETUNINGFUNCTIONS/CORRECTION/ORBITBUMPS/MATCHING +% BumpAtBPM - Function roff=BumpAtBPM(.. +% BumpAtBPM4D - Function roff=BumpAtBPM(.. +% testorbitbump - Test matching orbit bump +% +% LATTICETUNINGFUNCTIONS/CORRECTION/RDT +% atavedata_mod - ATAVEDATA Average of optical functions on selected elements +% atQuadRDTdispersioncorrection - - Make dispersion correction based on RDTs +% atRDTdispersioncorrection - Makes dispersion correction based on RDTs +% atRDTdispersionmeasuredcorrection - Makes correction of dispersion based on +% atSkewRDTdispersioncorrection - Function [.. +% EquivalentGradientsFromAlignments6D - Estimated normal quad gradients from sext offsets +% qemrdtresp_mod - QEMRDTRESP compute resonance driving terms at BPM locations +% semrdtresp_mod - SEMRDT compute resonance driving terms at BPM locations +% testRDTdispersionfreesteering - Test errors and correction functions +% +% LATTICETUNINGFUNCTIONS/CORRECTION/RESPONSE_MATRIX +% findrespmat - FINDRESPM_mod computes the change in the closed orbit due to parameter perturbations +% getresponsematrices - 1 AT lattice +% gettunechromatlinopt - Gets tunes and chromaticities from atlinopt +% +% LATTICETUNINGFUNCTIONS/CORRECTION/RFCAVITY +% atRFcorrection - Function [.. +% atsetRFCavityErr - ATSETRFCAVITY sets the RF Cavity with the passmethod RFCavityPass +% testsetRFCavityErr - Test errors and correction functions +% +% LATTICETUNINGFUNCTIONS/CORRECTION/TRAJECTORY +% atfirstturntrajectory - Makes first turn correction +% MatchLast2CorForFirstBPM - Takes the last two correctors to match the orbit and angle trajectory at +% Scan2x2DinCOD - [bestinputcoord]=ScanPosAngle(.. +% testorbitaftertrajectory - Test errors and correction functions +% testtrajectorycorrection - Test errors and correction functions +% +% LATTICETUNINGFUNCTIONS/CORRECTION/TUNE +% atmatchtunedelta - Function arcchrom0=atmatchtunedelta(arc,c,quadfams) +% fittunedelta2fam - Rerr=fittunedelta2fam(rerr,r0) +% testfittunedelta2fam - Test errors and correction functions +% +% LATTICETUNINGFUNCTIONS/ERRORS +% AssignFieldErr - Function r=AssignFieldErr(r,refpos,N,rho,BNn,ANn) +% atset_s_shift - Implements DS longitudinal position drift +% atsetbpmerr - Sets the misalignment vectors +% atsettiltdipole - Sets the entrance and exit rotation matrices +% bpm_matrices - Generate transformation matrices for BPM readings +% bpm_process - Compute BPM readings from the closed orbit +% finddispersion6Err - Gets 6D dispersion with bpm reading errors +% findorbit4Err - Gets 4x4 closed orbit with BPM errors +% findorbit6Err - Findorbit6 with bpm reading errors +% findtrajectory6Err - [t 6xNbpm array of trajectory +% setANYshift - Adds to the existing shift errors additional D +% setFieldIntegralError - Function rerr=setFieldIntegralError(r0,rerr,indx,order,Nsigma,sigmaperc) +% setGirderError - Rerr=setGirderError(r,pert,errval,mag_group) +% SetLargeErrorList - Sets given error list +% setTiltAbout - Sets tilt errors +% setTiltGirderAbout - Set Tilt error on a magnet +% setXshift - Set horizontal shifts for a element list +% +% LATTICETUNINGFUNCTIONS/ERRORS/BPMERRORS +% testerr - Load lattice +% +% LATTICETUNINGFUNCTIONS/ERRORS/DELTAS +% testerr - Load lattice +% +% LATTICETUNINGFUNCTIONS/ERRORS/DXDY +% testerr - Load lattice +% +% LATTICETUNINGFUNCTIONS/ERRORS/ERRORDISPLAYFUNCTIONS +% GetMisalignments - This function retrives 3 vectors, for x and y misalignments and tilts +% pltmisalignments - #ok +% +% LATTICETUNINGFUNCTIONS/ERRORS/ERRORSMANIPULATION +% GetExistingErrors - This function retrives 6 vectors, for x, y,s misalignments, +% getMagGroupsFromGirderIndex - Gets magnets on a girder +% getMagGroupsFromMagNum - - Gets magnet from a Magnet group +% setBpmOffsetOnDipoleRef - Set bpm on curve defined by dipole misalignments +% SetExistingError - Function SetExistingError(rerr,magindex,X0,Y0,S0,T0,R0,P0,bpm0) +% SumErrors - Rsum=SumErrors(r1,r2,magindex) +% ThetaPhiGirder - Rtp=ThetaPhiGirder(r,mag_gr) +% UniformGirderErrors - Function ring=UniformGirderErrors(ring) +% UniformMagGroupsErrors - Function ring=UniformMagGroupsErrors(ring) +% +% LATTICETUNINGFUNCTIONS/ERRORS/FIELDINTEGRAL +% testerr - Load lattice +% +% LATTICETUNINGFUNCTIONS/ERRORS/GIRDERS +% testerr - Load lattice +% +% LATTICETUNINGFUNCTIONS/ERRORS/LARGEERRLIST +% testerr - Load lattice +% +% LATTICETUNINGFUNCTIONS/ERRORS/LARGEWAVELIST +% testcor - Load lattice +% +% LATTICETUNINGFUNCTIONS/ERRORS/MULTIPOLES +% testerr - Load lattice +% +% LATTICETUNINGFUNCTIONS/ERRORS/RANDOM +% atsetrandomerrors - Function rerr=atsetrandomerrors(.. +% seterrorrand - Nominal lattice +% +% LATTICETUNINGFUNCTIONS/ERRORS/SURVEY +% SetESRFAlgeAlignmentError - Function SetESRFAlgeAlignmentError(.. +% testerr - Load lattice +% +% LATTICETUNINGFUNCTIONS/ERRORS/TILT +% compRotCorVsDip - Load lattice +% compRotCorVsDipQuad - Load lattice +% testerr - Load lattice +% testerrRotCorrector - Load lattice +% +% LATTICETUNINGFUNCTIONS/ERRORS/WAVE +% atsetwaveerrors - Function rerr=atsetwaveerrors(.. +% seterrorwave - Nominal lattice +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:13. diff --git a/atmat/pubtools/VacuumLifetime/Contents.m b/atmat/pubtools/VacuumLifetime/Contents.m new file mode 100644 index 000000000..b6e248513 --- /dev/null +++ b/atmat/pubtools/VacuumLifetime/Contents.m @@ -0,0 +1,9 @@ +% VACUUMLIFETIME +% See also +% +% Contents file for VACUUMLIFETIME and its subfolders. +% +% VACUUMLIFETIME +% VacLifetimeResidualGass - Coloumb scattering and residual gas Bremsstrahlung Cross sections are +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:13. diff --git a/atmat/pubtools/create_elems/Contents.m b/atmat/pubtools/create_elems/Contents.m new file mode 100644 index 000000000..499a863fe --- /dev/null +++ b/atmat/pubtools/create_elems/Contents.m @@ -0,0 +1,9 @@ +% CREATE_ELEMS +% See also +% +% Contents file for CREATE_ELEMS and its subfolders. +% +% CREATE_ELEMS +% atidtable_dat - Atidtable(FamName, Nslice, filename, Energy, method) +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:13. diff --git a/atmat/pubtools/distance2curve/Contents.m b/atmat/pubtools/distance2curve/Contents.m new file mode 100644 index 000000000..12aac732b --- /dev/null +++ b/atmat/pubtools/distance2curve/Contents.m @@ -0,0 +1,9 @@ +% DISTANCE2CURVE +% See also +% +% Contents file for DISTANCE2CURVE and its subfolders. +% +% DISTANCE2CURVE +% distance2curve - Gets the minimum distance from a point to a general curvilinear n-dimensional arc +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:13. diff --git a/atmat/pubtools/haissinski/Contents.m b/atmat/pubtools/haissinski/Contents.m new file mode 100644 index 000000000..770332e8a --- /dev/null +++ b/atmat/pubtools/haissinski/Contents.m @@ -0,0 +1,12 @@ +% HAISSINSKI +% See also +% +% Contents file for HAISSINSKI and its subfolders. +% +% HAISSINSKI +% blength +% fitgaussian - GAUSSIAN_PARAM FITERR GAUSSFIT SIGERROR]= FITGAUSSIAN(DATA,[property_value_pair]); +% plothaissinski - [z lambda sigma mu] = HASSINSKYFIT(SIGMA0, R, L) +% Qval - Gives the unitless Q parameter needed to compute the +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:13. diff --git a/atmat/pubtools/lattice_tools/Contents.m b/atmat/pubtools/lattice_tools/Contents.m new file mode 100644 index 000000000..d8bade031 --- /dev/null +++ b/atmat/pubtools/lattice_tools/Contents.m @@ -0,0 +1,14 @@ +% LATTICE_TOOLS +% See also +% +% Contents file for LATTICE_TOOLS and its subfolders. +% +% LATTICE_TOOLS +% atreadbeta - Reads a BETA file +% atsetglobval - Creates the global variable GLOBVAL and adds Energy +% scalesext - Newring=scalesext(ring,sextfam,scale) +% setsext - Newring=setsext(ring,fam,val); +% setsextall - Newring=setsextall(ring,fam,val); +% sext_sens_scan - Esrf(:) +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:13. diff --git a/atmat/pubtools/local_lattice_params/Contents.m b/atmat/pubtools/local_lattice_params/Contents.m new file mode 100644 index 000000000..64f685646 --- /dev/null +++ b/atmat/pubtools/local_lattice_params/Contents.m @@ -0,0 +1,11 @@ +% LOCAL_LATTICE_PARAMS +% See also +% +% Contents file for LOCAL_LATTICE_PARAMS and its subfolders. +% +% LOCAL_LATTICE_PARAMS +% atmakeXYProjectionEllipse - Gives points to plot the contour ellipses +% machine_at - Machine AT will return the optics of the lattice. Essentially takes what +% plotContours - Plots contours +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:13. diff --git a/developer/matlab/README.md b/developer/matlab/README.md index f6d766ad1..a71ea7f8c 100644 --- a/developer/matlab/README.md +++ b/developer/matlab/README.md @@ -53,8 +53,8 @@ Generates _atroot_/at.m ("help at") gen_toc(); ``` - Generates _atroot_/developer/matlab/m/*.m files* -- Publishes these files in _atroot_/../docs/matlab/*.html -- Publishes _atroot_/developer/matlab/mlx/*.mlx in _atroot_/../docs/matlab/*.html +- Publishes these files in _atroot_/../docs/atdocs/matlab/*.html +- Publishes _atroot_/developer/matlab/mlx/*.mlx in _atroot_/../docs/atdocs/matlab/*.html - Generates the User's guide files for the help browser **Warning:** diff --git a/developer/matlab/gen_toc.m b/developer/matlab/gen_toc.m index 34b668833..b25992142 100644 --- a/developer/matlab/gen_toc.m +++ b/developer/matlab/gen_toc.m @@ -95,7 +95,7 @@ function mlxloop(secdir,secname,chapfun) delete(sumname); function res=lst() vals=reshape(dir(fullfile(dirname,'*.mlx')),1,[]); - [~,nms,~]=arrayfun(@fileparts,{vals.name},'UniformOutput',false); + [~,nms,~]=cellfun(@fileparts,{vals.name},'UniformOutput',false); nms=cellfun(@string,sort(nms),'UniformOutput',false); res=struct('id',nms,'title',nms); end diff --git a/developer/matlab/m/atradiation.m b/developer/matlab/m/atradiation.m index 3fdce018a..8f3722cd0 100644 --- a/developer/matlab/m/atradiation.m +++ b/developer/matlab/m/atradiation.m @@ -1,7 +1,7 @@ %% Radiation % %% -% - Check the radiation state of a ring +% - Obsolete: check the radiation state of a ring % % - Gets the lattice energy % @@ -9,9 +9,9 @@ % % - Find tunes and damping rates from one map matrix with radiation % -% - Switches RF and radiation on +% - Obsolete: switches RF and radiation on % -% - Switches radiation and cavity off +% - Obsolete: switches RF and radiation off % % - Compute the radiation-diffusion matrix % diff --git a/developer/matlab/m/atsummary.m b/developer/matlab/m/atsummary.m index e46a71302..cd4173424 100644 --- a/developer/matlab/m/atsummary.m +++ b/developer/matlab/m/atsummary.m @@ -3,7 +3,7 @@ %% % - Computes and displays global information % -% - Print out the parameters of the current AT lattice +% - Print out various parameters of the current AT lattice % -% - Calculates various ring parameters +% - Print out various parameters of the current AT lattice % diff --git a/developer/matlab/release_notes/r2.5.mlx b/developer/matlab/release_notes/r2.5.mlx new file mode 100644 index 000000000..cce65ba5e Binary files /dev/null and b/developer/matlab/release_notes/r2.5.mlx differ diff --git a/docs/atdocs/matlab/AT_gs_top.html b/docs/atdocs/matlab/AT_gs_top.html index 2facc1ef3..e748159ac 100644 --- a/docs/atdocs/matlab/AT_gs_top.html +++ b/docs/atdocs/matlab/AT_gs_top.html @@ -1,5 +1,5 @@ -Getting Started with the Accelerator Toolbox

Getting Started with the Accelerator Toolbox


Element creation

Element creation

atbaselem - Create an AT element structure + various checks

atelem - Makes a new AT element structure from another element,

atringparam - Creates a RingParameter Element which should go at the beginning of the ring

atdrift - Creates a drift space element with Class 'Drift'

atquadrupole - Creates a quadrupole element with Class 'Quadrupole'

atrbend - Creates a rectangular bending magnet element with class 'Bend'

atsbend - Creates a sector bending magnet element with class 'Bend'

atsextupole - Creates a sextupole element with class 'Sextupole'

atskewquad - Creates a skew quadrupole element with Class 'Multipole'

atmultipole - Creates a multipole element

atrfcavity - Creates an rfcavity element with Class 'RFCavity'

atmarker - Creates a marker space element

atmonitor - Creates a Beam Position Monitor element with Class 'Monitor'

ataperture - Creates a aperture element

atcorrector - Creates a drift space element with class 'Corrector'

atidtable - Creates an ID element

atwiggler - Creates a wiggler

atdampMatElem - Creates an element that applies the global damping matrix

atsolenoid - Creates a new solenoid element with Class 'Solenoid'

atthinmultipole - Creates a thin multipole element

atM66 - Create an element applying an arbitrary 6x6 transfer matrix

atQuantDiff - Creates a quantum diffusion element

+ +

+atbaselem - Create an AT element structure + various checks

+

+atelem - Makes a new AT element structure from another element,

+

+atringparam - Creates a RingParameter Element which should go at the beginning of the ring

+

+atdrift - Creates a drift space element with Class 'Drift'

+

+atquadrupole - Creates a quadrupole element with Class 'Quadrupole'

+

+atrbend - Creates a rectangular bending magnet element with class 'Bend'

+

+atsbend - Creates a sector bending magnet element with class 'Bend'

+

+atsextupole - Creates a sextupole element with class 'Sextupole'

+

+atskewquad - Creates a skew quadrupole element with Class 'Multipole'

+

+atmultipole - Creates a multipole element

+

+atrfcavity - Creates an rfcavity element with Class 'RFCavity'

+

+atmarker - Creates a marker space element

+

+atmonitor - Creates a Beam Position Monitor element with Class 'Monitor'

+

+ataperture - Creates a aperture element

+

+atcorrector - Creates a drift space element with class 'Corrector'

+

+atidtable - Creates an ID element

+

+atwiggler - Creates a wiggler

+

+atdampMatElem - Creates an element that applies the global damping matrix

+

+atsolenoid - Creates a new solenoid element with Class 'Solenoid'

+

+atthinmultipole - Creates a thin multipole element

+

+atM66 - Create an element applying an arbitrary 6x6 transfer matrix

+

+atQuantDiff - Creates a quantum diffusion element

+ +
+ \ No newline at end of file +--> + + diff --git a/docs/atdocs/matlab/atelemfuncs.html b/docs/atdocs/matlab/atelemfuncs.html index e29f5aa5c..f4d56cf9f 100644 --- a/docs/atdocs/matlab/atelemfuncs.html +++ b/docs/atdocs/matlab/atelemfuncs.html @@ -1,12 +1,17 @@ - - - - - Element manipulation

Element manipulation

isatelem - Tests if an input argument is a valid AT element

atguessclass - Tries to determine the class of an element

atshiftelem - Set new displacement parameters

attiltelem - Sets new rotation parameters

+ +

+isatelem - Tests if an input argument is a valid AT element

+

+atguessclass - Tries to determine the class of an element

+

+atshiftelem - Set new displacement parameters

+

+attiltelem - Sets new rotation parameters

+ + + \ No newline at end of file +--> + + diff --git a/docs/atdocs/matlab/atlatticefuncs.html b/docs/atdocs/matlab/atlatticefuncs.html index 740a624cf..0f005676e 100644 --- a/docs/atdocs/matlab/atlatticefuncs.html +++ b/docs/atdocs/matlab/atlatticefuncs.html @@ -1,12 +1,17 @@ - - - - - Lattice manipulation

Lattice manipulation

Contents

isatlattice - Tests if an input argument is a valid AT lattice

Global lattice parameters

The global lattice properties 'FamName', 'Energy', 'Periodicity', 'Particle', 'HarmNumber' are stored in the RingParam lattice element.

The following functions gives an easy access to them:

atGetRingProperties - Get the ring properties

atSetRingProperties - Add or modify properties of the lattice

atenergy - Gets the lattice energy

Access elements

atindex - Extracts the information about element families and

atgetcells - Performs a search on MATLAB cell arrays of structures

atgetfieldvalues - Retrieves the field values AT cell array of elements

atsetfieldvalues - Sets the field values of MATLAB cell array of structures

Insert elements

atinsertelems - Insert elements at given locations in a line

atdivelem - Divide an element into pieces

atsplitelem - Creates a line by inserting one or more elements into a base element

insertindrift - Inserts one or more elements into a drift element

atsbreak - Insert markers at given s positions in a lattice

Join elements

atreduce - Remove useless elements from an AT structure

combinebypassmethod - Combines adjacent elements that have the same specified pass method

combinelinear45 - Combines adjacent elements that use 4-by-5 PassMethods

Other

atloadfielderrs - Will load a field error structure into a ring

atsetRFCavity - Set the RF Cavity with the passmethod RFCavityPass

atsetshift - Sets the misalignment vectors

atsettilt - Sets the entrance and exit rotation matrices

settags - Sets the 'Tag' field in AT lattice elements

findtags - Looks for string matches in 'Tag' field of AT lattice elements

mvelem - Move an element

mvfield - Move fields from one structure to another

+ +

Contents

+ +

+isatlattice - Tests if an input argument is a valid AT lattice

+

Global lattice parameters

+

The global lattice properties 'FamName', 'Energy', 'Periodicity', 'Particle', 'HarmNumber' are stored in the RingParam lattice element.

+

The following functions gives an easy access to them:

+

+atGetRingProperties - Get the ring properties

+

+atSetRingProperties - Add or modify properties of the lattice

+

+atenergy - Gets the lattice energy

+

Access elements

+

+atindex - Extracts the information about element families and

+

+atgetcells - Performs a search on MATLAB cell arrays of structures

+

+atgetfieldvalues - Retrieves the field values AT cell array of elements

+

+atsetfieldvalues - Sets the field values of MATLAB cell array of structures

+

Insert elements

+

+atinsertelems - Insert elements at given locations in a line

+

+atdivelem - Divide an element into pieces

+

+atsplitelem - Creates a line by inserting one or more elements into a base element

+

+insertindrift - Inserts one or more elements into a drift element

+

+atsbreak - Insert markers at given s positions in a lattice

+

Join elements

+

+atreduce - Remove useless elements from an AT structure

+

+combinebypassmethod - Combines adjacent elements that have the same specified pass method

+

+combinelinear45 - Combines adjacent elements that use 4-by-5 PassMethods

+

Other

+

+atloadfielderrs - Will load a field error structure into a ring

+

+atsetRFCavity - Set the RF Cavity with the passmethod RFCavityPass

+

+atsetshift - Sets the misalignment vectors

+

+atsettilt - Sets the entrance and exit rotation matrices

+

+settags - Sets the 'Tag' field in AT lattice elements

+

+findtags - Looks for string matches in 'Tag' field of AT lattice elements

+

+mvelem - Move an element

+

+mvfield - Move fields from one structure to another

+ + + \ No newline at end of file +--> + + diff --git a/docs/atdocs/matlab/atlinearoptics.html b/docs/atdocs/matlab/atlinearoptics.html index 4069d685f..32ce9cca4 100644 --- a/docs/atdocs/matlab/atlinearoptics.html +++ b/docs/atdocs/matlab/atlinearoptics.html @@ -1,12 +1,17 @@ - - - - - Linear optics

Linear optics

Contents

Closed orbit

findorbit - Find the closed orbit

findorbit4 - Finds closed orbit in the 4-d transverse phase

findorbit6 - Finds closed orbit in the full 6-d phase space

findsyncorbit - Finds closed orbit, synchronous with the RF cavity

Transfer matrices

findm44 - Numerically finds the 4x4 transfer matrix of an accelerator lattice

findm66 - Numerically finds the 6x6 transfer matrix of an accelerator lattice

findelemm44 - Numerically finds the 4x4 transfer matrix of an element

findelemm66 - Numerically finds the 6x6 transfer matrix of an element

Optical functions

atlinopt2 - Performs the linear analysis of UNCOUPLED lattices

atlinopt4 - Performs the 4D linear analysis of COUPLED lattices

atlinopt6 - Performs linear analysis of the lattice

beam22 - Computes the beam matrix from the 1-turn transfer matrix

beam44 - Computes the coupled beam matrices

+ +

Contents

+ +

Closed orbit

+

+findorbit - Find the closed orbit

+

+findorbit4 - Finds closed orbit in the 4-d transverse phase

+

+findorbit6 - Finds closed orbit in the full 6-d phase space

+

+findsyncorbit - Finds closed orbit, synchronous with the RF cavity

+

Transfer matrices

+

+findm44 - Numerically finds the 4x4 transfer matrix of an accelerator lattice

+

+findm66 - Numerically finds the 6x6 transfer matrix of an accelerator lattice

+

+findelemm44 - Numerically finds the 4x4 transfer matrix of an element

+

+findelemm66 - Numerically finds the 6x6 transfer matrix of an element

+

Optical functions

+

+atlinopt2 - Performs the linear analysis of UNCOUPLED lattices

+

+atlinopt4 - Performs the 4D linear analysis of COUPLED lattices

+

+atlinopt6 - Performs linear analysis of the lattice

+

+beam22 - Computes the beam matrix from the 1-turn transfer matrix

+

+beam44 - Computes the coupled beam matrices

+ + + \ No newline at end of file +--> + + diff --git a/docs/atdocs/matlab/atloadsave.html b/docs/atdocs/matlab/atloadsave.html index 759c8689c..b4635ca1b 100644 --- a/docs/atdocs/matlab/atloadsave.html +++ b/docs/atdocs/matlab/atloadsave.html @@ -1,12 +1,17 @@ - - - - - Loading and Saving lattices

Loading and Saving lattices

Contents

Loading lattices from files

atloadlattice - Load a lattice from a file

Binary files

Lattices can be saved as binary mat-files using the standard load and save commands

Text Files

atwritem - Creates a .m file to store an AT structure

atwritepy - Creates pyAT lattice from a Matlab lattice

+ +

Contents

+ +

Loading lattices from files

+

+atloadlattice - Load a lattice from a file

+

Binary files

+

Lattices can be saved as binary mat-files using the standard load and save commands

+

Text Files

+

+atwritem - Creates a .m file to store an AT structure

+

+atwritepy - Creates pyAT lattice from a Matlab lattice

+ + + \ No newline at end of file +--> + + diff --git a/docs/atdocs/matlab/atphysics.html b/docs/atdocs/matlab/atphysics.html index 14bf357ad..e1898185f 100644 --- a/docs/atdocs/matlab/atphysics.html +++ b/docs/atdocs/matlab/atphysics.html @@ -1,12 +1,17 @@ - - - - - Physics

Physics

symplectify - Makes a matrix more symplectic

+ +

+symplectify - Makes a matrix more symplectic

+ + + \ No newline at end of file +--> + + diff --git a/docs/atdocs/matlab/atradiation.html b/docs/atdocs/matlab/atradiation.html index b6d1fce39..f9b8f53a4 100644 --- a/docs/atdocs/matlab/atradiation.html +++ b/docs/atdocs/matlab/atradiation.html @@ -1,12 +1,17 @@ - - - - - Radiation

Radiation

check_radiation - Check the radiation state of a ring

atenergy - Gets the lattice energy

atgetU0 - Computes Energy loss per turn in eV

atdampingrates - Find tunes and damping rates from one map matrix with radiation

atradon - Switches RF and radiation on

atradoff - Switches radiation and cavity off

quantumDiff - Compute the radiation-diffusion matrix

ohmienvelope - Calculates equilibrium beam envelope in a

DipoleRadiation - Compute the radiation integrals in dipoles

WigglerRadiation - Compute the radiation integrals in wigglers

+ +

+check_radiation - Obsolete: check the radiation state of a ring

+

+atenergy - Gets the lattice energy

+

+atgetU0 - Computes Energy loss per turn in eV

+

+atdampingrates - Find tunes and damping rates from one map matrix with radiation

+

+atradon - Obsolete: switches RF and radiation on

+

+atradoff - Obsolete: switches RF and radiation off

+

+quantumDiff - Compute the radiation-diffusion matrix

+

+ohmienvelope - Calculates equilibrium beam envelope in a

+

+DipoleRadiation - Compute the radiation integrals in dipoles

+

+WigglerRadiation - Compute the radiation integrals in wigglers

+ + + \ No newline at end of file +--> + + diff --git a/docs/atdocs/matlab/atsummary.html b/docs/atdocs/matlab/atsummary.html index 838eb466b..b3625df96 100644 --- a/docs/atdocs/matlab/atsummary.html +++ b/docs/atdocs/matlab/atsummary.html @@ -1,12 +1,17 @@ - - - - - Parameter summary

Parameter summary

atx - Computes and displays global information

atsummary - Print out the parameters of the current AT lattice

ringpara - Calculates various ring parameters

+ +

+atx - Computes and displays global information

+

+atsummary - Print out various parameters of the current AT lattice

+

+ringpara - Print out various parameters of the current AT lattice

+ + + \ No newline at end of file +--> + + diff --git a/docs/atdocs/matlab/helpsearch-v4_en/index_meta.json b/docs/atdocs/matlab/helpsearch-v4_en/index_meta.json old mode 100644 new mode 100755 diff --git a/docs/atdocs/matlab/helpsearch-v4_en/store/000000000002.zap b/docs/atdocs/matlab/helpsearch-v4_en/store/000000000002.zap old mode 100644 new mode 100755 index 3e18e721f..716a3330e Binary files a/docs/atdocs/matlab/helpsearch-v4_en/store/000000000002.zap and b/docs/atdocs/matlab/helpsearch-v4_en/store/000000000002.zap differ diff --git a/docs/atdocs/matlab/helpsearch-v4_en/store/root.bolt b/docs/atdocs/matlab/helpsearch-v4_en/store/root.bolt old mode 100644 new mode 100755 index 4deb27a54..c26b9312f Binary files a/docs/atdocs/matlab/helpsearch-v4_en/store/root.bolt and b/docs/atdocs/matlab/helpsearch-v4_en/store/root.bolt differ diff --git a/docs/atdocs/matlab/helptoc.xml b/docs/atdocs/matlab/helptoc.xml index 9c4a9d744..002dd4462 100644 --- a/docs/atdocs/matlab/helptoc.xml +++ b/docs/atdocs/matlab/helptoc.xml @@ -50,6 +50,7 @@ Release notes r2.3 r2.4 + r2.5 diff --git a/docs/atdocs/matlab/howtos.html b/docs/atdocs/matlab/howtos.html index 1c182d12c..7bcb1a3b8 100644 --- a/docs/atdocs/matlab/howtos.html +++ b/docs/atdocs/matlab/howtos.html @@ -1,12 +1,17 @@ - - - - - How to… + +

+Control RF cavities +

+ + + \ No newline at end of file +--> + + diff --git a/docs/atdocs/matlab/howtos/CavityControl.html b/docs/atdocs/matlab/howtos/CavityControl.html index 46d698033..5c893f538 100644 --- a/docs/atdocs/matlab/howtos/CavityControl.html +++ b/docs/atdocs/matlab/howtos/CavityControl.html @@ -1,5 +1,5 @@ -Controlling the RF cavities

LATTICEDEMO self-running tutorial

clear

Create elements

An element in Accelerator Toolbox is a 1-by-1 MATLAB STRUCTURE.
Functions are provided to easily create such structures with adequate fields.
The following code creates a structure D1 for a drift space and a structure QF for a quadrupole.
D1 = atdrift('DR01', 3.0);
QF = atquadrupole('QF', 1.0, 0.2);
Use whos, disp or just type variable's name without closing semicolon to print the element's info:
whos D1 QF
Name Size Bytes Class Attributes +Summary
clear

Create elements

An element in Accelerator Toolbox is a 1-by-1 MATLAB STRUCTURE.
Functions are provided to easily create such structures with adequate fields.
The following code creates a structure D1 for a drift space and a structure QF for a quadrupole.
D1 = atdrift('DR01', 3.0);
QF = atquadrupole('QF', 1.0, 0.2);
Use whos, disp or just type variable's name without closing semicolon to print the element's info:
whos D1 QF
Name Size Bytes Class Attributes D1 1x1 716 struct - QF 1x1 1646 struct
disp(D1);
FamName: 'DR01' + QF 1x1 1646 struct
disp(D1);
FamName: 'DR01' PassMethod: 'DriftPass' Length: 3 - Class: 'Drift'
QF
QF = struct with fields:
FamName: 'QF' + Class: 'Drift'
QF
QF = struct with fields:
FamName: 'QF' PassMethod: 'StrMPoleSymplectic4Pass' Length: 1 Class: 'Quadrupole' @@ -82,7 +84,7 @@ PolynomA: [0 0] MaxOrder: 1 NumIntSteps: 10 -
The next few lines will create another drift structure D2 from the exiting D1 and modify the values of fields 'FamName' and 'Length'
D2 = D1;
D2.FamName = 'DR02';
D2.Length = 2;
Create another quadrupole element structure QD from QF and modify the values of fields 'K' and 'PolynomB' to make it defocusing
QD = QF;
QD.FamName = 'QD';
QD.K = -0.4;
The field 'PolynomB' is a vector of coefficients of the polynomial field expansion.
The second element (quadrupole coefficient) must be consistent with field 'K'
QD.PolynomB(2) = QD.K;
disp(QD);
FamName: 'QD' +
The next few lines will create another drift structure D2 from the exiting D1 and modify the values of fields 'FamName' and 'Length'
D2 = D1;
D2.FamName = 'DR02';
D2.Length = 2;
Create another quadrupole element structure QD from QF and modify the values of fields 'K' and 'PolynomB' to make it defocusing
QD = QF;
QD.FamName = 'QD';
QD.K = -0.4;
The field 'PolynomB' is a vector of coefficients of the polynomial field expansion.
The second element (quadrupole coefficient) must be consistent with field 'K'
QD.PolynomB(2) = QD.K;
disp(QD);
FamName: 'QD' PassMethod: 'StrMPoleSymplectic4Pass' Length: 1 Class: 'Quadrupole' @@ -90,14 +92,14 @@ PolynomB: [0 -0.4000] PolynomA: [0 0] MaxOrder: 1 - NumIntSteps: 10
We have created four elements:
whos
Name Size Bytes Class Attributes + NumIntSteps: 10
We have created four elements:
whos
Name Size Bytes Class Attributes D1 1x1 716 struct D2 1x1 716 struct QD 1x1 1646 struct - QF 1x1 1646 struct

Build lattices

We are ultimately interested in sequences of elements to model storage ring lattices or single-pass beam transport lines.
The next section illustrates building such sequences. Accelerator Toolbox represents sequences of elements as MATLAB cell arrays where individual cells are 1-by-1 structures describing elements.
The following command creates a simple FODO cell by copying previously created element structures into a cell array fodocell:
fodocell = {QF D1 QD D2 QF};
whos fodocell
Name Size Bytes Class Attributes + QF 1x1 1646 struct

Build lattices

We are ultimately interested in sequences of elements to model storage ring lattices or single-pass beam transport lines.
The next section illustrates building such sequences. Accelerator Toolbox represents sequences of elements as MATLAB cell arrays where individual cells are 1-by-1 structures describing elements.
The following command creates a simple FODO cell by copying previously created element structures into a cell array fodocell:
fodocell = {QF D1 QD D2 QF};
whos fodocell
Name Size Bytes Class Attributes - fodocell 1x5 6890 cell
length is useful to find the number of elements in a sequence:
L = length(fodocell)
L = 5
Use the {:} cell array syntax to print some or all elements:
fodocell{1}
ans = struct with fields:
FamName: 'QF' + fodocell 1x5 6890 cell
length is useful to find the number of elements in a sequence:
L = length(fodocell)
L = 5
Use the {:} cell array syntax to print some or all elements:
fodocell{1}
ans = struct with fields:
FamName: 'QF' PassMethod: 'StrMPoleSymplectic4Pass' Length: 1 Class: 'Quadrupole' @@ -106,7 +108,7 @@ PolynomA: [0 0] MaxOrder: 1 NumIntSteps: 10 -
fodocell{:}
ans = struct with fields:
FamName: 'QF' +
fodocell{:}
ans = struct with fields:
FamName: 'QF' PassMethod: 'StrMPoleSymplectic4Pass' Length: 1 Class: 'Quadrupole' @@ -115,11 +117,11 @@ PolynomA: [0 0] MaxOrder: 1 NumIntSteps: 10 -
ans = struct with fields:
FamName: 'DR01' +
ans = struct with fields:
FamName: 'DR01' PassMethod: 'DriftPass' Length: 3 Class: 'Drift' -
ans = struct with fields:
FamName: 'QD' +
ans = struct with fields:
FamName: 'QD' PassMethod: 'StrMPoleSymplectic4Pass' Length: 1 Class: 'Quadrupole' @@ -128,11 +130,11 @@ PolynomA: [0 0] MaxOrder: 1 NumIntSteps: 10 -
ans = struct with fields:
FamName: 'DR02' +
ans = struct with fields:
FamName: 'DR02' PassMethod: 'DriftPass' Length: 2 Class: 'Drift' -
ans = struct with fields:
FamName: 'QF' +
ans = struct with fields:
FamName: 'QF' PassMethod: 'StrMPoleSymplectic4Pass' Length: 1 Class: 'Quadrupole' @@ -141,9 +143,9 @@ PolynomA: [0 0] MaxOrder: 1 NumIntSteps: 10 -
Let's build a cell array fodoring that represents a closed ring with 10 periods of fodocell the same way we would build any other array in MATLAB from the command line:
fodoring = [fodocell fodocell fodocell fodocell fodocell...
fodocell fodocell fodocell fodocell fodocell];
whos fodoring
Name Size Bytes Class Attributes +
Let's build a cell array fodoring that represents a closed ring with 10 periods of fodocell the same way we would build any other array in MATLAB from the command line:
fodoring = [fodocell fodocell fodocell fodocell fodocell...
fodocell fodocell fodocell fodocell fodocell];
whos fodoring
Name Size Bytes Class Attributes - fodoring 1x50 68900 cell
The first element in fodoring is:
fodoring{1}
ans = struct with fields:
FamName: 'QF' + fodoring 1x50 68900 cell
The first element in fodoring is:
fodoring{1}
ans = struct with fields:
FamName: 'QF' PassMethod: 'StrMPoleSymplectic4Pass' Length: 1 Class: 'Quadrupole' @@ -152,11 +154,11 @@ PolynomA: [0 0] MaxOrder: 1 NumIntSteps: 10 -
To inspect or change the value of a specific field we can use MATLAB syntax for accessing cells in cell arrays and field in structures
oldK = fodoring{1}.K
oldK = 0.2000
fodoring{1}.K = 0.25;
newK = fodoring{1}.K
newK = 0.2500
The lattice fodoring is a variable in MATLAB workspace.
We can use it in accelerator physics functions and scripts.
For example: the function findm44 finds 4-by-4 transverse transfer matrix
M = findm44(fodoring,0)
M = 4×4
-0.6352 11.0305 0 0 +
To inspect or change the value of a specific field we can use MATLAB syntax for accessing cells in cell arrays and field in structures
oldK = fodoring{1}.K
oldK = 0.2000
fodoring{1}.K = 0.25;
newK = fodoring{1}.K
newK = 0.2500
The lattice fodoring is a variable in MATLAB workspace.
We can use it in accelerator physics functions and scripts.
For example: the function findm44 finds 4-by-4 transverse transfer matrix
M = findm44(fodoring,0)
M = 4×4
-0.6352 11.0305 0 0 -0.0763 -0.2497 0 0 0 0 -0.9706 0.3115 0 0 -0.0471 -1.0151 -

Summary

  1. Individual elements are represented by 1-by-1 MATLAB structures,
  2. Sequences of elements (lattices) are represented by 1-dimensional MATLAB cell arrays of structures,
  3. MATLAB syntax for handling structures and cell arrays applies.
No special language is required to define a lattice.
+

Summary

  1. Individual elements are represented by 1-by-1 MATLAB structures,
  2. Sequences of elements (lattices) are represented by 1-dimensional MATLAB cell arrays of structures,
  3. MATLAB syntax for handling structures and cell arrays applies.
No special language is required to define a lattice.

Release notes + +

+r2.3 +

+

+r2.4 +

+

+r2.5 +

+ + + \ No newline at end of file +--> + + diff --git a/docs/atdocs/matlab/release_notes/r2.3.html b/docs/atdocs/matlab/release_notes/r2.3.html index 4bb24d181..d76af1452 100644 --- a/docs/atdocs/matlab/release_notes/r2.3.html +++ b/docs/atdocs/matlab/release_notes/r2.3.html @@ -1,5 +1,5 @@ -2.3

2.5

Main changes

  • A new keyword df is introduced to specify to specify off-momentum computation, in addition to dp and dct. It is available in atsetcavity, findorbit*, findm44, atlinopt*, tunechrom,
  • Dipole radiation tapering can be set using attapering.
  • A set of new "exact" integrators is introduced: `ExactDriftPass`, `ExactMultipolePass`, `ExactSectorBendPass`, `ExactRectangularBendPass`.

New features

  • "atsummary", "ringpara" and "atx" use "atlinopt6" for optics by @lfarv in #500,
  • Introduce an RF frequency shift input `df` to specify off-momentum computation by @lfarv in #501,
  • Variable multipole by @swhite2401 in #510,
  • Set a dipole radiation tapering by @swhite2401 in #623,
  • Matlab frequency control by @lfarv in #560,
  • Introduction of an "energy loss" element by @lfarv in #632,
  • New Matlab function atsimplering by @lfarv in #657,
  • Create BndStrMPoleSymplectic4RadPass by @catohxb in #665.
  • New integrators: ExactDriftPass, ExactMultipolePass by @lfarv in #581

Bug fixes

  • quantpass bugfixes by @swhite2401 in #504,
  • Take "QuantPass" into account when checking 6D motion by @lfarv in #507,
  • Remove spurious printout by @lfarv in #509,
  • Secure the emittance computation in atsummary and ringpara by @lfarv in #511,
  • Failure of GitHub action for Matlab compilation error by @lfarv in #535,
  • Use the ct coordinate in the variable multipole pass method by @carmignani in #532,
  • Update quantum diffusion pass methods by @lfarv in #534,
  • Do not split elements with IdTablePass method by @oscarxblanco in #563,
  • Bug fix on atrotatelattice by @lfarv in #569,
  • ringparam always returns an emittance by @swhite2401 in #583,
  • Fixes bug producing infrequent NaN from calcnaff by @pcsch in #587,
  • Correct return type of wakefunc_long_resonator by@lfarv in #591,
  • Fix compilation with OPENMP=1 by @lfarv in #607,
  • atreduce: check entrance and exit angles in bends by @lfarv in #604,
  • Process aperture limitation and misalignment in CorrectorPass by @swhite2401 in #623,
  • Fix at disable_6d by @lfarv in #625,
  • Don't automatically cache the location of RF cavities by @lfarv in #640,
  • fix: ring phase advances in computeRDT.m by @wei0852 in #652,
  • Bug fix in atdisable_6d: keep the Energy field in cavities. by @lfarv in #654,
  • Fix atmaincavities by @lfarv in #656,
  • Correct the attribute name of solenoids in Matlab by @lfarv in #663,
  • Bug fix in atgeometry by @lfarv in #667,
  • Improve the performance of atsummary by @lnadolski in #688

New Contributors

+
+ +
\ No newline at end of file diff --git a/docs/atdocs/matlab/ugsummary.html b/docs/atdocs/matlab/ugsummary.html index a39639c50..2d475e6df 100644 --- a/docs/atdocs/matlab/ugsummary.html +++ b/docs/atdocs/matlab/ugsummary.html @@ -1,12 +1,17 @@ - - - - - AT User Guide + +

+Element creation +

+

+Element manipulation +

+

+Lattice manipulation +

+

+Loading and Saving lattices +

+

+Linear optics +

+

+Radiation +

+

+Parameter summary +

+

+Physics +

+ + + \ No newline at end of file +--> + + diff --git a/docs/m/index.rst b/docs/m/index.rst index 990c130b7..b9a986931 100644 --- a/docs/m/index.rst +++ b/docs/m/index.rst @@ -32,3 +32,4 @@ higher-level functions to provide physics results. releases/r2.3 releases/r2.4 + releases/r2.5 diff --git a/docs/m/releases/r2.5.rst b/docs/m/releases/r2.5.rst new file mode 100644 index 000000000..a5d05659b --- /dev/null +++ b/docs/m/releases/r2.5.rst @@ -0,0 +1,19 @@ +.. role:: hidden + +############# +:hidden:`2.5` +############# + +.. raw:: html + + + diff --git a/machine_data/Contents.m b/machine_data/Contents.m new file mode 100644 index 000000000..488f9aeda --- /dev/null +++ b/machine_data/Contents.m @@ -0,0 +1,19 @@ +% MACHINE_DATA +% See also +% +% Contents file for MACHINE_DATA and its subfolders. +% +% MACHINE_DATA +% australian_synchrotron +% dba - Create dba lattice +% esrf +% FODO - P1Dr=atdrift('Dr',0.1); +% soleil - Loads SOLEIL lattice +% sp3v81f - All the dipole and quadrupole lengths are effective lengths +% spear2 - Example lattice definition file +% spear2rad - Example lattice definition file with CAVITY and CLASSICAL radiation +% spear2resp - Example SPEAR2 lattice with orbit correctors and BPMS +% spear3 - Load the SPEAR3 lattice structure +% thomx +% +% This file was generated by updateContents.m on 06 Nov 2023 at 14:58:13.