Scine::Core  3.0.0
Module management and core interface definitions
 All Classes Files Functions Variables Typedefs Pages
WavefunctionOutputGenerator.h
Go to the documentation of this file.
1 
7 #ifndef CORE_WAVEFUNCTIONOUTPUTGENERATOR_H
8 #define CORE_WAVEFUNCTIONOUTPUTGENERATOR_H
9 
10 #include <ostream>
11 
12 namespace Scine {
13 namespace Utils {
14 class AtomCollection;
15 } // namespace Utils
16 namespace Core {
17 
23  public:
24  static constexpr const char* interface = "wavefunction_output_generator";
25  WavefunctionOutputGenerator() = default;
26  ~WavefunctionOutputGenerator() override = default;
27 
34  virtual void generateWavefunctionInformation(const std::string& out) = 0;
42  virtual void generateWavefunctionInformation(std::ostream& out) = 0;
43 
48  virtual Utils::Settings& settings() = 0;
53  virtual const Utils::Settings& settings() const = 0;
54 };
55 
56 } // namespace Core
57 } // namespace Scine
58 
59 #endif // CORE_WAVEFUNCTIONOUTPUTGENERATOR_H
An interface for all objects that should have a handable state.
Definition: StateHandableObject.h:39
Interface class defining an entity having a molecular structure. This solves the diamond inheritance ...
Definition: ObjectWithStructure.h:27
virtual Utils::Settings & settings()=0
Accessor for the settings.
Interface class defining an entity able to generate a wavefunction output file.
Definition: WavefunctionOutputGenerator.h:22
virtual void generateWavefunctionInformation(const std::string &out)=0
Dumps the wavefunction information in a file. This function is not const, as it might be necessary to...