TBTK
Need a break? Support the development by playing Polarity Puzzles
Susceptibility.h
1 /* Copyright 2018 Kristofer Björnson
2  *
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
17 
24 #ifndef COM_DAFER45_TBTK_PROPERTY_SUSCEPTIBILITY
25 #define COM_DAFER45_TBTK_PROPERTY_SUSCEPTIBILITY
26 
28 #include "TBTK/TBTKMacros.h"
29 
30 #include <complex>
31 #include <vector>
32 
33 namespace TBTK{
34 namespace Property{
35 
37 class Susceptibility : public EnergyResolvedProperty<std::complex<double>>{
38 public:
40  Susceptibility();
41 
52  Susceptibility(
53  const IndexTree &indexTree,
54  double lowerBound,
55  double upperBound,
56  unsigned int resolution
57  );
58 
70  Susceptibility(
71  const IndexTree &indexTree,
72  double lowerBound,
73  double upperBound,
74  unsigned int resolution,
75  const std::complex<double> *data
76  );
77 
88  Susceptibility(
89  const IndexTree &indexTree,
90  int lowerMatsubaraEnergyIndex,
91  int upperMatsubaraEnergyIndex,
92  double fundamentalMatsubaraEnergy
93  );
94 
107  Susceptibility(
108  const IndexTree &indexTree,
109  int lowerMatsubaraEnergyIndex,
110  int upperMatsubaraEnergyIndex,
111  double fundamentalMatsubaraEnergy,
112  const std::complex<double> *data
113  );
114 
122  Susceptibility(const std::string &serialization, Mode mode);
123 
125  std::string serialize(Mode mode) const;
126 private:
127 };
128 
129 }; //End namespace Property
130 }; //End namespace TBTK
131 
132 #endif
133 
Precompiler macros.
Base class for energy resolved Properties.
Definition: Boolean.h:32