source: JEM-EUSO/esaf_cc_at_lal/packages/simulation/detector/optics/include/Ntrace_optics.hh @ 114

Last change on this file since 114 was 114, checked in by moretto, 11 years ago

actual version of ESAF at CCin2p3

File size: 1.4 KB
Line 
1/* -------------------------------------------------------------------------
2 *   trace_optics.h
3 *
4 *   --- header file for trace_optics.h
5 *
6 * Copyright (c) 2000-2010 N.Sakaki, Y.Takizawa, Y.Kawasaki
7 * All rights reserved.
8 * $Id$
9 * -------------------------------------------------------------------------
10 */
11#ifndef _NTRACE_OPTICS_H
12#define _NTRACE_OPTICS_H
13
14#include <stdio.h>
15#include "Nphoton.hh"
16
17#define FS_TOLERANCE   0.01  /* mm */
18#define FS_DEF_STEP    0.1   /* mm */
19#define FSLOOP_MAX      100
20
21#define NSURFACES 9
22#define SURFDOE NSURFACES
23#define NMATERIALS 8
24
25namespace NTraceLens{
26
27typedef struct _MatData{
28  char *name,*filename;
29  int ndata,size;
30  double *wl;
31  double *n,*zn;
32  double *k,*zk;
33} MatData;
34
35typedef struct _SurfData{
36  int ndata,size,matid;
37  char *filename;
38  double r_cut,r_lens,r_cutx;
39  double Rc,Sz,Zc;
40  double *r;
41  double *z;
42} SurfData;
43
44typedef struct _tel_param{
45  char *name;
46  int nmat;
47  int flag_printray;
48  int DOE_order;
49  double DOE_efficiency;
50  double r_wall, r_fs, r_cut_fs, r_cutx_fs;
51  MatData material[NMATERIALS];
52  SurfData surface[NSURFACES+1];
53  double FS_C, FS_K, FS[4], FS_OFFSET; /* for FS */
54  double lambda0; /* nm */
55  char lens_dir[256];
56} tel_param;
57
58
59
60int read_tel_param(char *filename, tel_param *param, FILE *fplog);
61int print_param(tel_param *p);
62int trace_main(tel_param *param, NPhoton *photon, FILE *fplog);
63double FocalSurface(double r, tel_param *p);
64};
65#endif /* _TRACE_OPTICS_H */
Note: See TracBrowser for help on using the repository browser.