1 #ifndef _PIAACMCSIMUL_H 2 #define _PIAACMCSIMUL_H 6 #define ApoFitCosFact 1.0 21 char piaacmcconfdir[300];
24 int FORCE_CREATE_Cmodes;
26 int FORCE_CREATE_Fmodes;
29 int FORCE_CREATE_fpmzmap;
31 int FORCE_CREATE_fpmzt;
34 int FORCE_CREATE_fpmza;
37 int FORCE_MAKE_PIAA0shape;
39 int FORCE_MAKE_PIAA1shape;
43 int PIAACMC_FPMsectors;
45 double FPMSCALEFACTOR;
50 float PIAACMC_MASKRADLD;
53 double *fpmresp_array;
57 double *zonezbest_array;
66 int computePSF_FAST_FPMresp;
67 int computePSF_ResolvedTarget;
68 int computePSF_ResolvedTarget_mode;
69 int PIAACMC_FPM_FASTDERIVATIVES;
78 long PIAACMC_FPMresp_mp;
79 long PIAACMC_FPMresp_thread;
83 double PIAACMCSIMUL_VAL;
84 double PIAACMCSIMUL_VAL0;
85 double PIAACMCSIMUL_VALREF;
90 long linopt_number_param;
91 int linopt_paramtype[10000];
92 float *linopt_paramvalf[10000];
93 double *linopt_paramval[10000];
94 double linopt_paramrefval[10000];
96 double linopt_paramdelta[10000];
97 double linopt_paramdeltaval[10000];
98 double linopt_parammaxstep[10000];
99 double linopt_parammin[10000];
100 double linopt_parammax[10000];
102 int linopt_REGPIAASHAPES;
103 float linopt_piaa0C_regcoeff;
104 float linopt_piaa1C_regcoeff;
105 float linopt_piaa0C_regcoeff_alpha;
106 float linopt_piaa1C_regcoeff_alpha;
108 float linopt_piaa0F_regcoeff;
109 float linopt_piaa1F_regcoeff;
110 float linopt_piaa0F_regcoeff_alpha;
111 float linopt_piaa1F_regcoeff_alpha;
113 int linopt_REGFPMSAG;
118 char fnamedescr[800];
119 char fnamedescr_conf[800];
155 double lambdaarray[2000];
169 float prePIAA0maskpos;
171 float postPIAA0maskpos;
187 double LyotStop_zpos[10];
190 char PIAAmaterial_name[10];
191 int PIAAmaterial_code;
195 long piaaNBCmodesmax;
217 double fpmaskamptransm;
226 double fpmsagreg_coeff;
227 double fpmsagreg_alpha;
229 double fpmCentConeRad;
231 double fpmOuterConeZ;
232 double fpmOuterConeRadld;
233 double fpmOuterConeRad;
235 char fpmmaterial_name[10];
236 int fpmmaterial_code;
282 static
void PIAACMCsimul_logFunctionCall(
char *LogFileName, const
char *FunctionName,
long line,
char *comments);
375 double PIAACMCsimul_optimizeLyotStop(const
char *IDamp_name, const
char *IDpha_name, const
char *IDincoh_name,
float zmin,
float zmax,
double throughput,
long NBz,
long NBmasks);
377 long PIAACMCsimul_mkLyotMask(const
char *IDincoh_name, const
char *IDmc_name, const
char *IDzone_name,
double throughput, const
char *IDout_name);
379 long PIAACMCsimul_geomProp(const
char *IDin_name, const
char *IDsag_name, const
char *IDout_name, const
char *IDoutcnt_name,
float drindex,
float pscale,
float zprop,
float krad,
float kstep,
float rlim);
393 double PIAACMCsimul_achromFPMsol_eval(
double *fpmresp_array,
double *zonez_array,
double *dphadz_array,
double *outtmp_array,
long vsize,
long nbz,
long nbl);
399 long PIAACMC_FPMresp_resample(const
char *FPMresp_in_name, const
char *FPMresp_out_name,
long NBlambda,
long PTstep);
414 long PIAACMC_FPM_process(const
char *FPMsag_name, const
char *zonescoord_name,
long NBexp, const
char *outname);
416 long PIAACMC_FPMresp_resample(const
char *FPMresp_in_name, const
char *FPMresp_out_name,
long NBlambda,
long PTstep);
433 double PIAACMCsimul_computePSF(
float xld,
float yld,
long startelem,
long endelem,
int savepsf,
int sourcesize,
int extmode,
int outsave);
435 long PIAACMCsimul_CA2propCubeInt(const
char *IDamp_name, const
char *IDpha_name,
float zmin,
float zmax,
long NBz, const
char *IDout_name);
long PIAACMCsimul_mkSimpleLyotStop(const char *ID_name, float rin, float rout)
Definition: PIAACMCsimul_mkSimpleLyotStop.c:62
int PIAACMCsimul_loadpiaacmcconf(const char *dname)
Load configuration.
Definition: PIAACMCsimul_loadsavepiaacmcconf.c:50
int PIAACMCsimul_makePIAAshapes(OPTPIAACMCDESIGN *design, long index)
Definition: PIAACMCsimul_makePIAAshapes.c:47
long PIAACMC_FPMresp_rmzones(const char *FPMresp_in_name, const char *FPMresp_out_name, long NBzones)
Definition: PIAACMC_FPMresp_rmzones.c:35
int PIAACMCsimul_mkPIAAMshapes_from_RadSag(const char *fname, const char *ID_PIAAM0_name, const char *ID_PIAAM1_name)
Make PIAA OPD screens from radial sag profile.
Definition: PIAACMCsimul_mkPIAAMshapes_from_RadSag.c:67
long PIAACMCsimul_geomProp(const char *IDin_name, const char *IDsag_name, const char *IDout_name, const char *IDoutcnt_name, float drindex, float pscale, float zprop, float krad, float kstep, float rlim)
Lyot stops positions from zmin to zmax relative to current, working back (light goes from 0 to zmax) ...
Definition: PIAACMCsimul_geomProp.c:70
int PIAACMCsimul_initpiaacmcconf(long piaacmctype, double fpmradld, double centobs0, double centobs1, int WFCmode, int load)
initializes configuration
Definition: PIAACMCsimul_initpiaacmcconf.c:232
long PIAACMCsimul_rings2sectors(const char *IDin_name, const char *sectfname, const char *IDout_name)
Rings to sectors.
Definition: PIAACMCsimul_rings2sectors.c:40
double PIAACMCsimul_optimizeLyotStop(const char *IDamp_name, const char *IDpha_name, const char *IDincoh_name, float zmin, float zmax, double throughput, long NBz, long NBmasks)
Lyot stops positions from zmin to zmax relative to current, working back (light goes from 0 to zmax) ...
Definition: PIAACMCsimul_optimizeLyotStop.c:72
int PIAACMCsimul_exec_optimize_PIAA_shapes_fpmtransm()
Definition: PIAACMCsimul_exec_optimize_PIAA_shapes_fpmtransm.c:51
double PIAACMCsimul_exec_computePSF_no_fpm()
Definition: PIAACMCsimul_exec_computePSF_no_fpm.c:57
int PIAACMCsimul_run(const char *confindex, long mode)
Definition: PIAACMCsimul_run.c:54
uint_fast8_t PIAACMCsimul_load2DRadialApodization(const char *IDapo_name, float beamradpix, const char *IDapofit_name)
Definition: PIAACMCsimul_load2DRadialApodization.c:45
int PIAACMCsimul_measure_transm_curve()
Definition: PIAACMCsimul_measure_transm_curve.c:74
long PIAACMCsimul_mkFocalPlaneMask(const char *IDzonemap_name, const char *ID_name, int mode, int saveMask)
Make complex amplitude focal plane mask.
Definition: PIAACMCsimul_mkFocalPlaneMask.c:75
int PIAACMCsimul_exec_compute_image()
Compute PSF or image scene.
Definition: PIAACMCsimul_exec_compute_image.c:51
double PIAACMCsimul_achromFPMsol_eval_zonezderivative(long zone, double *fpmresp_array, double *zonez_array, double *dphadz_array, double *outtmp_array, long vsize, long nbz, long nbl)
Definition: PIAACMCsimul_achromFPMsol_eval_zonezderivative.c:30
int PIAACMCsimul_update_fnamedescr_conf()
Assemble focal plane mask configuration name.
Definition: PIAACMCsimul_loadsavepiaacmcconf.c:157
int PIAACMCsimul_exec_optimize_fpmtransmission()
Definition: PIAACMCsimul_exec_optimize_fpmtransmission.c:61
int_fast8_t init_PIAACMCsimul()
Module initialization.
Definition: PIAACMCsimul.c:226
void __attribute__((constructor)) libinit_PIAACMCsimul()
Definition: 00CORE.c:87
int PIAACMCsimul_savepiaacmcconf(const char *dname)
Save configuration.
Definition: PIAACMCsimul_loadsavepiaacmcconf.c:186
long PIAACMCsimul_mkFPM_zonemap(const char *IDname)
Definition: PIAACMCsimul_mkFPM_zonemap.c:65
long PIAACMCsimul_CA2propCubeInt(const char *IDamp_name, const char *IDpha_name, float zmin, float zmax, long NBz, const char *IDout_name)
Propagate complex amplitude image into intensity map cube.
Definition: PIAACMCsimul_CA2propCubeInt.c:39
double PIAACMCsimul_achromFPMsol_eval(double *fpmresp_array, double *zonez_array, double *dphadz_array, double *outtmp_array, long vsize, long nbz, long nbl)
int PIAACMCsimul_exec_multizone_fpm_calib()
Definition: PIAACMCsimul_exec_multizone_fpm_calib.c:56
int PIAACMCsimul_exec_optimize_lyot_stops_shapes_positions()
Definition: PIAACMCsimul_exec_optimize_lyot_stops_shapes_positions.c:143
Definition: PIAACMCsimul.h:19
int PIAACMCsimul_exec_optimize_PIAA_shapes()
Definition: PIAACMCsimul_exec_optimize_PIAA_shapes.c:47
long PIAACMCsimul_mkLyotMask(const char *IDincoh_name, const char *IDmc_name, const char *IDzone_name, double throughput, const char *IDout_name)
Definition: PIAACMCsimul_mkLyotMask.c:68
void PIAACMCsimul_init(OPTPIAACMCDESIGN *design, long index, double TTxld, double TTyld)
initializes the optsyst structure to simulate reflective PIAACMC system
Definition: PIAACMCsimul_init.c:61
long PIAACMC_FPMresp_resample(const char *FPMresp_in_name, const char *FPMresp_out_name, long NBlambda, long PTstep)
Definition: PIAACMC_FPMresp_resample.c:35
Definition: PIAACMCsimul.h:140
void PIAACMCsimul_free(void)
Free PIAACMC memory.
Definition: PIAACMCsimul_free.c:37
int PIAACMCsimul_exec_optimize_lyot_stop_position()
Definition: PIAACMCsimul_exec_optimize_lyot_stop_position.c:56
int PIAACMCsimul_exec(const char *confindex, long mode)
Main simulation routine.
Definition: PIAACMCsimul_exec.c:307
int PIAACMCsimul_update_fnamedescr()
Assemble focal plane mask name.
Definition: PIAACMCsimul_loadsavepiaacmcconf.c:169
long PIAACMC_FPM_process(const char *FPMsag_name, const char *zonescoord_name, long NBexp, const char *outname)
Definition: PIAACMC_FPM_process.c:34
char * line
Definition: CLIcore.c:181
int PIAACMCsimul_exec_optimize_fpm_zones()
Definition: PIAACMCsimul_exec_optimize_fpm_zones.c:66
int PIAACMCsimul_eval_poly_design()
Definition: PIAACMCsimul_eval_poly_design.c:43
double PIAACMCsimul_computePSF(float xld, float yld, long startelem, long endelem, int savepsf, int sourcesize, int extmode, int outsave)
Compute PSF.
Definition: PIAACMCsimul_computePSF.c:85
int PIAACMCsimul_init_geomPIAA_rad(const char *IDapofit_name)
Definition: PIAACMCsimul_init_geomPIAA_rad.c:43