23 #ifndef PROPAGATOR_H_INCLUDED 24 #define PROPAGATOR_H_INCLUDED 34 static inline csl::Expr Peps = csl::constant_s(
"reg_prop");
42 void print(
int mode = 0,
43 std::ostream& out = std::cout,
44 bool lib =
false)
const override;
46 std::string printLaTeX(
int mode = 0)
const override;
48 csl::unique_Expr copy_unique()
const override;
56 std::optional<csl::Expr> evaluate(
57 csl::eval::mode user_mode = csl::eval::base)
const override;
59 std::optional<csl::Expr> derive(csl::Expr_info variable)
const override;
61 std::optional<csl::Expr> getComplexConjugate()
const override;
63 bool isIndexed()
const override;
67 bool operator==(csl::Expr_info other)
const override;
70 inline csl::allocator<Propagator> alloc_propagator;
87 void print(
int mode = 0,
88 std::ostream& out = std::cout,
89 bool lib =
false)
const override;
91 std::string printLaTeX(
int mode = 0)
const override;
93 csl::unique_Expr copy_unique()
const override;
101 std::optional<csl::Expr> evaluate(
102 csl::eval::mode user_mode = csl::eval::base)
const override;
104 bool isIndexed()
const override;
108 bool operator==(csl::Expr_info other)
const override;
110 std::optional<csl::Expr> getHermitianConjugate(
113 std::optional<csl::Expr> getHermitianConjugate(
114 const std::vector<const csl::Space*>& spaces)
const override;
119 bool refresh =
true)
const override;
126 inline csl::allocator<FermionPropStruct> alloc_fermionprop;
Namespace of MARTY.
Definition: 2HDM.h:31
virtual std::optional< Expr > replaceIndex(const Index &indexToReplace, const Index &newIndex, bool refresh=true) const override
bool operator==(const Expr &a, const Expr &b)
Definition: propagator.h:30
Definition: propagator.h:76