25 #ifndef COM_DAFER45_TBTK_PROPERTY_EXTRACTOR_SELF_ENERGY2
26 #define COM_DAFER45_TBTK_PROPERTY_EXTRACTOR_SELF_ENERGY2
28 #include "TBTK/Solver/SelfEnergy2.h"
29 #include "TBTK/Property/SelfEnergy.h"
35 namespace PropertyExtractor{
39 class SelfEnergy2 :
public PropertyExtractor{
44 SelfEnergy2(Solver::SelfEnergy2 &solver);
47 virtual Property::SelfEnergy calculateSelfEnergy(
48 std::vector<Index> patterns
52 class SelfEnergyBlockInformation :
public Information{
57 SelfEnergyBlockInformation();
61 void setCalculateSelfEnergyForAllBlocks(
62 bool calculateSelfEnergyForAllBlocks
67 bool getCalculateSelfEnergyForAllBlocks()
const;
71 bool calculateSelfEnergyForAllBlocks;
75 static void calculateSelfEnergyCallback(
76 PropertyExtractor *cb_this,
77 Property::Property &property,
80 Information &information
84 Solver::SelfEnergy2 *solver;
87 virtual const Solver::Solver& getSolver()
const;
90 inline void SelfEnergy2::SelfEnergyBlockInformation::setCalculateSelfEnergyForAllBlocks(
91 bool calculateSelfEnergyForAllBlocks
93 this->calculateSelfEnergyForAllBlocks
94 = calculateSelfEnergyForAllBlocks;
97 inline bool SelfEnergy2::SelfEnergyBlockInformation::getCalculateSelfEnergyForAllBlocks(
99 return calculateSelfEnergyForAllBlocks;
102 inline const Solver::Solver& SelfEnergy2::getSolver()
const{