| [3308] | 1 | #ifndef  NBGENE_H_SEEN | 
|---|
|  | 2 | #define  NBGENE_H_SEEN | 
|---|
|  | 3 |  | 
|---|
|  | 4 |  | 
|---|
|  | 5 | #ifdef __cplusplus | 
|---|
|  | 6 |  | 
|---|
|  | 7 | #ifdef  FLAG_MAIN_NBSREAD | 
|---|
|  | 8 | #define  EXTERN | 
|---|
|  | 9 | #else | 
|---|
|  | 10 | #define  EXTERN  extern | 
|---|
|  | 11 | #endif | 
|---|
|  | 12 |  | 
|---|
|  | 13 | #else | 
|---|
|  | 14 |  | 
|---|
|  | 15 | #define  EXTERN | 
|---|
|  | 16 |  | 
|---|
|  | 17 | #endif | 
|---|
|  | 18 |  | 
|---|
|  | 19 | /* structure de definition du montecarlo */ | 
|---|
|  | 20 | struct  montecarlo { | 
|---|
|  | 21 | /* flag montecarlo et tailles finies */ | 
|---|
|  | 22 | int montecar,Taille_Finie,Blending; | 
|---|
|  | 23 | /* initialisation aleatoire */ | 
|---|
|  | 24 | int_4 iseed1,iseed2,iseed3; | 
|---|
|  | 25 | /* nbre engendre, nbre a engendrer par etoile */ | 
|---|
|  | 26 | int NGene,NGenStar; | 
|---|
|  | 27 | /* nbre points amplifies, nombre points amplifies avec taille finie */ | 
|---|
|  | 28 | int NPoints_ampli,NPoints_ampli_tf,Net_ampli_tf; | 
|---|
|  | 29 | /* ampli maxi ponctuelle, tf, coupure en amplification (apres=1.), blend */ | 
|---|
|  | 30 | float A0MaxPt,A0Max,Usu0_Cut,A0Max_blend[NCOULMX]; | 
|---|
|  | 31 | /* u0 initialisation, bornes min et max, simule */ | 
|---|
|  | 32 | float U0SimI,U0MinI,U0MaxI,U0Sim; | 
|---|
|  | 33 | float (*TireU0)(float x); | 
|---|
|  | 34 | /* t0 initialisation, bornes min et max, simule */ | 
|---|
|  | 35 | double T0SimI,T0MaxI,T0MinI,T0Sim; | 
|---|
|  | 36 | double T0MaxI_eff,T0MinI_eff; | 
|---|
|  | 37 | float (*TireT0)(float x); | 
|---|
|  | 38 | /* tau initialisation, bornes min et max, simule (cas ponctuel) */ | 
|---|
|  | 39 | float TauSimI,TauMinI,TauMaxI,TauSim; | 
|---|
|  | 40 | float (*TireTau)(float x); | 
|---|
|  | 41 | /* U initialisation, bornes min et max, simule (cas ponctuel) */ | 
|---|
|  | 42 | float USimI,UMinI,UMaxI,USim; | 
|---|
|  | 43 | float (*TireU)(float x); | 
|---|
|  | 44 | /* cas du blending 1ere et 2sd etoiles */ | 
|---|
|  | 45 | /* fct de generation des parametres du blending */ | 
|---|
|  | 46 | void (*Get_Par_Blending)(void); | 
|---|
|  | 47 | /* flux, coeff de blending et calib etoile principale */ | 
|---|
|  | 48 | float fmc1[NCOULMX],coeff_Arec1[NCOULMX]; | 
|---|
|  | 49 | STARCALU starcal1; | 
|---|
|  | 50 | /* flux, coeff de blending et calib etoile secondaire */ | 
|---|
|  | 51 | float fmc2[NCOULMX],coeff_Arec2[NCOULMX]; | 
|---|
|  | 52 | STARCALU starcal2; | 
|---|
|  | 53 | /* type (SP ou GR) des etoiles du couple blending */ | 
|---|
|  | 54 | int type1,type2; | 
|---|
|  | 55 | }; | 
|---|
|  | 56 | typedef struct montecarlo MONTECARLO; | 
|---|
|  | 57 |  | 
|---|
|  | 58 | EXTERN MONTECARLO mc; | 
|---|
|  | 59 | EXTERN int ANNEE_OBS; | 
|---|
|  | 60 |  | 
|---|
|  | 61 | #ifdef __cplusplus | 
|---|
|  | 62 | extern "C" { | 
|---|
|  | 63 | #endif | 
|---|
|  | 64 | int Give_Annee_Obs(int lp); | 
|---|
|  | 65 | float Rayon_SP_Th(float magv); | 
|---|
|  | 66 | void AMPLML(int io); | 
|---|
|  | 67 | double ampli_ponct(double u); | 
|---|
|  | 68 | double ampli_tf(double u,double U,int Nseq); | 
|---|
|  | 69 | double u0_ponct(double A); | 
|---|
|  | 70 | double u0_tf(double A,double U,double prec,int *niter,double *Afinal); | 
|---|
|  | 71 | #ifdef __cplusplus | 
|---|
|  | 72 | } | 
|---|
|  | 73 | #endif | 
|---|
|  | 74 |  | 
|---|
|  | 75 | #endif | 
|---|