16 #ifndef QMCPLUSPLUS_ESIMATORMANAGERINPUT_H 17 #define QMCPLUSPLUS_ESIMATORMANAGERINPUT_H 24 #include <libxml/tree.h> 33 class EstimatorManagerInputTests;
40 class SpinDensityInput;
41 class MomentumDistributionInput;
42 class OneBodyDensityMatricesInput;
43 class SelfHealingOverlapInput;
44 class MagnetizationDensityInput;
45 class PerParticleHamiltonianLoggerInput;
47 MomentumDistributionInput,
49 OneBodyDensityMatricesInput,
50 SelfHealingOverlapInput,
51 MagnetizationDensityInput,
60 using ScalarEstimatorInput = std::variant<std::monostate, LocalEnergyInput, CSLocalEnergyInput, RMCLocalEnergyInput>;
ScalarEstimatorInputs & get_scalar_estimator_inputs()
helper functions for EinsplineSetBuilder
EstimatorManagerInput & operator=(const EstimatorManagerInput &emi)=default
if(!okay) throw std xmlNodePtr node
void readXML(xmlNodePtr cur)
read <estimators> node or (<estimator> node for legacy support) This can be done multiple times with ...
void appendScalarEstimatorInput(xmlNodePtr node)
EstimatorManagerInput emi(estimators_doc.getRoot())
std::vector< EstimatorInput > EstimatorInputs
void append(const EstimatorInput &ei)
typed appending of already parsed inputs.
EstimatorInputs estimator_inputs_
this is a vector of variants for typesafe access to the estimator inputs
ScalarEstimatorInputs scalar_estimator_inputs_
std::variant< std::monostate, MomentumDistributionInput, SpinDensityInput, OneBodyDensityMatricesInput, SelfHealingOverlapInput, MagnetizationDensityInput, PerParticleHamiltonianLoggerInput > EstimatorInput
void appendEstimatorInput(xmlNodePtr node)
EstimatorInputs & get_estimator_inputs()
std::vector< ScalarEstimatorInput > ScalarEstimatorInputs
Input type for EstimatorManagerNew Parses Estimators level of input and and delegates child estimator...
EstimatorManagerInput()=default
std::variant< std::monostate, LocalEnergyInput, CSLocalEnergyInput, RMCLocalEnergyInput > ScalarEstimatorInput