25 #ifndef COM_DAFER45_TBTK_PROPERTY_EXTRACTOR_MATSUBARA_SUSCEPTIBILITY
26 #define COM_DAFER45_TBTK_PROPERTY_EXTRACTOR_MATSUBARA_SUSCEPTIBILITY
28 #include "TBTK/Solver/MatsubaraSusceptibility.h"
29 #include "TBTK/Property/Susceptibility.h"
35 namespace PropertyExtractor{
39 class MatsubaraSusceptibility :
public PropertyExtractor{
44 MatsubaraSusceptibility(Solver::MatsubaraSusceptibility &solver);
47 virtual Property::Susceptibility calculateSusceptibility(
48 std::vector<Index> patterns
53 class SusceptibilityBlockInformation :
public Information{
58 SusceptibilityBlockInformation();
62 void setCalculateSusceptibilityForAllBlocks(
63 bool calculateSusceptibilityForAllBlocks
68 bool getCalculateSusceptibilityForAllBlocks()
const;
72 bool calculateSusceptibilityForAllBlocks;
76 static void calculateSusceptibilityCallback(
77 PropertyExtractor *cb_this,
78 Property::Property &property,
81 Information &information
85 Solver::MatsubaraSusceptibility *solver;
88 std::vector<std::complex<double>> energies;
91 virtual const Solver::Solver& getSolver()
const;
94 inline void MatsubaraSusceptibility::SusceptibilityBlockInformation::setCalculateSusceptibilityForAllBlocks(
95 bool calculateSusceptibilityForAllBlocks
97 this->calculateSusceptibilityForAllBlocks
98 = calculateSusceptibilityForAllBlocks;
101 inline bool MatsubaraSusceptibility::SusceptibilityBlockInformation::getCalculateSusceptibilityForAllBlocks(
103 return calculateSusceptibilityForAllBlocks;
106 inline const Solver::Solver& MatsubaraSusceptibility::getSolver()
const{