Changeset 10963 for trunk/FACT++/src/FAD.h
- Timestamp:
- 06/09/11 21:15:53 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/FACT++/src/FAD.h
r10773 r10963 29 29 // Data structures 30 30 // 31 32 typedef struct{ 33 int hardID ; //hardware ID 34 int pos_i ; //geometrical positon row 35 int pos_j ; // column 36 int G_APD ; //G-APD identifier 37 double V_op ; //operation voltage 38 int HV_B ; //HV Board 39 int HV_C ; //HV Channel 40 double pos_X ; //geometrical position in pixel units 41 double pos_Y ; // 42 } PIX_MAP ; 43 44 31 45 typedef struct { 32 46 … … 76 90 #define NBOARDS 40 // max. number of boards 77 91 #define NPIX 1440 // max. number of pixels 78 #define NTMARK 1 80 // max. number of timeMarker signals92 #define NTMARK 160 // max. number of timeMarker signals 79 93 #define MAX_SOCK 280 // NBOARDS * 7 80 94 … … 101 115 102 116 typedef struct { 117 uint16_t Roi ; // #slices per pixel (same for all pixels and tmarks) 103 118 uint32_t EventNum ; // EventNumber as from FTM 104 119 uint16_t TriggerType ; // Trigger Type from FTM 105 uint16_t Roi ; // #slices per pixel (same for all pixels and tmarks)106 120 107 121 uint32_t SoftTrig ; // SoftTrigger Info (TBD) 108 122 uint32_t PCTime ; // when did event start to arrive at PC 109 123 110 int16_t *StartPix ; //First Channel per Pixel (Pixels sorted according Software ID) ; -1 if not filled 111 112 int16_t *StartTM ; //First Channel for TimeMark (sorted Hardware ID) ; -1 if not filled 113 114 uint16_t *Adc_Data ; // [ NPixels ] [ ROI ] sorted softID 115 116 uint16_t *Adc_Tmark ; // [ NTmark ] [ ROI ] sorted hardID 117 118 //this is highly redundant and should be reduced to usefull info [if any] 119 PEVNT_HEADER *FADhead; // [ NBoards ] sorted Board Headers (according Hardware ID) 124 uint32_t BoardTime[NBOARDS];// 125 126 int16_t StartPix[NPIX]; // First Channel per Pixel (Pixels sorted according Software ID) ; -1 if not filled 127 128 int16_t StartTM[NTMARK]; // First Channel for TimeMark (sorted Hardware ID) ; -1 if not filled 129 130 uint16_t Adc_Data[1]; // final length defined by malloc .... 120 131 121 132 } EVENT ; … … 162 173 //--------------------------------------------------------------- 163 174 164 #define MAX_RUN 64 165 #define MAX_EVT 131072 175 #define MAX_RUN 256 176 #define MAX_EVT 32768 //don't worry, for events is MAX_RUN*MAX_EVT 177 178 typedef void* FileHandle_t ; 166 179 167 180 typedef struct { 168 181 uint32_t runId ; //run number 169 182 uint32_t lastTime ; //time when last event written so far 183 uint32_t closeTime ; //time when run should be closed 170 184 uint32_t nextEvt ; //next event number to be written 171 185 uint32_t waitEvt ; //event that would be ready to be written 172 int32_t fileId ; //id of open file 186 int32_t fileId ; //<0 never opened, 0=open, >0 closed 187 FileHandle_t fileHd ; //fileHandle (NULL if not open) 173 188 int16_t ctrlId[MAX_EVT] ; //index to buffId (sorted list; -1 =end) 174 189 uint16_t buffId[MAX_EVT] ; //index to mBuffer(buffered raw data) … … 188 203 int32_t nRoi ; 189 204 int32_t pcTime ; 205 int32_t evtLen ; 190 206 EVENT *fEvent ; 207 PEVNT_HEADER *FADhead; // 191 208 192 209 } WRK_DATA ; //internal to eventbuilder … … 197 214 198 215 typedef struct { 199 int readPtr ; //index of reading200 int writePtr ; //index of writing216 int frstPtr ; //first used index 217 int lastPtr ; //last used index 201 218 int evtBuf[MAX_EVT*MAX_RUN] ; //index of event in mBuffer 202 219 int evtStat[MAX_EVT*MAX_RUN] ; //status of event: … … 215 232 } EVT_CTRL ; 216 233 234 //--------------------------------------------------------------- 235 236 237 typedef struct { 238 struct sockaddr_in sockAddr ; 239 int sockDef ; //<0 not defined/ ==0 not to be used/ >0 used 240 } FACT_SOCK ; 217 241 218 242
Note:
See TracChangeset
for help on using the changeset viewer.