TBTK
LDOS.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 
23 #ifndef COM_DAFER45_TBTK_LDOS
24 #define COM_DAFER45_TBTK_LDOS
25 
26 #include "TBTK/Property/AbstractProperty.h"
27 //#include "IndexDescriptor.h"
28 
29 namespace TBTK{
30 namespace Property{
31 
33 class LDOS : public AbstractProperty<double>{
34 public:
45  LDOS(
46  int dimensions,
47  const int *ranges,
48  double lowerBound,
49  double upperBound,
50  int resolution
51  );
52 
65  LDOS(
66  int dimensions,
67  const int *ranges,
68  double lowerBound,
69  double upperBound,
70  int resolution,
71  const double *data
72  );
73 
83  LDOS(
84  const IndexTree &indexTree,
85  double lowerBound,
86  double upperBound,
87  int resolution
88  );
89 
101  LDOS(
102  const IndexTree &indexTree,
103  double lowerBound,
104  double upperBound,
105  int resolution,
106  const double *data
107  );
108 
110 // LDOS(const LDOS &ldos);
111 
113 // LDOS(LDOS &&ldos);
114 
121  LDOS(const std::string &serialization, Mode mode);
122 
124 // ~LDOS();
125 
129  double getLowerBound() const;
130 
134  double getUpperBound() const;
135 
140  int getResolution() const;
141 
143 // LDOS& operator=(const LDOS &ldos);
144 
146 // LDOS& operator=(LDOS &&ldos);
147 
149  virtual std::string serialize(Mode mode) const;
150 private:
152  double lowerBound;
153 
155  double upperBound;
156 
158  int resolution;
159 };
160 
161 inline double LDOS::getLowerBound() const{
162  return lowerBound;
163 }
164 
165 inline double LDOS::getUpperBound() const{
166  return upperBound;
167 }
168 
169 inline int LDOS::getResolution() const{
170  return resolution;
171 }
172 
173 }; //End namespace Property
174 }; //End namespace TBTK
175 
176 #endif
Property container for local density of states (LDOS).
Definition: LDOS.h:33
double getLowerBound() const
Definition: LDOS.h:161
LDOS(int dimensions, const int *ranges, double lowerBound, double upperBound, int resolution)
virtual std::string serialize(Mode mode) const
double getUpperBound() const
Definition: LDOS.h:165
Abstract Property class.
Definition: AbstractProperty.h:95
Data structure for mapping physical indices to linear indices.
Definition: IndexTree.h:34
Definition: ModelFactory.h:35
Mode
Definition: Serializable.h:44
int getResolution() const
Definition: LDOS.h:169