2#include "IO/InputBlock.hpp"
3#include "Operators.hpp"
4#include "TensorOperator.hpp"
5#include "Wavefunction/Wavefunction.hpp"
13static const std::vector<std::pair<
14 std::string, std::unique_ptr<DiracOperator::TensorOperator> (*)(
16 operator_list{{
"E1", &generate_E1},
17 {
"E1v", &generate_E1v},
20 {
"Ek_omega", &generate_Ek_omega},
21 {
"Mk_omega", &generate_Mk_omega},
22 {
"Ekv_omega", &generate_Ekv_omega},
24 {
"M1nr", &generate_M1nr},
25 {
"hfs", &generate_hfs},
26 {
"fieldshift", &generate_fieldshift},
28 {
"sigma_r", &generate_sigma_r},
29 {
"pnc", &generate_pnc},
30 {
"Vrad", &generate_Vrad},
31 {
"MLVP", &generate_MLVP},
41std::unique_ptr<DiracOperator::TensorOperator>
Stores Wavefunction (set of valence orbitals, grid, HF etc.)
Definition Wavefunction.hpp:37
Dirac Operators: General + derived.
Definition GenerateOperator.cpp:3
std::unique_ptr< DiracOperator::TensorOperator > generate(std::string_view operator_name, const IO::InputBlock &input, const Wavefunction &wf)
Returns a unique_ptr (polymorphic) to the requested operator, with given properties.
Definition GenerateOperator.cpp:7
void list_operators()
List available operators.
Definition GenerateOperator.cpp:40