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);
83 ~AtomSphericalDataContainer() =
default;
86 addFieldName(
const std::string fieldName);
88 const std::vector<std::string> &
91 const std::vector<std::string> &
102 const std::vector<std::shared_ptr<SphericalData>> &
103 getSphericalData(std::string atomSymbol,
104 const std::string fieldName)
const;
107 const std::shared_ptr<SphericalData>
108 getSphericalData(std::string atomSymbol,
109 const std::string fieldName,
110 const std::vector<int> &qNumbers)
const;
113 getMetadata(std::string atomSymbol, std::string metadataName)
const;
116 nSphericalData(std::string atomSymbol, std::string fieldName)
const;
118 std::vector<std::vector<int>>
119 getQNumbers(std::string atomSymbol,
const std::string fieldName)
const;
122 getQNumberID(std::string atomSymbol,
123 const std::string fieldName,
124 const std::vector<int> &qNumbers)
const;
126 std::map<std::string, std::string>
127 atomSymbolToFileMap()
const;
131 std::map<std::string, std::string> d_atomSymbolToFilename;
132 std::vector<std::string> d_fieldNames;
133 std::vector<std::string> d_metadataNames;
134 std::unordered_map<std::string, std::shared_ptr<AtomSphericalData>>
135 d_mapAtomSymbolToAtomSphericalData;
137 std::shared_ptr<const SphericalHarmonicFunctions>
138 d_SphericalHarmonicFunctions;
139 const bool d_isAssocLegendreSplineEval;
AtomSphericalDataType
Definition: AtomSphericalDataContainer.h:43
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
unsigned int size_type
Definition: TypeConfig.h:8