| 1 | #ifndef __RFL_GEOMETRY__
|
|---|
| 2 | #define __RFL_GEOMETRY__
|
|---|
| 3 |
|
|---|
| 4 | #define ITEM_LIST /* LIST OF ITEMS IN THE CT DEFINITION FILE */ \
|
|---|
| 5 | T(type), /* type of definition file */ \
|
|---|
| 6 | T(focal_distance), /* focal distance */ \
|
|---|
| 7 | T(focal_std), /* std(focal distance) */ \
|
|---|
| 8 | T(point_spread), /* point spread */ \
|
|---|
| 9 | T(point_std), /* std(point spread) */ \
|
|---|
| 10 | T(adjustment_dev), /* std of adjustment deviation */ \
|
|---|
| 11 | T(black_spot), /* radius of the black spot in center of mirrors */ \
|
|---|
| 12 | T(n_mirrors), /* number of mirrors */ \
|
|---|
| 13 | T(r_mirror), /* radius of one mirror */ \
|
|---|
| 14 | T(camera_width), /* camera width */ \
|
|---|
| 15 | T(n_pixels), /* number of pixels in the camera */ \
|
|---|
| 16 | T(pixel_width), /* pixel width */ \
|
|---|
| 17 | T(refl_file), /* path of file containing refl. data */ \
|
|---|
| 18 | T(axisdev_file), /* path of file containing axis dev. data */ \
|
|---|
| 19 | T(define_mirrors), /* this entry is followed by the def. of pixels */ \
|
|---|
| 20 | T(n_centralpixels), /* this token is not for reflector but for camera */ \
|
|---|
| 21 | T(n_gappixels), /* same comment as for previous token. */ \
|
|---|
| 22 | T(chessboarded_panels)/* Flag to indicate chessboard panel configuration */
|
|---|
| 23 | #define T(x) x /* define T() as the name as it is */
|
|---|
| 24 | enum { ITEM_LIST };
|
|---|
| 25 | #undef T
|
|---|
| 26 |
|
|---|
| 27 | #define T(x) #x /* define T() as the string of x */
|
|---|
| 28 | const char *ctparms[] = { ITEM_LIST };
|
|---|
| 29 | #undef T
|
|---|
| 30 | #undef ITEM_LIST
|
|---|
| 31 |
|
|---|
| 32 | /* Strings */
|
|---|
| 33 | #define TYPE_ERROR_FTL /* no parms */ \
|
|---|
| 34 | "This version of Reflector handles only MAGIC.\n" \
|
|---|
| 35 | " *** Please change \"ct_type\" in geometry file accordingly.\n"
|
|---|
| 36 | #define MIRR_NSPEC_FTL /* no parms */ \
|
|---|
| 37 | "The number of mirrors is needed for further processing.\n" \
|
|---|
| 38 | " *** Please specify it after the \"n_mirrors\" directive.\n"
|
|---|
| 39 | #define LOG__FLOAT_LOG /* floatname, value */ \
|
|---|
| 40 | "<%s> set at %.2f.\n"
|
|---|
| 41 | #define LOG__INT___LOG /* intname, value */ \
|
|---|
| 42 | "<%s> set at %d.\n"
|
|---|
| 43 | #define MIRR_TABLE_LOG /* no parms */ \
|
|---|
| 44 | "Start reading mirror data.\n"
|
|---|
| 45 | #define MIRR_ALLOC_FTL /* nr of mirrors */ \
|
|---|
| 46 | "Cannot allocate enough memory space for %d mirrors.\n"
|
|---|
| 47 | #define MIRR_ALLOC_LOG /* nr of mirrors */ \
|
|---|
| 48 | "Allocated memory for %d mirrors.\n"
|
|---|
| 49 | #define BINF_OPEN__LOG /* bin. data filename */ \
|
|---|
| 50 | "Located and opened file \"%s\" containing mirror data.\n"
|
|---|
| 51 | #define READ_ASCII_LOG /* no parms */ \
|
|---|
| 52 | "Reading ASCII data for mirrors.\n"
|
|---|
| 53 | #define MIRR_FEW___FTL /* mirrors read */ \
|
|---|
| 54 | "Not enough mirror data: only %d mirrors read.\n"
|
|---|
| 55 | #define RFLF_ERROR_FTL /* reflectivity fname */ \
|
|---|
| 56 | "Cannot find file \"%s\" containing data on reflectivity.\n"
|
|---|
| 57 | #define REFL_ALLOC_FTL /* nr of refl items */ \
|
|---|
| 58 | "Cannot allocate enough memory space for %d refl. data.\n"
|
|---|
| 59 | #define AXIS_ERROR_FTL /* axis dev fname */ \
|
|---|
| 60 | "Cannot find file \"%s\" containing data on axis dev.\n"
|
|---|
| 61 | #define AXIS_ALLOC_FTL /* nr of a/d items */ \
|
|---|
| 62 | "Cannot allocate enough memory space for %d axis dev. data.\n"
|
|---|
| 63 | #define AXIS_FEW___FTL /* read, total items */ \
|
|---|
| 64 | "Found only %d out of %d axis dev. data.\n"
|
|---|
| 65 | #define FOCL_FEW___FTL /* nr of focal items */ \
|
|---|
| 66 | "Cannot allocate enough memory space for %d focal data.\n"
|
|---|
| 67 |
|
|---|
| 68 | /* pre-defined filenames / values */
|
|---|
| 69 |
|
|---|
| 70 | #define REFLECTIVITY_FILE "../Data/reflectivity.dat"
|
|---|
| 71 | #define AXISDEVIATION_FILE "../Data/axisdev.dat"
|
|---|
| 72 |
|
|---|
| 73 | static char EVTH[] = "EVTH";
|
|---|
| 74 |
|
|---|
| 75 | /* maximum deviation from the original direction with
|
|---|
| 76 | * "random_pointing" option
|
|---|
| 77 | *
|
|---|
| 78 | * now is 6 degrees = 0.104719755119660 radians
|
|---|
| 79 | */
|
|---|
| 80 |
|
|---|
| 81 | extern float mean_refl; /* mean mirror reflectivity AM June 2002 */
|
|---|
| 82 |
|
|---|
| 83 | #define RANDOM_POINTING_MAX_SEPARATION 0.104719755119660
|
|---|
| 84 |
|
|---|
| 85 | #endif
|
|---|