Contains built-in filters (Lagrangian and diagram filters) for the mty::FeynOptions object. More...
Go to the source code of this file.
Namespaces | |
| mty::filter | |
| Namespace containing built-in filters in MARTY. | |
Functions | |
| template<class ParticleIterator > | |
| auto | mty::filter::disableParticles (ParticleIterator first, ParticleIterator last) |
| Filter disabling a range of particles provided begin and end iterators for the given range. More... | |
| auto | mty::filter::disableParticles (std::vector< mty::Particle > const &particles) |
| Filter disabling a range of particles in a std::vector. More... | |
| auto | mty::filter::disableParticles (std::initializer_list< mty::Particle > particles) |
| Filter disabling a range of particles in an initializer_list. More... | |
| auto | mty::filter::disableParticles (std::initializer_list< std::string_view > names, mty::Model const &model= *Model::current) |
| Filter disabling a range of particles from their names in an initializer_list. More... | |
| auto | mty::filter::disableParticle (mty::Particle const &particle) |
| Filter disabling one particle. More... | |
| auto | mty::filter::disableParticle (std::string_view name, mty::Model const &model= *Model::current) |
| Filter disabling one particle given its name. More... | |
| template<class ParticleIterator > | |
| auto | mty::filter::disableParticleCombination (ParticleIterator first, ParticleIterator last) |
| Filter disabling a particular combination of particles. More... | |
| auto | mty::filter::disableParticleCombination (std::vector< mty::Particle > const &particles) |
| Filter disabling a particular combination of particles from a std::vector. More... | |
| auto | mty::filter::disableParticleCombination (std::initializer_list< mty::Particle > particles) |
| Filter disabling a particular combination of particles from a std::initializer_list. More... | |
| auto | mty::filter::disableParticleCombination (std::initializer_list< std::string_view > names, mty::Model const &model= *Model::current) |
| Filter disabling a particular combination of particle from their names. More... | |
| template<class ParticleIterator > | |
| auto | mty::filter::forceParticleCombination (ParticleIterator first, ParticleIterator last) |
| Filter forcing a particular combination of particles. More... | |
| auto | mty::filter::forceParticleCombination (std::vector< mty::Particle > const &particles) |
| Filter forcing a particular combination of particles given in a std::vector. More... | |
| auto | mty::filter::forceParticleCombination (std::initializer_list< mty::Particle > particles) |
| Filter forcing a particular combination of particles given in a std::initializer_list. More... | |
| auto | mty::filter::forceParticleCombination (std::initializer_list< std::string_view > names, mty::Model const &model= *Model::current) |
| Filter forcing a particular combination of particles given their names. More... | |
| auto | mty::filter::forceParticle (mty::Particle const &particle) |
| Filter forcing one particle in diagrams. More... | |
| auto | mty::filter::forceParticle (std::string_view name, mty::Model const &model= *Model::current) |
| Filter forcing one particle in diagrams given its name. More... | |
| template<class ParticleIterator > | |
| auto | mty::filter::forceParticles (ParticleIterator first, ParticleIterator last) |
| Filter forcing particles in diagrams. More... | |
| auto | mty::filter::forceParticles (std::vector< mty::Particle > const &particles) |
| Filter forcing particles in diagrams given in a std::vector. More... | |
| auto | mty::filter::forceParticles (std::initializer_list< mty::Particle > particles) |
| Filter forcing particles in diagrams given in a std::initializer_list. More... | |
| auto | mty::filter::forceParticles (std::initializer_list< std::string_view > names, mty::Model const &model= *Model::current) |
| Filter forcing particles in diagrams given their names. More... | |
Contains built-in filters (Lagrangian and diagram filters) for the mty::FeynOptions object.
All (possibly template) functions in this file return functions. The return values of these functions can then be passed to the mty::FeynOptions::addFilter() and mty::FeynOptions::addFilters() member functions directly. Filters can be fully general, the built-in ones are simply useful particular cases to avoid writing always the same functions. Calculating an amplitude forcing the top quark and disabling the Z boson for example would look like
with appropriate model, order and insertions. In case those built-in filters are not enough one can write a custom filter following the definition of mty::FeynOptions::LagrangianFilter and mty::FeynOptions::DiagramFilter, using the documentation of mty::InteractionTerm and mty::FeynmanDiagram objects. Writing the above filters by hand could look like (using C++ lambda functions):
In the example above, disabling the Z particle could also be a mty::FeynOptions::DiagramFilter but this would imply unnecessary calculations because vertices can be filtered before searching for any diagram containing it. However forcing the top quark must be a mty::FeynOptions::DiagramFilter because one cannot remove vertices that contain the top quark, the condition is that the whole diagram must contain at least one top quark.
1.8.13