26#ifndef dftefeAtomSphericalDataContainer_h
27#define dftefeAtomSphericalDataContainer_h
30#include <unordered_map>
61 class AtomSphericalDataContainer
73 AtomSphericalDataContainer(
74 const AtomSphericalDataType & atomSphericalDataType,
75 const std::map<std::string, std::string> &atomSymbolToFilename,
76 const std::vector<std::string> & fieldNames,
77 const std::vector<std::string> & metadataNames,
78 const bool isSplineHarmonicEval =
true);
80 AtomSphericalDataContainer(
81 const std::map<std::string,
82 std::map<std::string, std::vector<std::vector<int>>>>
83 &atomSymbolToFieldToQuantumNumVec,
88 std::vector<std::shared_ptr<utils::ScalarSpatialFunctionReal>>>>
89 &atomSymbolToFieldToScalarSpatialFnRealVec,
90 const std::vector<std::string> &fieldNames,
91 const bool isSplineHarmonicEval =
true);
96 ~AtomSphericalDataContainer() =
default;
99 addFieldName(
const std::string fieldName);
101 const std::vector<std::string> &
104 const std::vector<std::string> &
115 const std::vector<std::shared_ptr<SphericalData>> &
116 getSphericalData(std::string atomSymbol,
117 const std::string fieldName)
const;
120 const std::shared_ptr<SphericalData>
121 getSphericalData(std::string atomSymbol,
122 const std::string fieldName,
123 const std::vector<int> &qNumbers)
const;
126 getMetadata(std::string atomSymbol, std::string metadataName)
const;
129 nSphericalData(std::string atomSymbol, std::string fieldName)
const;
131 std::vector<std::vector<int>>
132 getQNumbers(std::string atomSymbol,
const std::string fieldName)
const;
135 getQNumberID(std::string atomSymbol,
136 const std::string fieldName,
137 const std::vector<int> &qNumbers)
const;
139 std::map<std::string, std::string>
140 atomSymbolToFileMap()
const;
144 std::map<std::string, std::string> d_atomSymbolToFilename;
145 std::vector<std::string> d_fieldNames;
146 std::vector<std::string> d_metadataNames;
147 std::unordered_map<std::string, std::shared_ptr<AtomSphericalData>>
148 d_mapAtomSymbolToAtomSphericalData;
150 std::shared_ptr<const SphericalHarmonicFunctions>
151 d_SphericalHarmonicFunctions;
152 const bool d_isAssocLegendreSplineEval;
AtomSphericalDataType
Definition: AtomSphericalDataContainer.h:43
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
unsigned int size_type
Definition: TypeConfig.h:8