21 #ifndef HEP_INTERFACE_CURRENT_H_INCLUDED 22 #define HEP_INTERFACE_CURRENT_H_INCLUDED 40 return SelfEnergy(order, particle, *mty::Model::current);
47 return SelfEnergy(particle, *mty::Model::current);
50 inline std::vector<FeynmanRule> ComputeFeynmanRules()
52 return ComputeFeynmanRules(*mty::Model::current);
61 template<
class ...Args>
62 inline void AddGaugedGroup(Args&& ...args)
64 AddGroup(*Model::current, std::forward<Args>(args)...);
67 inline void AddParticle(
72 AddParticle(*mty::Model::current, particle, initTerms);
80 AddTerm(*mty::Model::current, term, addCC);
84 std::vector<csl::Expr>
const& terms,
88 AddTerm(*mty::Model::current, terms, addCC);
92 std::string
const& name
95 return GetParticle(*mty::Model::current, name);
98 inline void PromoteGoldstone(
103 PromoteGoldstone(*mty::Model::current, goldstone, gaugeBoson);
106 inline void PromoteGoldstone(
107 char const* goldstone,
108 char const* gaugeBoson)
110 PromoteGoldstone(*mty::Model::current, goldstone, gaugeBoson);
113 inline csl::Expr GetCoupling(std::string
const& nameCoupling)
115 return GetCoupling(*mty::Model::current, nameCoupling);
118 inline csl::Tensor GetYukawa(std::string
const& nameCoupling)
120 return GetYukawa(*mty::Model::current, nameCoupling);
124 std::string
const& oldName,
125 std::string
const& newName
128 Rename(*mty::Model::current, oldName, newName);
133 Init(*mty::Model::current);
141 Replaced(*mty::Model::current, init, target);
149 Replaced(*mty::Model::current, init, target);
157 Replaced(*mty::Model::current, init, target);
161 Particle
const& particle,
165 Replaced(*mty::Model::current, particle, newTerm);
169 std::vector<mty::Particle>
const& fields,
170 std::vector<mty::Particle>
const& newFields,
171 std::vector<std::vector<csl::Expr>>
const& rotation,
172 bool diagonalizeMasses =
false 176 *mty::Model::current,
185 std::vector<std::string>
const& fields,
186 std::vector<std::string>
const& newFields,
187 std::vector<std::vector<csl::Expr>>
const& rotation,
188 bool diagonalizeMasses =
false 192 *mty::Model::current,
200 inline void DiagonalizeMassMatrices()
202 DiagonalizeMassMatrices(*mty::Model::current);
205 inline void BreakGaugeSymmetry(
206 std::string
const& brokenGroup,
207 std::vector<Particle>
const& brokenFields,
208 std::vector<std::vector<std::string>>
const& newNames
212 *mty::Model::current,
219 inline void BreakGaugeSymmetry(
220 std::string
const& brokenGroup,
221 std::initializer_list<std::string>
const& brokenFields,
222 std::vector<std::vector<std::string>>
const& newNames
226 *mty::Model::current,
233 inline void BreakFlavorSymmetry(
234 std::string
const& brokenFlavor,
235 std::initializer_list<std::string>
const& brokenFields,
236 std::vector<std::vector<std::string>>
const& newNames
240 *mty::Model::current,
247 inline void BreakFlavorSymmetry(
248 std::string
const& brokenFlavor,
249 std::vector<mty::Particle>
const& brokenFields,
250 std::vector<std::vector<std::string>>
const& newNames
254 *mty::Model::current,
273 std::string
const& nameParticle,
278 *mty::Model::current,
void Replaced(mty::Model &model, csl::Expr const &init, csl::Expr const &target)
Replaces an expression in all kinetic / mass / interactions terms of a model.
Definition: mrtInterface.cpp:499
This class inherits from std::shared_ptr<QuantumFieldParent> and should be used instead of direct Qua...
Definition: quantumField.h:1409
Namespace of MARTY.
Definition: 2HDM.h:31
Contains the mty::Amplitude object that stores the data of an amplitude calculation.
Contains interface functions for the user.
Expr Refreshed(const Abstract *expr)
Type
Different types of gauge ficing parameter for gauge boson propagators.
Definition: gaugedGroup.h:92
void Rotate(mty::Model &model, std::vector< mty::Particle > const &fields, std::vector< mty::Particle > const &newFields, std::vector< std::vector< csl::Expr >> const &rotation, bool diagonalizeMasses=false)
Rotates a bunch of fields to another using a given matrix.
Definition: mrtInterface.cpp:527
void SetGaugeChoice(mty::Model &model, std::string const &nameParticle, mty::gauge::Type choice)
This function changes the gauge fixing parameter for the gauge boson of name nameGroup. Depending on this choice, the propagator of gauge bosons is modified.
Definition: mrtInterface.cpp:705