Privacy and Security Notice

Qoptions.cc Source File

Qoptions.cc

Go to the documentation of this file.
00001 #include "Qoptions.h"
00002 #include <iostream>
00003 #include <math.h>
00004 #include "tree.h"
00005 #ifndef NDetMax
00006 #define NDetMax 1010
00007 #endif
00008 using namespace std;
00009 
00010 extern Det *rcDETRegion[2][3][4];
00011 extern Det rcDET[NDetMax];
00012 extern Options opt;
00013 extern EUppLow operator++(enum EUppLow &rs, int );
00014 extern ERegion operator++(enum ERegion &rs, int );
00015 extern Etype operator++(enum Etype &rs, int );
00016 extern Edir operator++(enum Edir &rs, int );
00017 
00018 /*____________________________________________________________
00019 Qoptions
00020 Date : 7/31/7
00021 Author : Burnham Stokes
00022 */
00031 //____________________________________________________________
00032 void Qoptions::Get(char *optionsfile){
00033         FILE *options;
00034         char line[256];
00035         char *word;
00036         EUppLow upplow;
00037         ERegion region;
00038         Etype type;
00039         //Edir dir;
00040         
00041         int maxlevels;  
00042 
00043         int maxchar = 256;
00044         options = fopen(optionsfile,"r");
00045         while(!feof(options)){
00046                 fgets(line,maxchar,options);//first line is a placeholder
00047                 if(feof(options))break;
00048                 word = strtok(line," ");
00049                 if(*word == 'u' || *word == 'd'){//detector or general
00050                         switch(*word){//upper or lower detector
00051                                 case 'u':
00052                                         upplow = w_upper;
00053                                         break;
00054                                 case 'd':
00055                                         upplow = w_lower;
00056                                         break;
00057                                 default :
00058                                         upplow = w_nowhere;
00059                                         break;
00060                         }
00061                         word = strtok(NULL," ");
00062                         switch(*word){//detector region
00063                                 case '1':
00064                                         region = r1;
00065                                         break;
00066                                 case '2':
00067                                         region = r2;
00068                                         break;
00069                                 case '3':
00070                                         region = r3;
00071                                         break;
00072                         }
00073                         word = strtok(NULL," ");
00074                         switch(*word){//detector type
00075                                 case 'd':
00076                                         type = d_drift;
00077                                         break;
00078                                 case 'g':
00079                                         type = d_gem;
00080                                         break;
00081                                 case 't':
00082                                         type = d_trigscint;
00083                                         break;
00084                                 case 'c':
00085                                         type = d_cerenkov;
00086                                         break;
00087         
00088                         }
00089         
00090                         word = strtok(NULL," ");
00091                         maxlevels = atoi(word);
00092                         opt.levels[upplow][region-1][type]=maxlevels;
00093                 }
00094                 else{
00095                         switch(*word){
00096                                 case '1':
00097                                         opt.showEventPattern = 1;
00098                                         break;
00099                                 case '0':
00100                                         opt.showEventPattern = 0;
00101                                         break;
00102                         }
00103                         word = strtok(NULL," ");
00104                         switch(*word){
00105                                 case '1':
00106                                         opt.showMatchingPatterns = 1;
00107                                         break;
00108                                 case '0':
00109                                         opt.showMatchingPatterns = 0;
00110                                         break;
00111                         }
00112                         word = strtok(NULL," ");
00113                         switch(*word){
00114                                 case '1':
00115                                         opt.showMatchedPattern = 1;
00116                                         break;
00117                                 case '0':
00118                                         opt.showMatchedPattern = 0;
00119                                         break;
00120                         }
00121                         
00122                 }       
00123         }
00124         return;
00125 }
00126 //____________________________________________________________
00127 Qoptions::Qoptions(){
00128         
00129 }
00130 //____________________________________________________________

Generated on Fri Jan 11 22:33:59 2008 by  doxygen 1.4.6