This class inherits from std::shared_ptr<QuantumFieldParent> and should be used instead of direct QuantumFieldParent.
More...
|
| template<class ... Args> |
| csl::Expr | operator() (Args &&...args) |
| | Delegates the arguments to QuantumFieldParent::operator()() of the managed object. More...
|
| |
| template<class ... Args> |
| csl::Expr | operator() (const csl::Index &polar, const csl::Index &index, Args &&...args) |
| | Delegates the arguments to QuantumFieldParent::operator()() of the managed object. More...
|
| |
| template<class ... Args> |
| csl::Expr | operator() (const std::vector< int > &indices, Args &&...args) |
| | Delegates the arguments to QuantumFieldParent::operator()() of the managed object. More...
|
| |
| template<class ... Args> |
| csl::Expr | operator() (std::initializer_list< int > indices, Args &&...args) |
| | Delegates the arguments to QuantumFieldParent::operator()() of the managed object. More...
|
| |
| template<class ... Args> |
| csl::Expr | operator() (const csl::Index &polar, const std::vector< int > &indices, Args &&...args) |
| | Delegates the arguments to QuantumFieldParent::operator()() of the managed object. More...
|
| |
| template<class ... Args> |
| csl::Expr | operator() (const csl::Index &polar, const std::vector< csl::Index > &indices, Args &&...args) |
| | Delegates the arguments to QuantumFieldParent::operator()() of the managed object. More...
|
| |
| template<class ... Args> |
| csl::Expr | operator() (const csl::Index &polar, std::initializer_list< int > indices, Args &&...args) |
| | Delegates the arguments to QuantumFieldParent::operator()() of the managed object. More...
|
| |
| template<class ... Args> |
| csl::Expr | operator() (const csl::Index &polar, std::initializer_list< csl::Index > indices, Args &&...args) |
| | Delegates the arguments to QuantumFieldParent::operator()() of the managed object. More...
|
| |
| template<class ... Args> |
| csl::Expr | operator() (const std::vector< csl::Index > &indices, Args &&...args) |
| | Delegates the arguments to QuantumFieldParent::operator()() of the managed object. More...
|
| |
| template<class ... Args> |
| csl::Expr | operator() (std::initializer_list< csl::Index > indices, Args &&...args) |
| | Delegates the arguments to QuantumFieldParent::operator()() of the managed object. More...
|
| |
|
| operator csl::Expr () |
| |
This class inherits from std::shared_ptr<QuantumFieldParent> and should be used instead of direct QuantumFieldParent.
Particle is the object to use to create particles and their instances. As for csl::Expr, the ownership of a QuantumFieldParent is shared (in particular between the model and the user). One must then use a pointer, and in this case a shared pointer. These objects are created by built-in functions and may be used using '->' instead of '.'. For example, building a scalar boson, setting its mass and taking an instance gives:
The operator() are redefined in this class in order to use them directly on a particle (otherwise we would have to write
which is not very practical). Particle is just managing tho ownership of a QuantumFieldParent without building it (this is done by built-in functions as already said).
- See also
- scalarboson_s(), weylfermion_s(), diracfermion_s(), vectorboson_s(), gaugeboson_s(), goldstoneboson_s(), ghostboson_s().