Changeset 14278 for fact/FADctrl/FADBoard.cc
- Timestamp:
- 07/19/12 15:33:14 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
fact/FADctrl/FADBoard.cc
r14174 r14278 205 205 } 206 206 207 if (m->ModifiedCalibration) ModifiedCalibCount = 0; 208 207 209 if (m->Mode == m->dynrange) { 208 210 // No amplitude calibration allowed! … … 275 277 // Determine gain if integration finished 276 278 if (Count < m->NumEventsRequested) break; 279 280 // Check for modified calibration procedure, then repeat gain calibration 281 if (m->ModifiedCalibration) { 282 if (ModifiedCalibCount == 0) { 283 DACCmd[1] = htons(65000); 284 DACCmd[3] = htons(0); 285 DACCmd[5] = htons(0); 286 } 287 else if (ModifiedCalibCount == 1) { 288 for (unsigned int i=0; i<NChips; i++) { 289 for (unsigned int j=0; j<NChannels; j++) { 290 if (i*NChannels+j >= 12) continue; 291 for (unsigned int k=0; k<NBins; k++) { 292 ACalib.Gain[i][j][k] = (Sum[i][j][k] / m->NumEventsRequested) - ACalib.Baseline[i][j][k]; 293 } 294 } 295 } 296 297 DACCmd[1] = htons(0); 298 DACCmd[3] = htons(50000); 299 DACCmd[5] = htons(0); 300 } 301 else if (ModifiedCalibCount == 2) { 302 for (unsigned int i=0; i<NChips; i++) { 303 for (unsigned int j=0; j<NChannels; j++) { 304 if (i*NChannels+j < 12 || i*NChannels+j >= 24) continue; 305 for (unsigned int k=0; k<NBins; k++) { 306 ACalib.Gain[i][j][k] = (Sum[i][j][k] / m->NumEventsRequested) - ACalib.Baseline[i][j][k]; 307 } 308 } 309 } 310 311 DACCmd[1] = htons(4000); 312 DACCmd[3] = htons(0); 313 DACCmd[5] = htons(0); 314 } 315 else { 316 for (unsigned int i=0; i<NChips; i++) { 317 for (unsigned int j=0; j<NChannels; j++) { 318 if (i*NChannels+j < 24) continue; 319 for (unsigned int k=0; k<NBins; k++) { 320 ACalib.Gain[i][j][k] = (Sum[i][j][k] / m->NumEventsRequested) - ACalib.Baseline[i][j][k]; 321 } 322 } 323 } 324 DACCmd[1] = htons(0); 325 DACCmd[3] = htons(0); 326 DACCmd[5] = htons(0); 327 State = secondary; 328 } 329 Send(DACCmd, sizeof(DACCmd)); 330 331 ModifiedCalibCount++; 332 333 memset(Sum, 0, sizeof(Sum)); 334 Count = 0; 335 break; 336 } 277 337 278 338 for (unsigned int i=0; i<NChips; i++) {
Note:
See TracChangeset
for help on using the changeset viewer.