32 #ifndef _MCEXTREME_CONSTANT_H 33 #define _MCEXTREME_CONSTANT_H 35 #define MMC_VERSION "v2023" 36 #define MMC_VERSION_MAJOR 2 37 #define MMC_VERSION_MINOR 0 38 #define MMC_VERSION_PATCH 0 40 #define DET_MASK 0xFFFF0000 41 #define MED_MASK 0x0000FFFF 45 #define MCX_DEBUG_REC_LEN 6 47 #define MCX_SRC_PENCIL 0 48 #define MCX_SRC_ISOTROPIC 1 49 #define MCX_SRC_CONE 2 50 #define MCX_SRC_GAUSSIAN 3 51 #define MCX_SRC_PLANAR 4 52 #define MCX_SRC_PATTERN 5 53 #define MCX_SRC_FOURIER 6 54 #define MCX_SRC_ARCSINE 7 55 #define MCX_SRC_DISK 8 56 #define MCX_SRC_FOURIERX 9 57 #define MCX_SRC_FOURIERX2D 10 58 #define MCX_SRC_ZGAUSSIAN 11 59 #define MCX_SRC_LINE 12 60 #define MCX_SRC_SLIT 13 61 #define MCX_SRC_PENCILARRAY 14 62 #define MCX_SRC_PATTERN3D 15 64 #define SAVE_DETID(a) ((a) & 0x1) 65 #define SAVE_NSCAT(a) ((a)>>1 & 0x1) 66 #define SAVE_PPATH(a) ((a)>>2 & 0x1) 67 #define SAVE_MOM(a) ((a)>>3 & 0x1) 68 #define SAVE_PEXIT(a) ((a)>>4 & 0x1) 69 #define SAVE_VEXIT(a) ((a)>>5 & 0x1) 70 #define SAVE_W0(a) ((a)>>6 & 0x1) 72 #define SET_SAVE_DETID(a) ((a) | 0x1 ) 73 #define SET_SAVE_NSCAT(a) ((a) | 0x1<<1) 74 #define SET_SAVE_PPATH(a) ((a) | 0x1<<2) 75 #define SET_SAVE_MOM(a) ((a) | 0x1<<3) 76 #define SET_SAVE_PEXIT(a) ((a) | 0x1<<4) 77 #define SET_SAVE_VEXIT(a) ((a) | 0x1<<5) 78 #define SET_SAVE_W0(a) ((a) | 0x1<<6) 80 #define UNSET_SAVE_DETID(a) ((a) & ~(0x1) ) 81 #define UNSET_SAVE_NSCAT(a) ((a) & ~(0x1<<1)) 82 #define UNSET_SAVE_PPATH(a) ((a) & ~(0x1<<2)) 83 #define UNSET_SAVE_MOM(a) ((a) & ~(0x1<<3)) 84 #define UNSET_SAVE_PEXIT(a) ((a) & ~(0x1<<4)) 85 #define UNSET_SAVE_VEXIT(a) ((a) & ~(0x1<<5)) 86 #define UNSET_SAVE_W0(a) ((a) & ~(0x1<<6))