23 #ifndef WICK_H_INCLUDED 24 #define WICK_H_INCLUDED 61 void print(
int mode=0,
62 std::ostream& out=std::cout,
63 bool lib =
false)
const override;
65 void printCode(
int mode = 0, std::ostream &out = std::cout)
const override;
67 std::string printLaTeX(
int mode=0)
const override;
69 std::optional<csl::Expr> evaluate(
70 csl::eval::mode user_mode = csl::eval::base
84 void setOperand(
const csl::Expr& operand)
override;
86 bool operator==(csl::Expr_info other)
const override;
88 csl::unique_Expr copy_unique()
const override;
123 void expandToRightForm();
static int numberOfFields(const csl::Expr &expr)
Counts the number of quantum fields in an expression. Counts also when fields appear to an integer po...
Definition: wick.cpp:38
Namespace of MARTY.
Definition: 2HDM.h:31
bool operatorAppliesOn(csl::Expr_info expr) const override
Wick applies on an expression if and only of it contains quantum fields.
Definition: wick.cpp:189
bool checkEvenNumberOfFields() const
Counts the total number of fields in the (possible) product, and replaces the argument by CSL_0 if th...
Definition: wick.cpp:115
bool rightForm
Boolean that tells if the argument of the operator has the right form to be contracted (see checkRigh...
Definition: wick.h:131
~Wick()
Destructor.
Definition: wick.h:57
csl::Expr wick_s(const csl::Expr &expr)
Tries to create a Wick object with argument expr. Applies operator (see Operator::applyOperator()) to...
Definition: wick.cpp:240
Wick()
Default constructor.
Definition: wick.cpp:26
void checkRightForm()
Checks if the argument contains only quantum fields or powers of quantum fields in a product (Prod)...
Definition: wick.cpp:50
Contains QuantumField and QuantumFieldParent, basic objects handling quantum fields as csl expression...
csl compatible expression representing the operator <> of correlators in quantum field theory...
Definition: wick.h:38