24 #ifndef COM_DAFER45_TBTK_PROPERTY_INTERACTION_VERTEX
25 #define COM_DAFER45_TBTK_PROPERTY_INTERACTION_VERTEX
37 class InteractionVertex :
public EnergyResolvedProperty<std::complex<double>>{
53 const IndexTree &indexTree,
56 unsigned int resolution
72 const IndexTree &indexTree,
75 unsigned int resolution,
76 const std::complex<double> *data
90 const IndexTree &indexTree,
91 int lowerMatsubaraEnergyIndex,
92 int upperMatsubaraEnergyIndex,
93 double fundamentalMatsubaraEnergy
109 const IndexTree &indexTree,
110 int lowerMatsubaraEnergyIndex,
111 int upperMatsubaraEnergyIndex,
112 double fundamentalMatsubaraEnergy,
113 const std::complex<double> *data
117 InteractionVertex& operator+=(
const InteractionVertex &rhs);
120 InteractionVertex& operator-=(
const InteractionVertex &rhs);
123 InteractionVertex& operator*=(
const std::complex<double> &rhs);
132 InteractionVertex
operator*(
const std::complex<double> &rhs)
const;
143 const std::complex<double> &lhs,
144 const InteractionVertex &rhs
150 InteractionVertex& operator/=(
const std::complex<double> &rhs);
154 inline InteractionVertex& InteractionVertex::operator+=(
155 const InteractionVertex &rhs
162 inline InteractionVertex& InteractionVertex::operator-=(
163 const InteractionVertex &rhs
170 inline InteractionVertex& InteractionVertex::operator*=(
171 const std::complex<double> &rhs
178 inline InteractionVertex InteractionVertex::operator*(
179 const std::complex<double> &rhs
181 InteractionVertex interactionVertex = *
this;
183 return interactionVertex *= rhs;
186 inline InteractionVertex& InteractionVertex::operator/=(
187 const std::complex<double> &rhs