24 #ifndef VECTOR_FIELD_H_INCLUDED 25 #define VECTOR_FIELD_H_INCLUDED 92 bool t_isSelfConjugate);
106 bool t_isSelfConjugate);
203 template<
class ...Args>
206 void setName(std::string t_name)
override;
211 return isSameSpecies(other);
214 void printDefinition(
215 std::ostream &out = std::cout,
220 ParticleType getParticleType()
const override {
221 return ParticleType::VectorBoson;
254 Particle getConjugatedGhostBoson()
const override;
285 void setConjugatedGhostBoson(
Particle const& ghost)
override;
293 const std::vector<Particle>& parts)
override;
314 std::vector<std::string>
const &newNames
318 std::vector<mty::FlavorGroup*>
const &subGroups,
319 std::vector<std::string>
const &
names 328 void updateBrokenGhost(
361 void printDefinition(
362 std::ostream &out = std::cout,
367 GaugedGroup const* getGaugedGroup()
const override;
410 void printDefinition(
411 std::ostream &out = std::cout,
418 || vectorParent == other;
425 return ParticleType::FieldStrength;
435 template<
class ...Args>
456 template<
class ...Args>
459 return csl::make_shared<VectorBoson>(std::forward<Args>(args)...);
473 template<
class ...Args>
476 return csl::make_shared<GaugeBoson>(std::forward<Args>(args)...);
490 template<
class ...Args>
493 return csl::make_shared<FieldStrength>(std::forward<Args>(args)...);
Definition: gaugedGroup.h:194
virtual void setFieldStrength(Particle const &fieldStrength)
For a VectorBoson, sets the associated FieldStrength.
Definition: quantumField.cpp:391
std::string const & getName() const
csl::Expr operator()()
Generates an instance of the field as a symbolic expression.
Definition: quantumField.cpp:1000
BaseVectorBoson()=default
Default constructor. Initializes nothing.
virtual void setGoldstoneBoson(Particle const &goldstone)
For a GaugeBoson, sets the associated GoldstoneBoson.
Definition: quantumField.cpp:438
std::shared_ptr< GhostBoson > ghost_c
Pointer to the conjugated GhostBoson associated to the vector, if there is one (for example for the W...
Definition: vectorField.h:188
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
Particle vectorboson_s(Args &&...args)
Delegates the construction of a vector boson and returns the result.
Definition: vectorField.h:457
virtual void setBrokenParts(const csl::Space *broken, const std::vector< Particle > &brokenParts)
Sets broken parts (from gauge of flavor symmetry full breaking) containing the new particles...
Definition: quantumField.cpp:928
class mty::AbstractGroup Group
Abstract base class for groups.
constexpr auto names
Names for topologies.
Definition: topology.h:72
std::shared_ptr< GhostBoson > ghost
Pointer to the GhostBoson associated to the vector, if there is one.
Definition: vectorField.h:183
csl::Expr getEnergyDimension() const override
Definition: vectorField.cpp:92
ParticleType getParticleType() const override
Definition: vectorField.h:424
virtual void setGhostBoson(Particle const &ghost)
For a GaugeBoson, sets the associated GhostBoson.
Definition: quantumField.cpp:444
virtual void setName(std::string t_name)
csl::Expr getKineticTerm(csl::Tensor &X) override
Calculates the kinetic term for the vector boson.
Definition: vectorField.cpp:103
GaugedGroup * gaugedGroup
Raw pointer to the gauged group associated with the gauge boson.
Definition: vectorField.h:350
virtual Particle generateSimilar(std::string const &t_name) const =0
Pure virtual function. Generates a partical similar to the current object, changing only the name...
mty::gauge::Choice choice
Gauge choice for the vector, modifying also properties of the Ghost and Goldstone boson (if some are ...
Definition: vectorField.h:172
Implementation of vector bosons in AMRTY.
Definition: vectorField.h:164
Goldstone boson class.
Definition: goldstoneField.h:39
std::vector< const Space *> space
virtual csl::Expr getXiGauge() const
For a GaugeBoson, returns the expression of in the current gauge.
Definition: quantumField.cpp:374
VectorBoson * vectorParent
Raw pointer to the vector boson associated with the FieldStrength.
Definition: vectorField.h:396
Particle fieldstrength_s(Args &&...args)
Delegates the construction of a field strength and returns the result.
Definition: vectorField.h:491
GaugeIrrep irrep
Representation of the field in the gauge gauge.
Definition: quantumField.h:260
Field strength object in MARTY.
Definition: vectorField.h:389
virtual bool hasFieldStrength() const
Tells if the particle has a FieldStrength.
Definition: quantumField.cpp:381
std::shared_ptr< GoldstoneBoson > goldstone
Pointer to the GoldstoneBoson associated to the vector, if there is one.
Definition: vectorField.h:178
virtual Particle getFieldStrength() const
For a VectorBoson, returns the associated FieldStrength if it exists.
Definition: quantumField.cpp:386
FlavorIrrep flavorRep
Representation of the field in the flavor flavor.
Definition: quantumField.h:286
void initPropagator() override
Initializes default propagators for the particle. This function is called automatically in the constr...
Definition: vectorField.cpp:194
Definition: gaugedGroup.h:100
Particle gaugeboson_s(Args &&...args)
Delegates the construction of a gauge boson and returns the result.
Definition: vectorField.h:474
virtual bool isGaugeBoson() const
Tells if the particle is a gauge boson.
Definition: quantumField.cpp:369
Ghost boson, created with the vector bosons in non abelian gauge groups.
Definition: ghostField.h:41
Type
Different types of gauge ficing parameter for gauge boson propagators.
Definition: gaugedGroup.h:92
virtual Particle getGoldstone() const
For a vector boson in a non abelian gauged group, returns the associated Goldstone boson...
Definition: quantumField.cpp:294
Contains all objects in the theory. In particular QuantumField objects, Gauge, Flavor, Particle...
Definition: model.h:68
std::shared_ptr< FieldStrength > fieldStrength
Pointer to the FieldStrength associated to the vector.
Definition: vectorField.h:192
Base class for parents of QuantumField objects.
Definition: quantumField.h:152
VectorBoson(Args &&...args)
Delegates any arguments to the BaseVectorBoson::BaseVectorBoson() constructors and creates the associ...
Definition: vectorField.h:436
Base class for vector objects.
Definition: vectorField.h:37
virtual void initPropagator()
Initializes default propagators for the particle. This function is called automatically in the constr...
Definition: quantumField.cpp:502
Gauge boson implementation in MARTY.
Definition: vectorField.h:343
Contains QuantumField and QuantumFieldParent, basic objects handling quantum fields as csl expression...
virtual Particle getGhostBoson() const
For a GoldstoneBoson, returns the associated Golstone boson of there is one.
Definition: quantumField.cpp:428
int getNDegreesOfFreedom() const override
Definition: vectorField.cpp:97