24 #ifndef COM_DAFER45_TBTK_PROPERTY_EXTRACTOR_EXACT_DIAGONALIZER
25 #define COM_DAFER45_TBTK_PROPERTY_EXTRACTOR_EXACT_DIAGONALIZER
27 #include "TBTK/Solver/ExactDiagonalizer.h"
34 namespace PropertyExtractor{
36 class ExactDiagonalizer :
public PropertyExtractor{
39 ExactDiagonalizer(Solver::ExactDiagonalizer &edSolver);
45 Property::GreensFunction* calculateGreensFunction(
52 virtual std::complex<double> calculateExpectationValue(
58 virtual Property::Density calculateDensity(
64 virtual Property::Magnetization calculateMagnetization(
70 virtual Property::LDOS calculateLDOS(Index pattern, Index ranges);
73 virtual Property::SpinPolarizedLDOS calculateSpinPolarizedLDOS(
79 Solver::ExactDiagonalizer *edSolver;
82 virtual const Solver::Solver& getSolver()
const;
85 static void calculateDensityCallback(
86 PropertyExtractor *cb_this,
87 Property::Property &property,
90 Information &information
95 static void calculateMagnetizationCallback(
96 PropertyExtractor *cb_this,
97 Property::Property &property,
100 Information &information
105 static void calculateLDOSCallback(
106 PropertyExtractor *cb_this,
107 Property::Property &property,
110 Information &information
115 static void calculateSpinPolarizedLDOSCallback(
116 PropertyExtractor *cb_this,
117 Property::Property &property,
120 Information &information
124 inline const Solver::Solver& ExactDiagonalizer::getSolver()
const{