TBTK
SpinPolarizedLDOS.h
Go to the documentation of this file.
1 /* Copyright 2016 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 
24 #ifndef COM_DAFER45_TBTK_SPIN_POLARIZED_LDOS
25 #define COM_DAFER45_TBTK_SPIN_POLARIZED_LDOS
26 
27 #include "TBTK/Property/AbstractProperty.h"
28 #include "TBTK/SpinMatrix.h"
29 
30 #include <complex>
31 
32 namespace TBTK{
33 namespace Property{
34 
37 class SpinPolarizedLDOS : public AbstractProperty<SpinMatrix>{
38 public:
50  int dimensions,
51  const int *ranges,
52  double lowerBound,
53  double upperBound,
54  int resolution
55  );
56 
70  int dimensions,
71  const int *ranges,
72  double lowerBound,
73  double upperBound,
74  int resolution,
75  const SpinMatrix *data
76  );
77 
88  const IndexTree &indexTree,
89  double lowerBound,
90  double upperBound,
91  int resolution
92  );
93 
106  const IndexTree &indexTree,
107  double lowerBound,
108  double upperBound,
109  int resolution,
110  const SpinMatrix *data
111  );
112 
114 // SpinPolarizedLDOS(const SpinPolarizedLDOS &spinPolarizedLDOS);
115 
117 // SpinPolarizedLDOS(SpinPolarizedLDOS &&spinPolarizedLDOS);
118 
126  SpinPolarizedLDOS(const std::string &serialization, Mode mode);
127 
129 // ~SpinPolarizedLDOS();
130 
134  double getLowerBound() const;
135 
139  double getUpperBound() const;
140 
145  int getResolution() const;
146 
148 // SpinPolarizedLDOS& operator=(const SpinPolarizedLDOS &rhs);
149 
151 // SpinPolarizedLDOS& operator=(SpinPolarizedLDOS &&rhs);
152 
154  std::string serialize(Mode mode) const;
155 private:
157  double lowerBound;
158 
160  double upperBound;
161 
163  int resolution;
164 };
165 
166 inline double SpinPolarizedLDOS::getLowerBound() const{
167  return lowerBound;
168 }
169 
170 inline double SpinPolarizedLDOS::getUpperBound() const{
171  return upperBound;
172 }
173 
175  return resolution;
176 }
177 
178 }; //End namespace Property
179 }; //End namespace TBTK
180 
181 #endif
std::string serialize(Mode mode) const
SpinPolarizedLDOS(int dimensions, const int *ranges, double lowerBound, double upperBound, int resolution)
double getUpperBound() const
Definition: SpinPolarizedLDOS.h:170
double getLowerBound() const
Definition: SpinPolarizedLDOS.h:166
Abstract Property class.
Definition: AbstractProperty.h:95
int getResolution() const
Definition: SpinPolarizedLDOS.h:174
Data structure for mapping physical indices to linear indices.
Definition: IndexTree.h:34
Definition: ModelFactory.h:35
Property container for spin-polarized local density of states (spin-polarized LDOS).
Definition: SpinPolarizedLDOS.h:37
Mode
Definition: Serializable.h:44
Definition: SpinMatrix.h:33