7 #ifndef SPARROW_CALCULATIONHANDLER_H
8 #define SPARROW_CALCULATIONHANDLER_H
10 #include <Core/Interfaces/CalculatorWithReference.h>
26 class CommandLineOptions;
34 : methodName_(
"Method " + std::move(methodName) +
" is not available.\n" +
"\nSparrow flies away...") {
37 const char* what()
const noexcept
final {
38 return methodName_.c_str();
42 std::string methodName_;
48 : description_(
"File " + std::move(fileName) +
" non accessible.") {
50 const char* what()
const noexcept
final {
51 return description_.c_str();
55 std::string description_;
78 void assignPropertiesToCalculate();
79 void assignSettings();
80 void printCalculationConverged(std::ostream& out);
81 void printSettings(std::ostream& out,
const Utils::Settings& settings,
const std::string& commentChar =
"")
const;
82 void printHeader(std::ostream& out,
const std::string& commenChar =
"")
const;
83 void printFooter(std::ostream& out)
const;
84 void printTime(std::ostream& out)
const;
85 void printResultsToFile()
const;
86 void printPrettyResults(std::ostream& out)
const;
89 void printWavefunction()
const;
91 std::shared_ptr<Core::Calculator> methodWrapper_;
92 std::shared_ptr<Core::CalculatorWithReference> excitedStatesCalculator_;
93 std::shared_ptr<Core::CalculatorWithReference> orbitalSteerer_;
95 mutable double groundStateTime_{0.}, hessianDiagTime_{0.}, excitedStateTime_{0.};
101 #endif // SPARROW_CALCULATIONHANDLER_H
Exception thrown if a non available method is requested.
Definition: CalculationHandler.h:31
void calculate(std::ostream &out)
start a calculation with the options and description read by the command line.
Definition: CalculationHandler.cpp:202
Definition: CalculationHandler.h:45
Class to parse the command line options for non-default options and passes them to a Util::Settings c...
Definition: CommandLineOptions.h:26
Class handling the main calculation routines.
Definition: CalculationHandler.h:61
CalculationHandler()=delete
deleted default constructor;