File indexing completed on 2025-01-18 10:02:04
0001 #ifndef MAD_EXTRN_F_H
0002 #define MAD_EXTRN_F_H
0003
0004
0005
0006
0007
0008 #ifndef MAD_TYPES_F_H
0009 #include "mad_types_f.h"
0010 #endif
0011
0012
0013
0014
0015
0016
0017 #define comm_para comm_para_
0018 #define get_string get_string_
0019 #define get_value get_value_
0020 #define get_vector get_vector_
0021
0022
0023 #define next_constraint next_constraint_
0024 #define next_constr_namepos next_constr_namepos_
0025 #define next_global next_global_
0026
0027
0028 #define make_bb6d_ixy make_bb6d_ixy_
0029
0030
0031 #define element_name element_name_
0032 #define el_par_vector el_par_vector_
0033 #define get_node_vector get_node_vector_
0034 #define is_custom_set is_custom_set_
0035 #define update_node_aperture update_node_aperture_
0036
0037
0038 #define node_al_errors node_al_errors_
0039 #define node_fd_errors node_fd_errors_
0040
0041
0042 #define augmentfwarn augmentfwarn_
0043 #define geterrorflag geterrorflag_
0044 #define seterrorflagfort seterrorflagfort_
0045
0046
0047 #define pro_input pro_input_
0048
0049
0050 #define wopen wopen_
0051 #define wclose wclose_
0052 #define wclrwk wclrwk_
0053 #define wpl wpl_
0054 #define wfa wfa_
0055 #define wswn wswn_
0056 #define wtx wtx_
0057 #define wwait wwait_
0058 #define wsetci wsetci_
0059 #define wsetls wsetls_
0060 #define wstring wstring_
0061 #define cbyt cbyt_
0062 #define mydtime mydtime_
0063
0064
0065 #define interpolate_node interpolate_node_
0066 #define reset_interpolation reset_interpolation_
0067 #define start_interp_node start_interp_node_
0068 #define fetch_interp_node fetch_interp_node_
0069
0070
0071 #define mtcond mtcond_
0072 #define mtputconsname mtputconsname_
0073
0074
0075 #define advance_node advance_node_
0076 #define advance_to_pos advance_to_pos_
0077 #define current_node_name current_node_name_
0078 #define node_name node_name_
0079 #define node_name node_name_
0080 #define node_name_f_lower node_name_f_lower_
0081 #define node_string node_string_
0082 #define node_value node_value_
0083 #define retreat_node retreat_node_
0084 #define store_node_value store_node_value_
0085 #define store_node_vector store_node_vector_
0086 #define store_no_fd_err store_no_fd_err_
0087 #define node_apertype node_apertype_
0088 #define inside_userdefined_geometry inside_userdefined_geometry_
0089 #define get_userdefined_geometry get_userdefined_geometry_
0090 #define get_userdefined_geometry_len get_userdefined_geometry_len_
0091 #define is_permalign is_permalign_
0092
0093
0094 #define node_aperture_vector node_aperture_vector_
0095 #define node_aperture_offset node_aperture_offset_
0096 #define node_obs_point node_obs_point_
0097
0098 #define alloc_tt_attrib alloc_tt_attrib_
0099 #define set_tt_attrib set_tt_attrib_
0100 #define get_tt_attrib get_tt_attrib_
0101 #define set_tt_multipoles set_tt_multipoles_
0102 #define get_tt_multipoles get_tt_multipoles_
0103
0104 #define get_closed_orb_node get_closed_orb_node_
0105 #define set_closed_orb_node set_closed_orb_node_
0106
0107 #define get_option get_option_
0108 #define set_option set_option_
0109 #define set_cont_sequence set_cont_sequence_
0110 #define set_sequence set_sequence_
0111
0112
0113 #define f_ctof f_ctof_
0114
0115
0116 #define get_title get_title_
0117 #define get_version get_version_
0118 #define plot_option plot_option_
0119
0120
0121 #define augmentcountmomtabs augmentcountmomtabs_
0122 #define makemomentstables makemomentstables_
0123 #define minimum_acceptable_order minimum_acceptable_order_
0124 #define select_ptc_idx select_ptc_idx_
0125
0126
0127 #define frndm frndm_
0128 #define grndm grndm_
0129
0130
0131 #define newrplot newrplot_
0132 #define plottrack plottrack_
0133 #define plottwiss plottwiss_
0134 #define rplotfinish rplotfinish_
0135 #define rviewer rviewer_
0136 #define madxv_setfctnname madxv_setfctnname_
0137 #define madxv_setknobname madxv_setknobname_
0138 #define madxv_setfunctionat madxv_setfunctionat_
0139
0140
0141 #define restart_sequ restart_sequ_
0142 #define get_nnodes get_nnodes_
0143 #define get_ncavities get_ncavities_
0144
0145
0146
0147 #define augment_count augment_count_
0148 #define augmentcountonly augmentcountonly_
0149 #define table_length table_length_
0150 #define table_exists table_exists_
0151 #define table_cell_exists table_cell_exists_
0152 #define table_column_exists table_column_exists_
0153 #define table_header_exists table_header_exists_
0154 #define double_from_table_header double_from_table_header_
0155 #define double_from_table_row double_from_table_row_
0156 #define string_from_table_row string_from_table_row_
0157 #define double_to_table_row double_to_table_row_
0158 #define string_to_table_row string_to_table_row_
0159 #define double_to_table_curr double_to_table_curr_
0160 #define double_to_table_curr2 double_to_table_curr2_
0161 #define vector_to_table_curr vector_to_table_curr_
0162 #define string_to_table_curr string_to_table_curr_
0163 #define comment_to_table_curr comment_to_table_curr_
0164 #define double_table double_table_
0165 #define make_map_table make_map_table_
0166 #define reset_count reset_count_
0167 #define sector_out sector_out_
0168 #define table_length table_length_
0169 #define table_range table_range_
0170 #define name_to_table_curr name_to_table_curr_
0171
0172
0173 #define deletetrackstrarpositions deletetrackstrarpositions_
0174 #define getcurrentcmdname getcurrentcmdname_
0175 #define getnumberoftracks getnumberoftracks_
0176 #define gettrack gettrack_
0177 #define next_start next_start_
0178 #define track_pteigen track_pteigen_
0179
0180
0181 #define copy_twiss_data copy_twiss_data_
0182 #define embedded_twiss embedded_twiss_
0183 #define get_disp0 get_disp0_
0184
0185
0186 #define intrac intrac_
0187
0188
0189 #define set_variable set_variable_
0190 #define get_variable get_variable_
0191 #define next_vary next_vary_
0192
0193
0194 #define vdot vdot_
0195 #define vmod vmod_
0196
0197
0198
0199
0200
0201
0202 void mad_init_f_(void);
0203
0204
0205
0206
0207 void trdynrun_(F_DOUBLE eigen, F_DOUBLE coords, F_INTEGER turns, F_INTEGER npart, F_DOUBLE distvect,
0208 F_DOUBLE zn, F_DOUBLE onelog, F_DOUBLE turnnumber, F_DOUBLE dq);
0209
0210
0211 void emit_(F_DOUBLE deltap, F_DOUBLE tol, F_DOUBLE orbit0, F_DOUBLE disp0, F_DOUBLE rt,
0212 F_DOUBLE u0, F_DOUBLE emit_v, F_DOUBLE nemit_v, F_DOUBLE bmax, F_DOUBLE gmax,
0213 F_DOUBLE dismax, F_DOUBLE tunes, F_DOUBLE sig_v, F_DOUBLE pdamp, F_LOGICAL updatebeam);
0214
0215
0216
0217 void gxterm_(void);
0218
0219
0220 void ibs_(void);
0221
0222
0223 void collect_(F_INTEGER ncon, F_DOUBLE fsum, F_DOUBLE fvect);
0224 void mtlmdf_(F_INTEGER ncon, F_INTEGER nvar, F_DOUBLE tol, F_INTEGER calls,
0225 F_INTEGER call_lim, F_DOUBLE vect, F_DOUBLE dvect, F_DOUBLE fun_vec,
0226 F_DOUBLE diag, F_DOUBLE w_ifjac, F_DOUBLE w_ipvt, F_DOUBLE w_qtf,
0227 F_DOUBLE w_iwa1, F_DOUBLE w_iwa2, F_DOUBLE w_iwa3, F_DOUBLE w_iwa4,
0228 F_DOUBLE xold);
0229 void mtmigr_(F_INTEGER ncon, F_INTEGER nvar, F_INTEGER strategy, F_DOUBLE tol,
0230 F_INTEGER calls, F_INTEGER call_lim, F_DOUBLE vect, F_DOUBLE dvect,
0231 F_DOUBLE fun_vect, F_DOUBLE w_iwa1, F_DOUBLE w_iwa2, F_DOUBLE w_iwa3,
0232 F_DOUBLE w_iwa4, F_DOUBLE w_iwa5, F_DOUBLE w_iwa6, F_DOUBLE w_iwa7, F_DOUBLE w_iwa8);
0233 void mtsimp_(F_INTEGER ncon, F_INTEGER nvar, F_DOUBLE tol, F_INTEGER calls, F_INTEGER call_lim,
0234 F_DOUBLE vect, F_DOUBLE dvect, F_DOUBLE fun_vect, F_DOUBLE w_iwa1, F_DOUBLE w_iwa2,
0235 F_DOUBLE w_iwa3);
0236
0237
0238 void mtsvd_(F_INTEGER M, F_INTEGER N, F_DOUBLE fjac, F_DOUBLE SV, F_DOUBLE U, F_DOUBLE VT);
0239 void mtjac_(F_INTEGER ncon, F_INTEGER nvar, F_INTEGER strategy, F_DOUBLE cool, F_DOUBLE balance,
0240 F_DOUBLE random, F_INTEGER nrep, F_INTEGER bisec, F_DOUBLE cond, F_INTEGER match_mode,
0241 F_DOUBLE tol, F_INTEGER calls, F_INTEGER call_lim, F_DOUBLE vect, F_DOUBLE dvect,
0242 F_DOUBLE fun_vec, F_DOUBLE w_ifjac, F_DOUBLE w_iwa4, F_DOUBLE fval, F_DOUBLE xstart,
0243 F_DOUBLE xold);
0244
0245
0246 void mtsa_(F_INTEGER ncon, F_INTEGER nvar, F_DOUBLE tol, F_INTEGER calls, F_INTEGER call_lim,
0247 F_DOUBLE vect, F_DOUBLE fun_vect, F_INTEGER iseed, F_INTEGER iprint, F_DOUBLE lb,
0248 F_INTEGER nacp, F_DOUBLE ub, F_DOUBLE xopt, F_DOUBLE c, F_DOUBLE vm, F_DOUBLE xp);
0249
0250
0251 void setup_(F_DOUBLE resp, F_DOUBLE a, F_INTEGER im, F_INTEGER ic, F_INTEGER nm, F_INTEGER nc);
0252 void setupi_(F_INTEGER resp, F_INTEGER a, F_INTEGER im, F_INTEGER ic, F_INTEGER nm, F_INTEGER nc);
0253 void prdmat_(F_DOUBLE a, F_INTEGER nc, F_INTEGER nm);
0254 void primat_(F_INTEGER a, F_INTEGER nc, F_INTEGER nm);
0255 void micit_(F_DOUBLE a, F_CHARACTER conm, F_DOUBLE xin, F_DOUBLE cin, F_DOUBLE res, F_INTEGER nx,
0256 F_DOUBLE rms, F_INTEGER im, F_INTEGER ic, F_INTEGER iter, F_INTEGER ny, F_DOUBLE ax,
0257 F_DOUBLE cinx, F_DOUBLE xinx, F_DOUBLE resx, F_DOUBLE rho, F_DOUBLE ptop, F_DOUBLE rmss, F_DOUBLE xrms,
0258 F_DOUBLE xptp, F_DOUBLE xiter, F_INTEGER ifail);
0259 void haveit_(F_DOUBLE a, F_DOUBLE xin, F_DOUBLE cin, F_DOUBLE res, F_INTEGER nx, F_INTEGER im,
0260 F_INTEGER ic, F_DOUBLE cb, F_DOUBLE xmeas, F_DOUBLE xres, F_DOUBLE y, F_DOUBLE z,
0261 F_DOUBLE xd);
0262 void svddec_(F_DOUBLE a, F_DOUBLE svdmat, F_DOUBLE umat, F_DOUBLE vmat, F_DOUBLE ws, F_DOUBLE wvec,
0263 F_INTEGER sortw, F_DOUBLE sngcut, F_DOUBLE sngval, F_INTEGER im, F_INTEGER ic,
0264 F_INTEGER iflag, F_INTEGER sing, F_INTEGER dbg);
0265 void svdcorr_(F_DOUBLE a, F_DOUBLE svdmat, F_DOUBLE umat, F_DOUBLE vmat, F_DOUBLE wmat, F_DOUBLE utmat,
0266 F_DOUBLE vtmat, F_DOUBLE wtmat, F_DOUBLE xin, F_DOUBLE xc, F_DOUBLE xout,
0267 F_DOUBLE xpred, F_DOUBLE ws, F_DOUBLE wvec, F_INTEGER sortw, F_INTEGER nx,
0268 F_INTEGER im, F_INTEGER ic, F_INTEGER iflag, F_INTEGER dbg);
0269
0270
0271 void pesopt_(F_INTEGER ierr);
0272 void pefill_(F_INTEGER ierr);
0273 void pemima_(void);
0274 void plotit_(F_INTEGER initfl);
0275
0276
0277 void res_index_(F_LOGICAL skew, F_INTEGER mynorder, F_INTEGER myn1, F_INTEGER myn2, F_INTEGER indexa,
0278 F_INTEGER mynres);
0279
0280
0281 void soddin_(F_INTEGER ierr);
0282
0283
0284 void survey_(void);
0285 void elementloc_(void);
0286 void survtest_(void);
0287 void locslice_(F_DOUBLE, F_DOUBLE, F_DOUBLE);
0288
0289
0290 void touschek_(void);
0291
0292
0293 void trrun_(F_INTEGER switch_, F_INTEGER turns, F_DOUBLE orbit0, F_DOUBLE rt, F_INTEGER part_id,
0294 F_INTEGER last_turn, F_DOUBLE last_pos, F_DOUBLE z, F_DOUBLE dxt, F_DOUBLE dyt,
0295 F_DOUBLE last_orbit, F_DOUBLE eigen, F_DOUBLE coords, F_INTEGER e_flag,
0296 F_INTEGER code_buf, F_DOUBLE l_buf);
0297 void trbegn_(F_DOUBLE rt, F_DOUBLE eigen);
0298
0299
0300 void tmrefe_(F_DOUBLE rf);
0301 void tmrefo_(F_INTEGER kobs, F_DOUBLE orbit0, F_DOUBLE orbit, F_DOUBLE rt);
0302 void twiss_(F_DOUBLE rt, F_DOUBLE disp0, F_INTEGER tab_name, F_INTEGER sector_tab_name);
0303 void twcpin_(F_DOUBLE rt, F_DOUBLE disp0, F_DOUBLE r0mat, F_INTEGER error);
0304 void twdisp_ini_(F_DOUBLE rt, F_DOUBLE disp0);
0305
0306
0307 void getclor_(F_DOUBLE orbit0, F_DOUBLE rt, F_DOUBLE tt, F_INTEGER error);
0308
0309
0310 void w_ptc_addknob_(F_INTEGER fibre);
0311 void w_ptc_addknob_i_(F_INTEGER paramn);
0312 void w_ptc_addmoment_(F_INTEGER x, F_INTEGER px, F_INTEGER y, F_INTEGER py, F_INTEGER t, F_INTEGER dp,
0313 F_INTEGER tableIA, F_INTEGER columnIA, F_INTEGER parametric);
0314 void w_ptc_addpush_(F_INTEGER tabname, F_INTEGER colname, F_INTEGER polinomial, F_INTEGER monomial);
0315 void w_ptc_align_(void);
0316 void w_ptc_putbeambeam_(void);
0317 void w_ptc_create_layout_(void);
0318 void w_ptc_create_universe_(void);
0319 void w_ptc_dumpmaps_(void);
0320 void w_ptc_end_(void);
0321 void w_ptc_enforce6d_(F_INTEGER level);
0322 void w_ptc_eplacement_(F_INTEGER elementidx, F_INTEGER rf);
0323 void w_ptc_export_xml_(F_INTEGER filename);
0324 void w_ptc_getnfieldcomp_(F_INTEGER fibreidx, F_INTEGER ncomp, F_DOUBLE nval);
0325 void w_ptc_getsfieldcomp_(F_INTEGER fibreidx, F_INTEGER ncomp, F_DOUBLE nval);
0326 void w_ptc_moments_(F_INTEGER no);
0327 void w_ptc_move_to_layout_(void);
0328 void w_ptc_normal_(void);
0329 void w_ptc_open_gino_(F_INTEGER scriptname);
0330 void w_ptc_printframes_(F_INTEGER scriptname);
0331 void w_ptc_printlayout_rootm_(F_INTEGER filename);
0332 void w_ptc_read_errors_(void);
0333 void w_ptc_refresh_k_(void);
0334 void w_ptc_refreshtables_(void);
0335 void w_ptc_script_(F_INTEGER scriptname);
0336 void w_ptc_setaccel_method_(F_INTEGER method);
0337 void w_ptc_setdebuglevel_(F_INTEGER level);
0338 void w_ptc_setmapdumplevel_(F_INTEGER level);
0339 void w_ptc_setmadprint_(F_INTEGER level);
0340 void w_ptc_setseed_(F_INTEGER level);
0341 void w_ptc_setspin_(F_INTEGER method);
0342 void w_ptc_setstochastic_(F_INTEGER method);
0343 void w_ptc_setfieldcomp_(F_INTEGER fibreidx);
0344 void w_ptc_setexactmis_(F_INTEGER method);
0345 void w_ptc_setenvelope_(F_INTEGER method);
0346 void w_ptc_setfringe_(F_INTEGER method);
0347 void w_ptc_setknobvalue_(F_INTEGER fible);
0348 void w_ptc_setnocavity_(F_INTEGER method);
0349 void w_ptc_setradiation_(F_INTEGER method);
0350 void w_ptc_setmodulation_(F_INTEGER method);
0351 void w_ptc_settime_(F_INTEGER method);
0352 void w_ptc_settotalpath_(F_INTEGER method);
0353 void w_ptc_track_(F_INTEGER max_obs);
0354 void w_ptc_track_everystep_(F_INTEGER max_obs);
0355 void w_ptc_trackline_(F_INTEGER max_obs);
0356 void w_ptc_twiss_(F_INTEGER tab_name, F_INTEGER summary_name);
0357 void w_ptc_writeparresults_(F_INTEGER filename);
0358
0359
0360 void w_ptc_getmomentstabcol_(F_INTEGER n, F_CHARACTER tabn, F_CHARACTER coln);
0361 int w_ptc_getnmoments_(void);
0362
0363
0364 void w_ptc_rviewer_(void);
0365
0366
0367 void taper_(F_DOUBLE orbit0, F_INTEGER iterate, F_DOUBLE stepsize, F_CHARACTER filename, F_INTEGER error);
0368 void taperreset_(F_INTEGER error);
0369
0370 #endif