Changeset 193 for drsdaq/DAQReadout.cc


Ignore:
Timestamp:
03/31/10 07:46:11 (14 years ago)
Author:
ogrimm
Message:
Updates for DRS4 handling
File:
1 edited

Legend:

Unmodified
Added
Removed
  • drsdaq/DAQReadout.cc

    r182 r193  
    241241  else snprintf(RHeader->Description,sizeof(RHeader->Description),"DUMMY");
    242242
    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");
    247249    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;
    260250  }
    261251
     
    804794// Transfer amplitude-calibrated waveforms to memory
    805795void DAQReadout::ReadCalibratedDRSData() {
    806 
     796 
    807797  for (int i=FirstBoard; i<=LastBoard; i++) {
    808798    GetBoard(i)->TransferWaves(GetBoard(i)->GetNumberOfChannels()*GetBoard(i)->GetNumberOfChips());
    809 
     799       
    810800    for (int k=0; k<GetBoard(i)->GetNumberOfChips(); k++) {
    811801          TriggerCell[i][k] = GetBoard(i)->GetTriggerCell(k);
    812 
    813802          for (int j=0; j<GetBoard(i)->GetNumberOfChannels(); j++) {
    814803        GetBoard(i)->GetWave(k, j, WaveForm[i][k][j], true, TriggerCell[i][k]);
Note: See TracChangeset for help on using the changeset viewer.