LatticeYangMills
jsondirectories.cpp
1 #include "InputOutput/JsonInput/json.hpp"
2 #include "InputOutput/JsonInput/jsoninput.h"
3 #include "InputOutput/JsonInput/JsonGeneric/jsondirectories.h"
4 #include "InputOutput/io.h"
5 #include <iostream>
6 
7 namespace LatticeIO {
8  namespace JsonInput {
9 
10  void validateDirectories(){
11  validateInputDir();
12  validateOutputDir();
13  }
14 
15  void registerDirectories(){
16  registerInputDir();
17  registerOutputDir();
18  }
19 
20  void validateInputDir(){
21  // check action
22  if(jsonFile["App"]["type"] == "GFR" || jsonFile["App"]["type"] == "FLOW"){
23  if(jsonFile.count("InputDir") == 0){
24  std::cerr << "LatticeQCD Error: no InputDir specified\n";
25  exit(1);
26  }
27  if(jsonFile.count("InputDir") != 1){
28  std::cerr << "LatticeQCD Error: too many InputDir specified\n";
29  exit(1);
30  }
31  }
32  }
33 
34  void validateOutputDir(){
35  // check action
36  if(jsonFile.count("OutputDir") == 0){
37  std::cerr << "LatticeQCD Error: no OutputDir specified\n";
38  exit(1);
39  }
40  if(jsonFile.count("OutputDir") != 1){
41  std::cerr << "LatticeQCD Error: too many OutputDir specified\n";
42  exit(1);
43  }
44  }
45 
46  void registerOutputDir(){
47  LatticeIO::OutputObs::setOutputDir(jsonFile["OutputDir"]);
48  LatticeIO::OutputConf::setOutputDir(jsonFile["OutputDir"]);
49  }
50 
51  void registerInputDir(){
52  if(jsonFile["App"]["type"] == "GFR" || jsonFile["App"]["type"] == "FLOW"){
53  LatticeIO::InputConf::setInputDir(jsonFile["InputDir"]);
54  }
55  }
56 
57  } // end JsonInput
58 } // end LatticeIO
static void setOutputDir(std::string outputDir)
Sets the output directory path.
Definition: outputconf.cpp:58
Main include file for input output related headers.
static void setOutputDir(std::string outputDir)
Sets the output directory for the file output.
Definition: outputobs.cpp:52
static void setInputDir(std::string inputDir)
Sets the input directory.
Definition: inputconf.cpp:101