17template <
typename Scalar>
31template <
typename Scalar>
53 std::shared_ptr<const BasisAtom<Scalar>>
create(
Database &database)
const;
56 std::optional<std::string> species;
69 std::vector<size_t> additional_ket_ids;
70 std::optional<std::string> additional_ket_species;
73extern template class BasisAtomCreator<double>;
74extern template class BasisAtomCreator<std::complex<double>>;
Builder class for creating BasisAtom objects.
BasisAtomCreator< Scalar > & restrict_quantum_number_nui(real_t min, real_t max)
BasisAtomCreator< Scalar > & restrict_quantum_number_m(real_t min, real_t max)
BasisAtomCreator< Scalar > & append_ket(const std::shared_ptr< const ket_t > &ket)
std::shared_ptr< const BasisAtom< Scalar > > create(Database &database) const
BasisAtomCreator< Scalar > & restrict_quantum_number_l_ryd(real_t min, real_t max)
BasisAtomCreator< Scalar > & set_species(const std::string &value)
BasisAtomCreator< Scalar > & restrict_quantum_number_j_ryd(real_t min, real_t max)
BasisAtomCreator< Scalar > & restrict_quantum_number_j(real_t min, real_t max)
BasisAtomCreator< Scalar > & restrict_quantum_number_s(real_t min, real_t max)
BasisAtomCreator< Scalar > & restrict_quantum_number_n(int min, int max)
BasisAtomCreator< Scalar > & restrict_parity(Parity value)
BasisAtomCreator< Scalar > & restrict_energy(real_t min, real_t max)
BasisAtomCreator< Scalar > & restrict_quantum_number_f(real_t min, real_t max)
BasisAtomCreator< Scalar > & restrict_quantum_number_l(real_t min, real_t max)
BasisAtomCreator()=default
BasisAtomCreator< Scalar > & restrict_quantum_number_nu(real_t min, real_t max)
typename traits::NumTraits< Scalar >::real_t real_t
Class for representing atomic kets.
Helper struct to extract types from a numerical type.