Ignore:
Timestamp:
07/28/09 09:15:18 (15 years ago)
Author:
ogrimm
Message:
Added writing of slow data
File:
1 edited

Legend:

Unmodified
Added
Removed
  • hvcontrol/src/HVConfig.cc

    r90 r93  
    1414
    1515
    16 HVConfig::HVConfig(FILE* fptr, char *configfile) {
     16HVConfig::HVConfig(const char *configfile) {
    1717
    18   fLogFile   = new char[BUFFER_LENGTH];
    1918  fUSBDevice = new char*[MAX_NUM_HVBOARDS];
    2019
    21   fPixMapTable = new char[BUFFER_LENGTH];
    22    
    2320  for (int i=0; i<MAX_NUM_HVBOARDS; i++) {
    2421    fUSBDevice[i]      = new char[BUFFER_LENGTH];
    2522    USBDeviceNumber[i] = 0;
    26 
    27     for (int j=0; j<NUM_CHAINS; j++) {
    28       for (int k=0; k<2; k++) Coef[i][j][k] = 0.;
    29     }
    3023  }
    3124
    3225  TestMode           = false;
    3326  NumHVBoards        = 0;
    34   FileName           = configfile;
    3527  fStatusRefreshRate = 1.;
    3628  fTimeOut           = 1.;
     
    3931  fHVCalibOffset      = -.8;
    4032  fHVCalibSlope       = 0.0064;
    41   fHVMaxDiff          = 1; 
    42 
    43   if (configfile != NULL) {
    44     if (!ReadHVConfig(fptr, configfile)) {
    45       fprintf(fptr, "Error (HVConfig): could not configure HV control\n");
    46       exit(1);
    47     }
    48   }
    49 }
    50 
    51 
    52 HVConfig::~HVConfig() {
    53 
    54   delete [] fLogFile;   delete [] fPixMapTable;
    55   for (int i=0; i<MAX_NUM_HVBOARDS; i++) delete [] fUSBDevice[i];
    56   delete [] fUSBDevice;
    57 }
    58 
    59 
    60 int HVConfig::ReadHVConfig(FILE* fptr, char *configfile) {
    61 
     33  fHVMaxDiff          = 1;
     34 
     35  // Read configuration file
    6236  FILE *f;
    6337  char str[MAX_COM_SIZE], dev[MAX_COM_SIZE];
     
    6539
    6640  if ((f = fopen(configfile,"r")) == NULL) {
    67     fprintf(fptr,"Could not open configuration file: %s\n", configfile);
    68     return 0;
     41    printf("Could not open configuration file: %s\n", configfile);
     42    throw;
    6943  }
    70   else fprintf(fptr,"Opening configuration file: %s\n", configfile);
     44  else printf("Opening configuration file: %s\n", configfile);
    7145 
    72   ReadCard("LogFile",    fLogFile,    's',f);
    73   ReadCard("PixMapTable",fPixMapTable,'s',f);
     46  ReadCard("LogFile",       fLogFile,    's',f);
     47  ReadCard("PixMapTable",   fPixMapTable,'s',f);
     48  ReadCard("SlowDirectory", fSlowDir,    's',f);
     49 
    7450  ReadCard("TestMode",   &str,        's',f);
    7551  if (!strcmp(str,"TRUE")) TestMode = true;
     
    9571
    9672  fclose(f);
    97   return 1;
    9873}
    9974
    10075
    101 int HVConfig::PrintHVConfig(FILE *fptr) {
    102  
    103   fprintf(fptr," \n HV control configuration (%s):\n\n", FileName);
    104   fprintf(fptr," Log file:          %s\n", fLogFile);
    105   fprintf(fptr," Pixel map table:   %s\n", fPixMapTable);
    106   fprintf(fptr," Test mode:         %s\n", TestMode ? "yes" : "no");
    107   fprintf(fptr," %d USB devices:\n", NumHVBoards);
    108  
    109   for (int i=0;i<NumHVBoards;i++)
    110     fprintf(fptr," Board%d: %s\n", USBDeviceNumber[i], fUSBDevice[i]);
    111  
    112   fprintf(fptr,"\n");
    113   fprintf(fptr," TimeOut:           %.2f s\n",   fTimeOut);
    114   fprintf(fptr," StatusRefreshRate: %.2f Hz\n",fStatusRefreshRate);
    115   fprintf(fptr," CCPort:            %d\n",       fCCPort);
    116   fprintf(fptr," DACMin value:      %d\n",     DACMin);
    117   fprintf(fptr," DACMax value:      %d\n",     DACMax);
    118   fprintf(fptr," HVCalibOffset :    %f\n",     fHVCalibOffset);
    119   fprintf(fptr," HVCalibSlope :     %f\n",     fHVCalibSlope);
    120   fprintf(fptr," HVMaxDiff :        %u\n",     fHVMaxDiff);
    121  
    122   return 1;
     76HVConfig::~HVConfig() {
     77
     78  for (int i=0; i<MAX_NUM_HVBOARDS; i++) delete [] fUSBDevice[i];
     79  delete [] fUSBDevice;
    12380}
     81
    12482
    12583// ReadCard function (original version by F. Goebel)
Note: See TracChangeset for help on using the changeset viewer.