/[PAMELA software]/yoda/techmodel/techmodelreader.cpp
ViewVC logotype

Diff of /yoda/techmodel/techmodelreader.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 5.1 by kusanagi, Sat Feb 4 12:37:45 2006 UTC revision 6.5 by pam-rm2, Wed Aug 23 14:39:44 2006 UTC
# Line 24  int main(int argc, char* argv[]) { Line 24  int main(int argc, char* argv[]) {
24      bool multiFile = 0;      bool multiFile = 0;
25      short compression = 3;      short compression = 3;
26      char nomeFileLog[L_tmpnam];      char nomeFileLog[L_tmpnam];
27      tmpnam(nomeFileLog);      mkstemp(nomeFileLog);
28      DIR *dirp;      DIR *dirp;
29        char *outDir = "";
30      // check if yoda_DATA exist!!!!      
     char *outDir;  
     try {  
     outDir = getenv("YODA_DATA");  
     if (getenv("YODA_DATA") == NULL) throw NotFoundEnvironmentVarException("The variable YODA_DATA has not been found.");  
     } catch (NotFoundEnvironmentVarException exc) {  
      cout << "The variable YODA_DATA has not been found. \n";  
      cout << "Please check your environment variables \n";  
      oss.str("");  
      oss << exc.print();  
      logger->fatal(oss.str().c_str());  
      exit(1);  
     }  
   
     string pathDir(outDir);  
   
     string pathLog = nomeFileLog;  
     bool ANALIZE = false;  
31      //---------------- Log4cxx configuration-----------------------------------------------      //---------------- Log4cxx configuration-----------------------------------------------
     //Define the configuration file to be used on log4cxx  
     PropertyConfigurator::configure(pathDir + "/log4cxx.conf");  
32      //BasicConfigurator::configure();      //BasicConfigurator::configure();
33      //Retrieve the rootLogger and append to it a default FileAppender.      //Retrieve the rootLogger and append to it a default FileAppender.
34      //Note that the priority level of the rootLogger (defined in log4cxx.conf) is unmodified      //Note that the priority level of the rootLogger (defined in log4cxx.conf) is unmodified
# Line 65  int main(int argc, char* argv[]) { Line 46  int main(int argc, char* argv[]) {
46      //rootLogger->addAppender(fileAppender);      //rootLogger->addAppender(fileAppender);
47      //rootLogger->removeAppender('A1');      //rootLogger->removeAppender('A1');
48      //---------------- Log4cxx configuration-----------------------------------------------      //---------------- Log4cxx configuration-----------------------------------------------
49        
50    // Check file name    // Check file name
51        
52    if (argc < 2){    if (argc < 2){
53      //logger->info(_T("You have forgotten the file name."));      //logger->info(_T("You have forgotten the file name."));
54      cout << "You have forgotten the file name. \n";      cout << "You have forgotten the file name. \n";
55      cout << "Try '--help' for more information. \n";      cout << "Try '-help' for more information. \n";
56      exit(1);      exit(1);
57    }      }  
58        
59    if (!strcmp(argv[1], "--help")){    if (!strcmp(argv[1], "-help")){
60          cout << "Usage: yoda FILE [OPTION] \n";          cout << "Usage: yoda FILE [OPTION] \n";
61          cout << "\t --help              print this help and exit \n";          cout << "\t -help               print this help and exit \n";
62            cout << "\t -version            print version number \n";
63          cout << "\t -p                  maximum number of packets to process [default all] \n";          cout << "\t -p                  maximum number of packets to process [default all] \n";
64          cout << "\t -m                  generate multiple root files. Values: {'true', 'false'} [default = 'false']\n";          cout << "\t -multi              generate multiple root files \n";
65          cout << "\t -c                  set the compression level for the generated root files. Values: [0,9] [default = 3]\n";          cout << "\t -c                  set the compression level for the generated root file(s). Values: [0,9] [default = 3]\n";
66            cout << "\t -o                  set the output directory for the generated root file(s). [default = $YODA_DATA]. Notice that in the same directory have to be prensent a log4cxx configuration file called \"log4cxx.conf\" \n";
67            exit(1);
68      }
69    
70      if (!strcmp(argv[1], "-version")){
71            cout << "$Name: YODA6_3/05 $ $Revision: 6.3 $" << "\n";
72          exit(1);          exit(1);
73    }    }
74    
# Line 95  int main(int argc, char* argv[]) { Line 83  int main(int argc, char* argv[]) {
83      if (!strcmp(argv[i], "-p")){      if (!strcmp(argv[i], "-p")){
84          if (++i >= argc){          if (++i >= argc){
85              cerr << "-p needs arguments. \n";              cerr << "-p needs arguments. \n";
86              cout << "Try '--help' for more information. \n";              cout << "Try '-help' for more information. \n";
87              exit(1);              exit(1);
88          }          }
89          if (isdigit(*argv[i]) && (atoi(argv[i]) > 0)) {          if (isdigit(*argv[i]) && (atoi(argv[i]) > 0)) {
# Line 103  int main(int argc, char* argv[]) { Line 91  int main(int argc, char* argv[]) {
91          } else {          } else {
92              //logger->info(_T("The file does not exist."));              //logger->info(_T("The file does not exist."));
93              cerr << "-p needs a integer value. \n";              cerr << "-p needs a integer value. \n";
94              cout << "Try '--help' for more information. \n";              cout << "Try '-help' for more information. \n";
95              exit(1);              exit(1);
96          }          }
97          continue;          continue;
98      }      }
99    
100      if (!strcmp(argv[i], "-multifile")) multiFile = 1;      if (!strcmp(argv[i], "-multi")) multiFile = 1;
101    
102      if (!strcmp(argv[i], "-c")){      if (!strcmp(argv[i], "-c")){
103          if (++i >= argc){          if (++i >= argc){
104              cerr << "-c needs arguments. \n";              cerr << "-c needs arguments. \n";
105              cout << "Try '--help' for more information. \n";              cout << "Try '-help' for more information. \n";
106              exit(1);              exit(1);
107          }          }
108          if ((isdigit(*argv[i])) && ( (atoi(argv[i]) >= 0) && (atoi(argv[i]) <= 9))) {          if ((isdigit(*argv[i])) && ( (atoi(argv[i]) >= 0) && (atoi(argv[i]) <= 9))) {
# Line 122  int main(int argc, char* argv[]) { Line 110  int main(int argc, char* argv[]) {
110          } else {          } else {
111              //logger->info(_T("The file does not exist."));              //logger->info(_T("The file does not exist."));
112              cerr << "-c needs a integer value beetween 0 and 9. \n";              cerr << "-c needs a integer value beetween 0 and 9. \n";
113              cout << "Try '--help' for more information. \n";              cout << "Try '-help' for more information. \n";
114              exit(1);              exit(1);
115          }          }
116          continue;          continue;
117      }      }
118        
119        if (!strcmp(argv[i], "-o")){
120            if (++i >= argc){
121                cerr << "-o needs arguments. \n";
122                cout << "Try '-help' for more information. \n";
123                exit(1);
124            }
125            DIR* tempdir;
126            if ((tempdir = opendir(argv[i])) != 0) {
127                outDir = argv[i];
128                closedir(tempdir);
129            } else {
130                //logger->info(_T("The file does not exist."));
131                cerr << "-o needs an existing/accessable directory. \n";
132                cout << "Try '-help' for more information. \n";
133                exit(1);
134            }
135            continue;
136        }
137        
138    }    }
139    
140      if (outDir == ""){
141            try {
142                    outDir = getenv("YODA_DATA");
143                    if (getenv("YODA_DATA") == NULL) throw NotFoundEnvironmentVarException("The variable YODA_DATA has not been found.");
144            } catch (NotFoundEnvironmentVarException exc) {
145                    cout << "The variable YODA_DATA has not been found. \n";
146                    cout << "Please check your environment variables \n";
147                    oss.str("");
148                    oss << exc.print();
149                    logger->fatal(oss.str().c_str());
150                    exit(1);
151            }
152      }
153      
154        string pathDir(outDir);
155        string pathLog = nomeFileLog;
156        //Define the configuration file to be used on log4cxx
157        PropertyConfigurator::configure(pathDir + "/log4cxx.conf");
158    
159      time_t rawtime;      time_t rawtime;
160      struct tm * timeinfo;      struct tm * timeinfo;
161      time ( &rawtime );      time ( &rawtime );
# Line 160  int main(int argc, char* argv[]) { Line 187  int main(int argc, char* argv[]) {
187    //Momentarly suspended the save      //Momentarly suspended the save  
188    //system(command.c_str());    //system(command.c_str());
189  }  }
190    

Legend:
Removed from v.5.1  
changed lines
  Added in v.6.5

  ViewVC Help
Powered by ViewVC 1.1.23