24 #ifndef COM_DAFER45_TBTK_SOLVER_ANALYTICAL_CONTINUER
25 #define COM_DAFER45_TBTK_SOLVER_ANALYTICAL_CONTINUER
30 #include "TBTK/Property/SelfEnergy.h"
39 class AnalyticalContinuer :
public Solver,
public Communicator{
42 AnalyticalContinuer();
59 void setNumeratorDegree(
unsigned int numeratorDegree);
65 void setDenominatorDegree(
unsigned int denominatorDegree);
71 void setEnergyInfinitesimal(
double energyInfinitesimal);
77 void setEnergyShift(std::complex<double> energyShift);
83 void setScaleFactor(
double scaleFactor);
90 Property::GreensFunction convert(
91 const Property::GreensFunction &greensFunction,
106 unsigned int numeratorDegree;
110 unsigned int denominatorDegree;
113 static constexpr
double ENERGY_INFINITESIMAL = 0;
117 double energyInfinitesimal;
120 std::complex<double> energyShift;
136 std::complex<double> getContourDeformation(
142 inline void AnalyticalContinuer::setEnergyWindow(
147 this->lowerBound = lowerBound;
148 this->upperBound = upperBound;
149 this->resolution = resolution;
152 inline void AnalyticalContinuer::setNumeratorDegree(
153 unsigned int numeratorDegree
155 this->numeratorDegree = numeratorDegree;
158 inline void AnalyticalContinuer::setDenominatorDegree(
159 unsigned int denominatorDegree
161 this->denominatorDegree = denominatorDegree;
164 inline void AnalyticalContinuer::setEnergyInfinitesimal(
165 double energyInfinitesimal
167 this->energyInfinitesimal = energyInfinitesimal;
170 inline void AnalyticalContinuer::setEnergyShift(
171 std::complex<double> energyShift
173 this->energyShift = energyShift;
176 inline void AnalyticalContinuer::setScaleFactor(
double scaleFactor){
177 this->scaleFactor = scaleFactor;