experim.h

Go to the documentation of this file.
00001 /********************************************************************\
00002 
00003   Name:         experim.h
00004   Created by:   ODBedit program
00005 
00006   Contents:     This file contains C structures for the "Experiment"
00007                 tree in the ODB and the "/Analyzer/Parameters" tree.
00008 
00009                 Additionally, it contains the "Settings" subtree for
00010                 all items listed under "/Equipment" as well as their
00011                 event definition.
00012 
00013                 It can be used by the frontend and analyzer to work
00014                 with these information.
00015 
00016                 All C structures are accompanied with a string represen-
00017                 tation which can be used in the db_create_record function
00018                 to setup an ODB structure which matches the C structure.
00019 
00020   Created on:   Mon Apr 14 15:27:19 2003
00021 
00022 \********************************************************************/
00023 
00024 #define EXP_PARAM_DEFINED
00025 
00026 typedef struct {
00027    char comment[80];
00028 } EXP_PARAM;
00029 
00030 #define EXP_PARAM_STR(_name) char *_name[] = {\
00031 "[.]",\
00032 "Comment = STRING : [80] Test",\
00033 "",\
00034 NULL }
00035 
00036 #ifndef EXCL_ADC_CALIBRATION
00037 
00038 #define ADC_CALIBRATION_PARAM_DEFINED
00039 
00040 typedef struct {
00041    INT pedestal[8];
00042    float software_gain[8];
00043    double histo_threshold;
00044 } ADC_CALIBRATION_PARAM;
00045 
00046 #define ADC_CALIBRATION_PARAM_STR(_name) char *_name[] = {\
00047 "[.]",\
00048 "Pedestal = INT[8] :",\
00049 "[0] 174",\
00050 "[1] 194",\
00051 "[2] 176",\
00052 "[3] 182",\
00053 "[4] 185",\
00054 "[5] 215",\
00055 "[6] 202",\
00056 "[7] 202",\
00057 "Software Gain = FLOAT[8] :",\
00058 "[0] 1",\
00059 "[1] 1",\
00060 "[2] 1",\
00061 "[3] 1",\
00062 "[4] 1",\
00063 "[5] 1",\
00064 "[6] 1",\
00065 "[7] 1",\
00066 "Histo threshold = DOUBLE : 20",\
00067 "",\
00068 NULL }
00069 
00070 #endif
00071 
00072 #ifndef EXCL_ADC_SUMMING
00073 
00074 #define ADC_SUMMING_PARAM_DEFINED
00075 
00076 typedef struct {
00077    float adc_threshold;
00078 } ADC_SUMMING_PARAM;
00079 
00080 #define ADC_SUMMING_PARAM_STR(_name) char *_name[] = {\
00081 "[.]",\
00082 "ADC threshold = FLOAT : 5",\
00083 "",\
00084 NULL }
00085 
00086 #endif
00087 
00088 #ifndef EXCL_GLOBAL
00089 
00090 #define GLOBAL_PARAM_DEFINED
00091 
00092 typedef struct {
00093    float adc_threshold;
00094 } GLOBAL_PARAM;
00095 
00096 #define GLOBAL_PARAM_STR(_name) char *_name[] = {\
00097 "[.]",\
00098 "ADC Threshold = FLOAT : 5",\
00099 "",\
00100 NULL }
00101 
00102 #endif
00103 
00104 #ifndef EXCL_TRIGGER
00105 
00106 #define ADC0_BANK_DEFINED
00107 
00108 typedef struct {
00109    WORD adc0;
00110    WORD adc1;
00111    WORD adc2;
00112    WORD adc3;
00113 } ADC0_BANK;
00114 
00115 #define ADC0_BANK_STR(_name) char *_name[] = {\
00116 "[.]",\
00117 "adc0 = WORD : 0",\
00118 "adc1 = WORD : 0",\
00119 "adc2 = WORD : 0",\
00120 "adc3 = WORD : 0",\
00121 "",\
00122 NULL }
00123 
00124 #define ASUM_BANK_DEFINED
00125 
00126 typedef struct {
00127    float sum;
00128    float average;
00129 } ASUM_BANK;
00130 
00131 #define ASUM_BANK_STR(_name) char *_name[] = {\
00132 "[.]",\
00133 "Sum = FLOAT : 0",\
00134 "Average = FLOAT : 0",\
00135 "",\
00136 NULL }
00137 
00138 #define TRIGGER_COMMON_DEFINED
00139 
00140 typedef struct {
00141    WORD event_id;
00142    WORD trigger_mask;
00143    char buffer[32];
00144    INT type;
00145    INT source;
00146    char format[8];
00147    BOOL enabled;
00148    INT read_on;
00149    INT period;
00150    double event_limit;
00151    DWORD num_subevents;
00152    INT log_history;
00153    char frontend_host[32];
00154    char frontend_name[32];
00155    char frontend_file_name[256];
00156 } TRIGGER_COMMON;
00157 
00158 #define TRIGGER_COMMON_STR(_name) char *_name[] = {\
00159 "[.]",\
00160 "Event ID = WORD : 1",\
00161 "Trigger mask = WORD : 0",\
00162 "Buffer = STRING : [32] SYSTEM",\
00163 "Type = INT : 2",\
00164 "Source = INT : 16777215",\
00165 "Format = STRING : [8] MIDAS",\
00166 "Enabled = BOOL : y",\
00167 "Read on = INT : 257",\
00168 "Period = INT : 500",\
00169 "Event limit = DOUBLE : 0",\
00170 "Num subevents = DWORD : 0",\
00171 "Log history = INT : 0",\
00172 "Frontend host = STRING : [32] pc810",\
00173 "Frontend name = STRING : [32] Sample Frontend",\
00174 "Frontend file name = STRING : [256] C:\Midas\examples\experiment\frontend.c",\
00175 "",\
00176 NULL }
00177 
00178 #define TRIGGER_SETTINGS_DEFINED
00179 
00180 typedef struct {
00181    BYTE io506;
00182 } TRIGGER_SETTINGS;
00183 
00184 #define TRIGGER_SETTINGS_STR(_name) char *_name[] = {\
00185 "[.]",\
00186 "IO506 = BYTE : 7",\
00187 "",\
00188 NULL }
00189 
00190 #endif
00191 
00192 #ifndef EXCL_SCALER
00193 
00194 #define SCALER_COMMON_DEFINED
00195 
00196 typedef struct {
00197    WORD event_id;
00198    WORD trigger_mask;
00199    char buffer[32];
00200    INT type;
00201    INT source;
00202    char format[8];
00203    BOOL enabled;
00204    INT read_on;
00205    INT period;
00206    double event_limit;
00207    DWORD num_subevents;
00208    INT log_history;
00209    char frontend_host[32];
00210    char frontend_name[32];
00211    char frontend_file_name[256];
00212 } SCALER_COMMON;
00213 
00214 #define SCALER_COMMON_STR(_name) char *_name[] = {\
00215 "[.]",\
00216 "Event ID = WORD : 2",\
00217 "Trigger mask = WORD : 0",\
00218 "Buffer = STRING : [32] SYSTEM",\
00219 "Type = INT : 17",\
00220 "Source = INT : 0",\
00221 "Format = STRING : [8] MIDAS",\
00222 "Enabled = BOOL : y",\
00223 "Read on = INT : 377",\
00224 "Period = INT : 10000",\
00225 "Event limit = DOUBLE : 0",\
00226 "Num subevents = DWORD : 0",\
00227 "Log history = INT : 0",\
00228 "Frontend host = STRING : [32] pc810",\
00229 "Frontend name = STRING : [32] Sample Frontend",\
00230 "Frontend file name = STRING : [256] C:\Midas\examples\experiment\frontend.c",\
00231 "",\
00232 NULL }
00233 
00234 #endif

Midas DOC Version 1.9.3 ---- PSI Stefan Ritt ----
Contributions: Pierre-Andre Amaudruz - Suzannah Daviel - Doxygen - Peter Green - Greg Hackman - Gertjan Hofman - Paul Knowles - Rudi Meier - Glenn Moloney - Dave Morris - Konstantin Olchanski - Renee Poutissou - Andreas Suter - Piotr Adam Zolnierczuk