File ExternalProgram.h

Copyright

This code is licensed under the 3-clause BSD license.

Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.

See LICENSE.txt for details.

namespace Scine

This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.

This header contains alias definitions defining which classes to use for the different degrees of derivatives.

namespace Utils
namespace ExternalQC
class ExternalProgram
#include <ExternalProgram.h>

This class allows for running external programs through SCINE.

This class is used by the ExternalQC calculators.

Public Functions

void setWorkingDirectory(const std::string &directory)

Setter for the working directory.

const std::string &getWorkingDirectory() const

Getter for the working directory.

void createWorkingDirectory()

Create a temporary working directory.

void executeCommand(const std::string &command) const

Execute a command with no input or output file.

void executeCommand(const std::string &command, const std::string &outputFile) const

Execute a command with an output file given as an argument.

void executeCommand(const std::string &command, const std::string &inputFile, const std::string &outputFile) const

Execute a comand with an input and output file given as arguments.

std::string generateFullFilename(const std::string &filename) const

Generate filename by prepending the working directory.

Private Functions

int executeCommandImpl(const std::string &command, const std::string &inputFile, const std::string &outputFile) const

Private Members

std::string workingDirectory_ = {}