Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

incl/snifs_structures.h

Go to the documentation of this file.
00001 /* === Doxygen Comment ======================================= */
00035 /* =========================================================== */
00036 
00037 #ifndef _SNIFS_STRUCTURES_H
00038 #define _SNIFS_STRUCTURES_H
00039 
00040 /* ##### INSTRUMENTAL STRUCTURES ############################## */
00041 
00049 typedef enum { 
00050 
00051   UNKNOWN_CHANNEL, 
00052   BLUE_CHANNEL, 
00053   RED_CHANNEL, 
00054   NB_CHANNELS 
00055 
00056 } Channel;
00057 
00060 extern char channel_names[NB_CHANNELS][8];
00061 
00062 /* ===== Materials ============================== */
00063 
00066 typedef struct {
00067 
00069   enum { 
00070     BK7, 
00071     UBK7, 
00072     SF4, 
00073     SK5, 
00074     F2, 
00075     SF57, 
00076     FS,                         
00077     EPR,                        
00078     EPB,                        
00079     NB_MATERIAL                 
00080   } id;
00081   char   name[lg_label+1];      
00082   double *sellcoeffs;           
00083 
00084 } Material;
00085 
00088 extern char material_names[NB_MATERIAL][5];
00089 
00090 /* ===== Previously in IOlib ============================== */
00091 
00094 typedef struct {
00095 
00096   double aperture;             
00097   double central_obscuration;  
00098   float fratio;                
00099   double scale;                
00100 
00101 } Telescope;
00102 
00103 /* ===== CameraCollimator ============================== */
00104 
00107 typedef struct {
00108 
00109   double focal;                 
00110   double distor;                
00111 
00113   struct {
00114     double coef[3];             
00115     double lbdaref;             
00116   } LateralColor;
00117 
00118 } CameraCollimator;
00119 
00122 typedef struct {
00123 
00124   int    set;                   
00125   Material prism;               
00126   double A;                     
00127   Material grating;             
00128   double g_per_mm;              
00129   double blaze;                 
00130   double w_disp;                
00131   double tiltx;                 
00132   double tilty;                 
00133   double rotz;                  
00134 
00135 } Grism;
00136 
00137 /* ===== SnifsOptics ============================== */
00138 
00141 typedef struct {
00142 
00143   Channel channel;              
00144 
00146   struct {
00147     double gamma;               
00148   } enlarger;
00149 
00150   CameraCollimator collimator;  
00151   Grism            grism;       
00152   CameraCollimator camera;      
00153 
00155   struct { 
00156     double size;                
00157     double sizepix;             
00158     double angle;               
00159   } MLA; 
00160 
00162   struct { 
00163     double inf_util;            
00164     double sup_util;            
00165     double central_util;        
00166     double width_util;          
00167     double inf_total;           
00168     double sup_total;           
00169     double central_total;       
00170     double width_total;         
00171   } filter;
00172 
00174   struct { 
00175     double xc, yc;
00176   } center;
00177 
00178 } SnifsOptics; 
00179 
00180 /* ===== SnifsDetector ============================== */
00181 
00184 typedef struct { 
00185 
00186   char   name[lg_ident+1];      
00187   float  pixsize;               
00188   double gain;                  
00189   double ron;                   
00190   double dark;                  
00191   int    nx,ny;                 
00192 
00193 } SnifsDetector;
00194 
00195 /* ===== SnifsConfig ============================== */
00196 
00199 typedef struct { 
00200   char          name[lg_ident+1]; 
00201   SnifsOptics   optics;           
00202   Telescope     telescope;        
00203   SnifsDetector ccd;              
00204 
00205 } SnifsConfig;
00206 
00207 /* ##### PLOTTING STRUCTURES ############################## */
00208 
00221 typedef struct {
00222 
00223   float xmin,xmax,ymin,ymax;
00224 
00225 } PlotLimits;
00226 
00229 typedef struct {
00230 
00231   int shape;                 
00232   int size;                  
00233   int color;                 
00234   
00235 } PlotSymbol;
00236 
00242 typedef struct {
00243 
00244   int Graph;                 
00245   char devname[5];           
00246   PlotLimits Limits;         
00247   PlotSymbol Symbol;         
00248   float mincut,maxcut;       
00249 
00250 } Plot;
00251 
00256 #endif /* _SNIFS_STRUCTURES_H */
00257 
00258 /* 
00259 ;;; Local Variables: ***
00260 ;;; eval: (add-to-list 'c-font-lock-extra-types "CameraCollimator") ***
00261 ;;; eval: (add-to-list 'c-font-lock-extra-types "Grism") ***
00262 ;;; eval: (add-to-list 'c-font-lock-extra-types "Material") ***
00263 ;;; eval: (add-to-list 'c-font-lock-extra-types "PlotLimits") ***
00264 ;;; eval: (add-to-list 'c-font-lock-extra-types "PlotSymbol") ***
00265 ;;; End: ***
00266 */

Generated on Tue Nov 23 18:04:20 2004 for Snifs by doxygen 1.3.3