TBTK
DOS.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_DOS
24 #define COM_DAFER45_TBTK_DOS
25 
26 #include "TBTK/Property/AbstractProperty.h"
27 
28 namespace TBTK{
29 namespace Property{
30 
32 class DOS : public AbstractProperty<double>{
33 public:
35  DOS(double lowerBound, double upperBound, int resolution);
36 
38  DOS(
39  double lowerBound,
40  double upperBound,
41  int resolution,
42  const double *data
43  );
44 
46  DOS(const DOS &dos);
47 
49  DOS(DOS &&dos);
50 
52  DOS(const std::string &serialization, Mode mode);
53 
55  ~DOS();
56 
58  double getLowerBound() const;
59 
61  double getUpperBound() const;
62 
64  int getResolution() const;
65 
67  DOS& operator=(const DOS &dos);
68 
70  DOS& operator=(DOS &&dos);
71 
73  virtual std::string serialize(Mode mode) const;
74 private:
76  double lowerBound;
77 
79  double upperBound;
80 
82  int resolution;
83 };
84 
85 inline double DOS::getLowerBound() const{
86  return lowerBound;
87 }
88 
89 inline double DOS::getUpperBound() const{
90  return upperBound;
91 }
92 
93 inline int DOS::getResolution() const{
94  return resolution;
95 }
96 
97 }; //End namespace Property
98 }; //End namespace TBTK
99 
100 #endif
DOS & operator=(const DOS &dos)
double getUpperBound() const
Definition: DOS.h:89
Abstract Property class.
Definition: AbstractProperty.h:41
int getResolution() const
Definition: DOS.h:93
Definition: ModelFactory.h:35
DOS(double lowerBound, double upperBound, int resolution)
Mode
Definition: Serializable.h:44
Property container for density of states (DOS).
Definition: DOS.h:32
virtual std::string serialize(Mode mode) const
double getLowerBound() const
Definition: DOS.h:85