Represents a contractible mty::QuantumField in the context of Wick contraction. More...
#include <graph.h>
Public Member Functions | |
| Node (const mty::QuantumField *t_field) | |
| Constructor with one parameter. Initializes a NULL partner. More... | |
| Node (const Node &node)=default | |
| Copy constructor = C++ default. | |
| Node (Node &&node)=default | |
| Copy constructor = C++ default. | |
| bool | isFree () const |
| Tells if the Node is free or not. More... | |
Static Public Member Functions | |
| static std::vector< std::shared_ptr< Node > > | copyGraph (std::vector< std::shared_ptr< Node >> const &init) |
Data Fields | |
| const mty::QuantumField * | field |
| mty::QuantumField represented by the node in the graph. | |
| std::weak_ptr< Node > | partner |
| std::weak_ptr to the Node with which it is contracted, if it is. Else the value is empty. | |
Represents a contractible mty::QuantumField in the context of Wick contraction.
A node is by definition a single power of mty::QuantumField. It means that a vertex with non trivial powers of a field will be divided in several nodes, one for each power. For example, \( \frac{\lambda}{3}\phi (X)^3 \) is divided in 3 nodes, each Node being for the field \( \phi (X) \). A node can be contracted with another and posess a pointer to its partner in this case. Only std::shared_ptr to Node are used in the program (Node objects that are already contracted are shared by several graphs) and the pointer to the partner is then a std::weak::ptr to avoid a circular owning pattern.
|
inlineexplicit |
Constructor with one parameter. Initializes a NULL partner.
| t_field | mty::QuantumField represented by the node. |
|
inline |
1.8.13