26#ifndef dftefeAtomSphericalDataAnalytical_h
27#define dftefeAtomSphericalDataAnalytical_h
33#include <unordered_map>
56 class AtomSphericalDataAnalytical :
public AtomSphericalData
59 AtomSphericalDataAnalytical(
60 const std::map<std::string, std::vector<std::vector<int>>>
61 &fieldToQuantumNumbersVec,
64 std::vector<std::shared_ptr<utils::ScalarSpatialFunctionReal>>>
65 & fieldToScalarSpatialFnRealVec,
66 const std::vector<std::string> & fieldNames,
67 const SphericalHarmonicFunctions &sphericalHarmonicFunc);
69 ~AtomSphericalDataAnalytical() =
default;
72 addFieldName(
const std::string fieldName)
override;
75 getFileName()
const override;
77 std::vector<std::string>
78 getFieldNames()
const override;
80 std::vector<std::string>
81 getMetadataNames()
const override;
83 const std::vector<std::shared_ptr<SphericalData>> &
84 getSphericalData(
const std::string fieldName)
const override;
86 const std::shared_ptr<SphericalData>
87 getSphericalData(
const std::string fieldName,
88 const std::vector<int> &qNumbers)
const override;
91 getMetadata(
const std::string metadataName)
const override;
94 getQNumberID(
const std::string fieldName,
95 const std::vector<int> &qNumbers)
const override;
98 nSphericalData(std::string fieldName)
const override;
102 getSphericalDataFromSpatialFn(
103 std::vector<std::shared_ptr<SphericalData>> &sphericalDataVec,
104 const std::map<std::string, std::vector<std::vector<int>>>
105 &fieldToQuantumNumbersVec,
108 std::vector<std::shared_ptr<utils::ScalarSpatialFunctionReal>>>
109 & fieldToScalarSpatialFnRealVec,
110 const std::string & fieldName,
111 const SphericalHarmonicFunctions &sphericalHarmonicFunc);
113 std::vector<std::string> d_fieldNames;
114 const double d_radialPointMax;
115 std::unordered_map<std::string,
116 std::vector<std::shared_ptr<SphericalData>>>
118 std::unordered_map<std::string, std::map<std::vector<int>,
size_type>>
120 const SphericalHarmonicFunctions &d_sphericalHarmonicFunc;
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
unsigned int size_type
Definition: TypeConfig.h:8