QMCPACK
OhmmsAttributeSet Struct Reference

class to handle a set of attributes of an xmlNode More...

+ Collaboration diagram for OhmmsAttributeSet:

Public Member Functions

bool get (std::ostream &os) const
 
template<class PDT >
void add (PDT &aparam, const std::string &aname, std::vector< PDT > candidate_values={}, TagStatus status=TagStatus::OPTIONAL)
 add a new attribute More...
 
bool put (xmlNodePtr cur)
 assign attributes to the set More...
 

Public Attributes

std::map< std::string, std::unique_ptr< OhmmsElementBase > > m_param
 

Detailed Description

class to handle a set of attributes of an xmlNode

Definition at line 24 of file AttributeSet.h.

Member Function Documentation

◆ add()

void add ( PDT &  aparam,
const std::string &  aname,
std::vector< PDT >  candidate_values = {},
TagStatus  status = TagStatus::OPTIONAL 
)
inline

add a new attribute

Parameters
aparamreference the object which this attribute is assigned to.
anamethe name of the added attribute
candidate_valuescandidate values to be checked against, the first element is the default value
statusTag status, See OhmmsParameter.h for more details

Definition at line 42 of file AttributeSet.h.

Referenced by QMCCostFunctionBase::addCJParams(), QMCCostFunctionBase::addCoefficients(), HamiltonianFactory::addCoulombPotential(), WaveFunctionFactory::addFermionTerm(), HamiltonianFactory::addForceHam(), HamiltonianFactory::addMPCPotential(), BackflowBuilder::addOneBody(), HamiltonianFactory::addPseudoPotential(), RadialOrbitalSetBuilder< COT >::addRadialOrbital(), BackflowBuilder::addRPA(), BackflowBuilder::addTwoBody(), HamiltonianFactory::build(), BackflowBuilder::buildBackflowTransformation(), SymmetryBuilder::buildByHand(), CountingJastrowBuilder::buildComponent(), LatticeGaussianProductBuilder::buildComponent(), eeI_JastrowBuilder::buildComponent(), JastrowBuilder::buildComponent(), ExampleHeBuilder::buildComponent(), AGPDeterminantBuilder::buildComponent(), kSpaceJastrowBuilder::buildComponent(), RadialJastrowBuilder::buildComponent(), SlaterDetBuilder::buildComponent(), ECPComponentBuilder::buildL2(), ECPComponentBuilder::buildSemiLocalAndLocal(), SPOSetBuilderFactory::buildSPOSetCollection(), WaveFunctionFactory::buildTWF(), HDFWalkerInput_0_4::checkOptions(), BsplineReader::create_spline_set(), LCAOrbitalBuilder::createBasisSet(), CountingJastrowBuilder::createCJ(), OneDimGridFactory::createGrid(), ECPComponentBuilder::createGrid(), RadialJastrowBuilder::createJ1(), RadialJastrowBuilder::createJ2(), SlaterDetBuilder::createMSDFast(), PWOrbitalSetBuilder::createPW(), SPOSetBuilder::createRotatedSPOSet(), SHOSetBuilder::createSPOSet(), SPOSetBuilder::createSPOSet(), EinsplineSetBuilder::createSPOSet(), SPOSetBuilderFactory::createSPOSetBuilder(), FreeOrbitalBuilder::createSPOSetFromXML(), LCAOrbitalBuilder::createSPOSetFromXML(), LCAOSpinorBuilder::createSPOSetFromXML(), EinsplineSpinorSetBuilder::createSPOSetFromXML(), PWOrbitalSetBuilder::createSPOSetFromXML(), EinsplineSetBuilder::createSPOSetFromXML(), LCAOrbitalBuilder::determineRadialOrbType(), QMCMain::execute(), QMCMain::executeCMCSection(), QMCMain::executeLoop(), QMCMain::executeQMCSection(), XMLParticleParser::getPtclAttrib(), HybridRepSetReader< SA >::initialize_hybridrep_atomic_centers(), LCAOrbitalBuilder::LCAOrbitalBuilder(), LCAOrbitalBuilder::loadBasisSetFromXML(), LCAOSpinorBuilder::loadMO(), LCAOrbitalBuilder::loadMO(), BackflowBuilder::makeLongRange_twoBody(), BackflowBuilder::makeShortRange_twoBody(), ECPComponentBuilder::parseCasino(), QMCFixedSampleLinearOptimizeBatched::process(), LatticeParser::put(), SpeciesKineticEnergy::put(), ReferencePoints::put(), HDFWalkerInputManager::put(), SkPot::put(), InitMolecularSystem::put(), GridExternalPotential::put(), ACForce::put(), StaticStructureFactor::put(), EnergyDensityEstimator::put(), DensityEstimator::put(), SkEstimator::put(), SelfHealingOverlapLegacy::put(), RPAJastrow::put(), SkAllEstimator::put(), LatticeDeviationEstimator::put(), BareForce::put(), SpaceGrid::put(), SpinDensity::put(), ParticleSetPool::put(), HarmonicExternalPotential::put(), ECPotentialBuilder::put(), PairCorrEstimator::put(), RandomNumberControl::put(), WaveFunctionPool::put(), HamiltonianPool::put(), SPOSetScanner::put(), QMCFixedSampleLinearOptimize::put(), AOBasisBuilder< COT >::put(), ForceCeperley::put(), ExampleHeComponent::put(), SPOSetInputInfo::put(), QMCCostFunctionBase::put(), MPC::put(), EstimatorManagerNew::put(), StressPBC::put(), ForceChiesaPBCAA::put(), EstimatorManagerBase::put(), GaussianCombo< T >::put(), CountingGaussianRegion::put(), OrbitalImages::put(), PadeFunctor< T >::put(), CountingGaussian::put(), UserFunctor< T >::put(), BsplineFunctor< REAL >::put(), ShortRangeCuspFunctor< T >::put(), Pade2ndOrderFunctor< T >::put(), PadeTwo2ndOrderFunctor< T >::put(), PolynomialFunctor3D::put(), TraceManager::put(), SlaterCombo< T >::putBasisGroup(), SlaterDetBuilder::putDeterminant(), LCAOrbitalBuilder::putFromH5(), LCAOrbitalBuilder::putFromXML(), eeI_JastrowBuilder::putkids(), LCAOrbitalBuilder::putPBCFromH5(), QMCDriver::putQMCInfo(), MomentumEstimator::putSpecial(), ForwardWalking::putSpecial(), qmcplusplus::readCuspInfo(), SlaterDetBuilder::readDetList(), SlaterDetBuilder::readDetListH5(), QMCDriverFactory::readSection(), QMCDriverInput::readXML(), SpinDensityInput::readXML(), XMLParticleParser::readXML(), GaussianTimesRN< T >::reset(), XMLParticleParser::reset(), QMCCostFunctionBase::resetCostFunction(), SPOSetScanner::scan_path(), ShortRangeCuspFunctor< T >::set_variable_from_xml(), BsplineReader::setCommon(), QMCMain::setMCWalkers(), qmcplusplus::setSpeciesProperty(), TEST_CASE(), QMCCostFunctionBase::updateXmlNodes(), ECPotentialBuilder::useXmlFormat(), QMCMain::validateXML(), and QMCFiniteSize::wfnPut().

44  {},
46  {
47  if (auto it = m_param.find(aname); it == m_param.end())
48  m_param[aname] = std::make_unique<OhmmsParameter<PDT>>(aparam, aname, std::move(candidate_values), status);
49  }
std::map< std::string, std::unique_ptr< OhmmsElementBase > > m_param
Definition: AttributeSet.h:26
TagStatus
generic class for parameter xmlNode

◆ get()

bool get ( std::ostream &  os) const
inline

Definition at line 28 of file AttributeSet.h.

References m_param.

29  {
30  for (const auto& [name, param] : m_param)
31  param->get(os);
32  return true;
33  }
std::map< std::string, std::unique_ptr< OhmmsElementBase > > m_param
Definition: AttributeSet.h:26

◆ put()

bool put ( xmlNodePtr  cur)
inline

assign attributes to the set

Parameters
curthe xml node to work on
Returns
true, if any valid parameter is processed.

Definition at line 55 of file AttributeSet.h.

References m_param.

Referenced by QMCCostFunctionBase::addCJParams(), QMCCostFunctionBase::addCoefficients(), HamiltonianFactory::addCoulombPotential(), WaveFunctionFactory::addFermionTerm(), HamiltonianFactory::addForceHam(), HamiltonianFactory::addMPCPotential(), BackflowBuilder::addOneBody(), HamiltonianFactory::addPseudoPotential(), RadialOrbitalSetBuilder< COT >::addRadialOrbital(), BackflowBuilder::addRPA(), BackflowBuilder::addTwoBody(), HamiltonianFactory::build(), BackflowBuilder::buildBackflowTransformation(), SymmetryBuilder::buildByHand(), CountingJastrowBuilder::buildComponent(), LatticeGaussianProductBuilder::buildComponent(), eeI_JastrowBuilder::buildComponent(), JastrowBuilder::buildComponent(), ExampleHeBuilder::buildComponent(), AGPDeterminantBuilder::buildComponent(), kSpaceJastrowBuilder::buildComponent(), RadialJastrowBuilder::buildComponent(), SlaterDetBuilder::buildComponent(), ECPComponentBuilder::buildL2(), ECPComponentBuilder::buildSemiLocalAndLocal(), SPOSetBuilderFactory::buildSPOSetCollection(), WaveFunctionFactory::buildTWF(), HDFWalkerInput_0_4::checkOptions(), BsplineReader::create_spline_set(), LCAOrbitalBuilder::createBasisSet(), CountingJastrowBuilder::createCJ(), OneDimGridFactory::createGrid(), ECPComponentBuilder::createGrid(), RadialJastrowBuilder::createJ1(), RadialJastrowBuilder::createJ2(), SlaterDetBuilder::createMSDFast(), PWOrbitalSetBuilder::createPW(), SPOSetBuilder::createRotatedSPOSet(), SHOSetBuilder::createSPOSet(), SPOSetBuilder::createSPOSet(), EinsplineSetBuilder::createSPOSet(), SPOSetBuilderFactory::createSPOSetBuilder(), FreeOrbitalBuilder::createSPOSetFromXML(), LCAOrbitalBuilder::createSPOSetFromXML(), LCAOSpinorBuilder::createSPOSetFromXML(), EinsplineSpinorSetBuilder::createSPOSetFromXML(), PWOrbitalSetBuilder::createSPOSetFromXML(), EinsplineSetBuilder::createSPOSetFromXML(), LCAOrbitalBuilder::determineRadialOrbType(), QMCMain::execute(), QMCMain::executeCMCSection(), QMCMain::executeLoop(), QMCMain::executeQMCSection(), XMLParticleParser::getPtclAttrib(), HybridRepSetReader< SA >::initialize_hybridrep_atomic_centers(), LCAOrbitalBuilder::LCAOrbitalBuilder(), LCAOrbitalBuilder::loadBasisSetFromXML(), LCAOSpinorBuilder::loadMO(), LCAOrbitalBuilder::loadMO(), BackflowBuilder::makeLongRange_twoBody(), BackflowBuilder::makeShortRange_twoBody(), ECPComponentBuilder::parseCasino(), QMCFixedSampleLinearOptimizeBatched::process(), LatticeParser::put(), SpeciesKineticEnergy::put(), ReferencePoints::put(), HDFWalkerInputManager::put(), SkPot::put(), InitMolecularSystem::put(), GridExternalPotential::put(), ACForce::put(), StaticStructureFactor::put(), EnergyDensityEstimator::put(), DensityEstimator::put(), SkEstimator::put(), SelfHealingOverlapLegacy::put(), RPAJastrow::put(), SkAllEstimator::put(), LatticeDeviationEstimator::put(), BareForce::put(), SpaceGrid::put(), SpinDensity::put(), ParticleSetPool::put(), HarmonicExternalPotential::put(), ECPotentialBuilder::put(), PairCorrEstimator::put(), RandomNumberControl::put(), WaveFunctionPool::put(), HamiltonianPool::put(), SPOSetScanner::put(), QMCFixedSampleLinearOptimize::put(), AOBasisBuilder< COT >::put(), ForceCeperley::put(), ExampleHeComponent::put(), SPOSetInputInfo::put(), QMCCostFunctionBase::put(), MPC::put(), EstimatorManagerNew::put(), StressPBC::put(), ForceChiesaPBCAA::put(), EstimatorManagerBase::put(), GaussianCombo< T >::put(), CountingGaussianRegion::put(), OrbitalImages::put(), PadeFunctor< T >::put(), CountingGaussian::put(), UserFunctor< T >::put(), BsplineFunctor< REAL >::put(), ShortRangeCuspFunctor< T >::put(), Pade2ndOrderFunctor< T >::put(), PadeTwo2ndOrderFunctor< T >::put(), PolynomialFunctor3D::put(), TraceManager::put(), SlaterCombo< T >::putBasisGroup(), SlaterDetBuilder::putDeterminant(), LCAOrbitalBuilder::putFromH5(), LCAOrbitalBuilder::putFromXML(), eeI_JastrowBuilder::putkids(), LCAOrbitalBuilder::putPBCFromH5(), QMCDriver::putQMCInfo(), MomentumEstimator::putSpecial(), ForwardWalking::putSpecial(), qmcplusplus::readCuspInfo(), SlaterDetBuilder::readDetList(), SlaterDetBuilder::readDetListH5(), QMCDriverFactory::readSection(), QMCDriverInput::readXML(), SpinDensityInput::readXML(), XMLParticleParser::readXML(), GaussianTimesRN< T >::reset(), XMLParticleParser::reset(), QMCCostFunctionBase::resetCostFunction(), SPOSetScanner::scan_path(), ShortRangeCuspFunctor< T >::set_variable_from_xml(), BsplineReader::setCommon(), QMCMain::setMCWalkers(), qmcplusplus::setSpeciesProperty(), TEST_CASE(), QMCCostFunctionBase::updateXmlNodes(), ECPotentialBuilder::useXmlFormat(), QMCMain::validateXML(), and QMCFiniteSize::wfnPut().

56  {
57  xmlAttrPtr att = cur->properties;
58  while (att != NULL)
59  {
60  std::string aname((const char*)(att->name));
61  if (auto it = m_param.find(aname); it != m_param.end())
62  {
63  std::istringstream stream((const char*)(att->children->content));
64  it->second->put(stream);
65  }
66  att = att->next;
67  }
68  return true;
69  }
std::map< std::string, std::unique_ptr< OhmmsElementBase > > m_param
Definition: AttributeSet.h:26

Member Data Documentation

◆ m_param

std::map<std::string, std::unique_ptr<OhmmsElementBase> > m_param

Definition at line 26 of file AttributeSet.h.

Referenced by get(), and put().


The documentation for this struct was generated from the following file: