GQCP
Loading...
Searching...
No Matches
LondonGTOShell.hpp
Go to the documentation of this file.
1// This file is part of GQCG-GQCP.
2//
3// Copyright (C) 2017-2020 the GQCG developers
4//
5// GQCG-GQCP is free software: you can redistribute it and/or modify
6// it under the terms of the GNU Lesser General Public License as published by
7// the Free Software Foundation, either version 3 of the License, or
8// (at your option) any later version.
9//
10// GQCG-GQCP is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU Lesser General Public License for more details.
14//
15// You should have received a copy of the GNU Lesser General Public License
16// along with GQCG-GQCP. If not, see <http://www.gnu.org/licenses/>.
17
18#pragma once
19
20
24
25
26namespace GQCP {
27
28
33public:
34 // The type of primitive that underlies this shell.
36
37 // The type of basis function that this shell can produce.
39
40
41private:
42 // The specificiation of the magnetic field for this GIAO.
44
45 // The field-free GTO shell.
46 GTOShell gto_shell;
47
48
49public:
50 /*
51 * MARK: Constructors
52 */
53
60 LondonGTOShell(const GTOShell& shell, const HomogeneousMagneticField& field);
61
62
63 /*
64 * MARK: Access
65 */
66
70 const HomogeneousMagneticField& magneticField() const { return this->m_field; }
71
72
76 const GTOShell& gtoShell() const { return this->gto_shell; }
77
78
79 /*
80 * MARK: Normalization
81 */
82
89
90
91 /*
92 * MARK: Basis functions
93 */
94
98 size_t numberOfBasisFunctions() const { return this->gtoShell().numberOfBasisFunctions(); }
99
107 std::vector<BasisFunction> basisFunctions() const;
108};
109
110
111} // namespace GQCP
Definition: EvaluableLinearCombination.hpp:46
Definition: GTOShell.hpp:32
size_t numberOfBasisFunctions() const
Definition: GTOShell.cpp:173
void embedNormalizationFactorsOfPrimitives()
Definition: GTOShell.cpp:137
Definition: HomogeneousMagneticField.hpp:30
Definition: LondonCartesianGTO.hpp:38
Definition: LondonGTOShell.hpp:32
size_t numberOfBasisFunctions() const
Definition: LondonGTOShell.hpp:98
std::vector< BasisFunction > basisFunctions() const
Definition: LondonGTOShell.cpp:50
const HomogeneousMagneticField & magneticField() const
Definition: LondonGTOShell.hpp:70
const GTOShell & gtoShell() const
Definition: LondonGTOShell.hpp:76
void embedNormalizationFactorsOfPrimitives()
Definition: LondonGTOShell.hpp:88
Definition: BaseOneElectronIntegralBuffer.hpp:25