1 #ifndef _PIAACMCSIMUL_H
2 #define _PIAACMCSIMUL_H
6 #define ApoFitCosFact 1.0
34 double lambdaarray[2000];
66 double LyotStop_zpos[10];
69 char PIAAmaterial_name[10];
114 char fpmmaterial_name[10];
179 int PIAAsimul_initpiaacmcconf(
long piaacmctype,
double fpmradld,
double centobs0,
double centobs1,
int WFCmode,
int load);
248 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);
250 long PIAACMCsimul_mkLyotMask(
const char *IDincoh_name,
const char *IDmc_name,
const char *IDzone_name,
double throughput,
const char *IDout_name);
270 long PIAACMC_FPMresp_resample(
const char *FPMresp_in_name,
const char *FPMresp_out_name,
long NBlambda,
long PTstep);
285 long PIAACMC_FPM_process(
const char *FPMsag_name,
const char *zonescoord_name,
long NBexp,
const char *outname);
287 long PIAACMC_FPMresp_resample(
const char *FPMresp_in_name,
const char *FPMresp_out_name,
long NBlambda,
long PTstep);
304 double PIAACMCsimul_computePSF(
float xld,
float yld,
long startelem,
long endelem,
int savepsf,
int sourcesize,
int extmode,
int outsave);
306 long PIAACMCsimul_CA2propCubeInt(
const char *IDamp_name,
const char *IDpha_name,
float zmin,
float zmax,
long NBz,
const char *IDout_name);
static long vsize
Definition: PIAACMCsimul.c:161
long CmodesID
Definition: PIAACMCsimul.h:71
long fpmarraysize
Definition: PIAACMCsimul.h:113
float pixscale
Definition: PIAACMCsimul.h:41
long PIAAsimul_mkSimpleLyotStop(const char *ID_name, float rin, float rout)
Definition: PIAACMCsimul.c:3988
double fpmmaxsag
Definition: PIAACMCsimul.h:104
long NBrings
Definition: PIAACMCsimul.h:102
double fpmOuterConeZ
Definition: PIAACMCsimul.h:110
long PIAACMCsimul_CA2propCubeInt(const char *IDamp_name, const char *IDpha_name, float zmin, float zmax, long NBz, const char *IDout_name)
Definition: PIAACMCsimul.c:9156
int_fast8_t init_PIAACMCsimul()
Module initialization.
Definition: PIAACMCsimul.c:292
int PIAAmode
Definition: PIAACMCsimul.h:43
double PIAACMCsimul_computePSF(float xld, float yld, long startelem, long endelem, int savepsf, int sourcesize, int extmode, int outsave)
Definition: PIAACMCsimul.c:8517
float PIAAsep
Definition: PIAACMCsimul.h:46
long NBringCentCone
Definition: PIAACMCsimul.h:107
long piaa1CmodesID
Definition: PIAACMCsimul.h:83
long NBFmodes
Definition: PIAACMCsimul.h:78
char * line
Definition: CLIcore.c:157
double Fratio
Definition: PIAACMCsimul.h:94
int prePIAA0mask
Definition: PIAACMCsimul.h:47
static double * zonez_array
Definition: PIAACMCsimul.c:153
int PIAACMCsimul_mkPIAAMshapes_from_RadSag(const char *fname, const char *ID_PIAAM0_name, const char *ID_PIAAM1_name)
Definition: PIAACMCsimul.c:3574
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)
Definition: PIAACMCsimul.c:4233
int PIAAsimul_initpiaacmcconf(long piaacmctype, double fpmradld, double centobs0, double centobs1, int WFCmode, int load)
initializes configuration
Definition: PIAACMCsimul.c:1023
float PIAA0pos
Definition: PIAACMCsimul.h:45
int PIAACMCsimul_makePIAAshapes(OPTPIAACMCDESIGN *design, long index)
Definition: PIAACMCsimul.c:3716
double fpzfactor
Definition: PIAACMCsimul.h:98
void PIAACMCsimul_free(void)
Free PIAACMC memory.
Definition: PIAACMCsimul.c:989
long FmodesID
Definition: PIAACMCsimul.h:76
int postPIAA0mask
Definition: PIAACMCsimul.h:49
int fpmmaterial_code
Definition: PIAACMCsimul.h:115
int PIAAmaterial_code
Definition: PIAACMCsimul.h:70
float beamrad
Definition: PIAACMCsimul.h:39
long focmNBzone
Definition: PIAACMCsimul.h:93
double fpmCentConeRad
Definition: PIAACMCsimul.h:108
double lambdaB
Definition: PIAACMCsimul.h:33
int PIAACMCsimul_init_geomPIAA_rad(const char *IDapofit_name)
Definition: PIAACMCsimul.c:3171
long PIAACMCsimul_mkLyotMask(const char *IDincoh_name, const char *IDmc_name, const char *IDzone_name, double throughput, const char *IDout_name)
Definition: PIAACMCsimul.c:4028
long size
Definition: PIAACMCsimul.h:40
long zoneaID
Definition: PIAACMCsimul.h:97
double centObs1
Definition: PIAACMCsimul.h:24
double lambda
Definition: PIAACMCsimul.h:32
long piaa1FmodesID
Definition: PIAACMCsimul.h:84
static void PIAACMCsimul_logFunctionCall(char *LogFileName, const char *FunctionName, long line, char *comments)
int PIAACMCsimul_run(const char *confindex, long mode)
Definition: PIAACMCsimul.c:9243
double centObs0
Definition: PIAACMCsimul.h:23
long zonezID
Definition: PIAACMCsimul.h:95
float piaaCPAmax
Definition: PIAACMCsimul.h:79
double r1lim
Definition: PIAACMCsimul.h:26
static double * dphadz_array
Definition: PIAACMCsimul.c:157
long PIAACMCsimul_mkFPM_zonemap(const char *IDname)
Definition: PIAACMCsimul.c:2341
static double * outtmp_array
Definition: PIAACMCsimul.c:158
float prePIAA0maskpos
Definition: PIAACMCsimul.h:48
double fpmsagreg_alpha
Definition: PIAACMCsimul.h:106
int PIAACMCsimul_exec(const char *confindex, long mode)
Main simulation routine.
Definition: PIAACMCsimul.c:5056
long NBradpts
Definition: PIAACMCsimul.h:27
int PIAAsimul_savepiaacmcconf(const char *dname)
Save configuration.
Definition: PIAACMCsimul.c:2137
int nbDM
Definition: PIAACMCsimul.h:58
int PIAAsimul_loadpiaacmcconf(const char *dname)
Load configuration.
Definition: PIAACMCsimul.c:2215
float pupoutmaskrad
Definition: PIAACMCsimul.h:55
double fpmOuterConeRad
Definition: PIAACMCsimul.h:112
void PIAACMCsimul_init(OPTPIAACMCDESIGN *design, long index, double TTxld, double TTyld)
initializes the optsyst structure to simulate reflective PIAACMC system
Definition: PIAACMCsimul.c:420
long piaa0FmodesID
Definition: PIAACMCsimul.h:82
long NBCmodes
Definition: PIAACMCsimul.h:73
double r0lim
Definition: PIAACMCsimul.h:25
long piaa0CmodesID
Definition: PIAACMCsimul.h:81
float peakPSF
Definition: PIAACMCsimul.h:87
Definition: PIAACMCsimul.h:19
long PIAACMC_FPMresp_resample(const char *FPMresp_in_name, const char *FPMresp_out_name, long NBlambda, long PTstep)
Definition: PIAACMCsimul.c:4815
double fpmaskradld
Definition: PIAACMCsimul.h:92
long NBLyotStop
Definition: PIAACMCsimul.h:64
long piaaNBCmodesmax
Definition: PIAACMCsimul.h:74
float LyotZmax
Definition: PIAACMCsimul.h:54
double fpmsagreg_coeff
Definition: PIAACMCsimul.h:105
static double * fpmresp_array
Definition: PIAACMCsimul.c:152
long PIAACMC_FPM_process(const char *FPMsag_name, const char *zonescoord_name, long NBexp, const char *outname)
Definition: PIAACMCsimul.c:4928
double fpmOuterConeRadld
Definition: PIAACMCsimul.h:111
long PIAACMCsimul_mkFocalPlaneMask(const char *IDzonemap_name, const char *ID_name, int mode, int saveMask)
Definition: PIAACMCsimul.c:2687
int nblambda
Definition: PIAACMCsimul.h:31
double fpmaskamptransm
Definition: PIAACMCsimul.h:96
float LyotZmin
Definition: PIAACMCsimul.h:53
double fpmminsag
Definition: PIAACMCsimul.h:103
double PIAACMCsimul_achromFPMsol_eval(double *fpmresp_array, double *zonez_array, double *dphadz_array, double *outtmp_array, long vsize, long nbz, long nbl)
Definition: PIAACMCsimul.c:4596
float postPIAA0maskpos
Definition: PIAACMCsimul.h:50
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.c:4688
long PIAACMC_FPMresp_rmzones(const char *FPMresp_in_name, const char *FPMresp_out_name, long NBzones)
Definition: PIAACMCsimul.c:4776
int invPIAAmode
Definition: PIAACMCsimul.h:52
long Fmsize
Definition: PIAACMCsimul.h:77
uint_fast8_t PIAACMCsimul_load2DRadialApodization(const char *IDapo_name, float beamradpix, const char *IDapofit_name)
Definition: PIAACMCsimul.c:3076
float PIAAcoeff
Definition: PIAACMCsimul.h:51
long Cmsize
Definition: PIAACMCsimul.h:72
long PIAACMCsimul_rings2sectors(const char *IDin_name, const char *sectfname, const char *IDout_name)
Definition: PIAACMCsimul.c:2635
double fpmCentConeZ
Definition: PIAACMCsimul.h:109
double fpmRad
Definition: PIAACMCsimul.h:100