Changeset 193 for drsdaq/DAQReadout.cc
- Timestamp:
- 03/31/10 07:46:11 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
drsdaq/DAQReadout.cc
r182 r193 241 241 else snprintf(RHeader->Description,sizeof(RHeader->Description),"DUMMY"); 242 242 243 // Determine new run number using the file given by RUN_NUM_FILE 244 FILE *RunNumFile = fopen(RUN_NUM_FILE,"r+"); 245 if(RunNumFile == NULL) { 246 PrintMessage("Error: Could not open file '%s' that contains the last run number (%s)\n",RUN_NUM_FILE,strerror(errno)); 243 // Request new run number 244 DimRpcInfo RunNumRPC((char *) "NextRunNumber", -1); 245 RunNumRPC.setData((char *) ""); 246 RunNumber = RunNumRPC.getInt(); 247 if(RunNumber < 1) { 248 PrintMessage("Error: No connection to run number dispatcher or received number smaller than 1\n"); 247 249 return; 248 }249 if(fscanf(RunNumFile,"%u", &RunNumber) != 1 ) {250 PrintMessage("Error: Could not read run number from file '%s'\n",RUN_NUM_FILE);251 fclose(RunNumFile);252 return;253 }254 RunNumber++;255 rewind(RunNumFile);256 if((fprintf(RunNumFile,"%.8u ",RunNumber) < 0) || (fclose(RunNumFile)!=0)) {257 PrintMessage("Error: Could not write to or close run number file '%s'\n",RUN_NUM_FILE);258 PrintMessage("*** This is a serious error because run numbers will get mixed. Fix it. DAQ will terminate.\n");259 throw;260 250 } 261 251 … … 804 794 // Transfer amplitude-calibrated waveforms to memory 805 795 void DAQReadout::ReadCalibratedDRSData() { 806 796 807 797 for (int i=FirstBoard; i<=LastBoard; i++) { 808 798 GetBoard(i)->TransferWaves(GetBoard(i)->GetNumberOfChannels()*GetBoard(i)->GetNumberOfChips()); 809 799 810 800 for (int k=0; k<GetBoard(i)->GetNumberOfChips(); k++) { 811 801 TriggerCell[i][k] = GetBoard(i)->GetTriggerCell(k); 812 813 802 for (int j=0; j<GetBoard(i)->GetNumberOfChannels(); j++) { 814 803 GetBoard(i)->GetWave(k, j, WaveForm[i][k][j], true, TriggerCell[i][k]);
Note:
See TracChangeset
for help on using the changeset viewer.