Gauge boson implementation in MARTY. More...
#include <vectorField.h>
Public Member Functions | |
| GaugeBoson (std::string const &t_name, GaugeIrrep const &irrep, GaugedGroup *group) | |
| GaugeBoson (const std::string &t_name, GaugeBoson const *other) | |
| void | printDefinition (std::ostream &out=std::cout, int indentSize=4, bool header=false) const override |
| GaugedGroup const * | getGaugedGroup () const override |
| GaugedGroup * | getGaugedGroup () override |
| Particle | generateSimilar (std::string const &t_name) const override |
| Pure virtual function. Generates a partical similar to the current object, changing only the name. More... | |
| bool | isGaugeBoson () const override |
| Tells if the particle is a gauge boson. More... | |
Public Member Functions inherited from mty::VectorBoson | |
| template<class ... Args> | |
| VectorBoson (Args &&...args) | |
| Delegates any arguments to the BaseVectorBoson::BaseVectorBoson() constructors and creates the associated field strength. More... | |
| void | setName (std::string t_name) override |
| bool | isSameSpecies (QuantumFieldParent const *other) const override |
| bool | contains (QuantumFieldParent const *other) const override |
| void | printDefinition (std::ostream &out=std::cout, int indentSize=4, bool header=false) const override |
| ParticleType | getParticleType () const override |
| bool | hasFieldStrength () const override |
| Tells if the particle has a FieldStrength. More... | |
| Particle | getFieldStrength () const override |
| csl::Expr | getXiGauge () const override |
| mty::gauge::Choice | getGaugeChoice () const override |
| Particle | getGhostBoson () const override |
| For a vector boson in a non abelian gauged group, returns the associated ghost boson. More... | |
| Particle | getConjugatedGhostBoson () const override |
| Particle | getGoldstone () const override |
| For a vector boson in a non abelian gauged group, returns the associated Goldstone boson. More... | |
| void | setGoldstoneBoson (Particle const &goldstone) override |
| Associates the vector with a new Goldstone boson. More... | |
| void | setGhostBoson (Particle const &ghost) override |
| Associates the vector with a new ghost boson. More... | |
| void | setConjugatedGhostBoson (Particle const &ghost) override |
| void | setGaugeChoice (gauge::Type type) override |
| void | setFieldStrength (Particle const &fieldStrength) override |
| For a VectorBoson, sets the associated FieldStrength. More... | |
| void | setBrokenParts (const csl::Space *broken, const std::vector< Particle > &parts) override |
| Sets broken parts (from gauge of flavor symmetry full breaking) containing the new particles. More... | |
| csl::Expr | operator() (std::vector< csl::Index > indices, const csl::Tensor &t_point) override |
| Creates a vector or field strength expression depending on the indices that are given. More... | |
| void | breakParticle (mty::Group *brokenGroup, std::vector< std::string > const &newNames) override |
| void | breakParticle (mty::FlavorGroup *brokenFlavor, std::vector< mty::FlavorGroup *> const &subGroups, std::vector< std::string > const &names) override |
Public Member Functions inherited from mty::BaseVectorBoson | |
| BaseVectorBoson ()=default | |
| Default constructor. Initializes nothing. | |
| BaseVectorBoson (BaseVectorBoson const &other)=default | |
| Default copy constructor. More... | |
| BaseVectorBoson (const std::string &t_name, Gauge *t_gauge) | |
| Constructor with two parameters. More... | |
| BaseVectorBoson (const std::string &t_name, mty::Model &model) | |
| Constructor with two parameters. More... | |
| BaseVectorBoson (const std::string &t_name, const GaugeIrrep &irrep) | |
| Constructor with two parameters. More... | |
| BaseVectorBoson (const std::string &t_name, Gauge *t_gauge, bool t_isSelfConjugate) | |
| Constructor with three parameters. More... | |
| BaseVectorBoson (const std::string &t_name, const GaugeIrrep &irrep, bool t_isSelfConjugate) | |
| Constructor with three parameters. More... | |
| BaseVectorBoson (const std::string &t_name, const GaugeIrrep &irrep, const FlavorIrrep &flavorRep) | |
| Constructor with two parameters. More... | |
| BaseVectorBoson (const std::string &t_name, const BaseVectorBoson *other) | |
| Copies another vector boson and takes a new name. More... | |
| csl::Expr | getEnergyDimension () const override |
| int | getNDegreesOfFreedom () const override |
| csl::Expr | getKineticTerm (csl::Tensor &X) override |
| Calculates the kinetic term for the vector boson. More... | |
Public Member Functions inherited from mty::QuantumFieldParent | |
| QuantumFieldParent ()=default | |
| Default constructor. | |
| QuantumFieldParent (QuantumFieldParent const &other)=default | |
| Copy constructor. | |
| QuantumFieldParent (const std::string &t_name, int t_spin, Gauge *t_gauge) | |
| Constructor with 3 parameters. More... | |
| QuantumFieldParent (const std::string &t_name, int t_spin, const GaugeIrrep &irrep) | |
| Constructor with 3 parameters. More... | |
| QuantumFieldParent (const std::string &t_name, int t_spin, Gauge *t_gauge, bool t_isSelfConjugate) | |
| Constructor with 4 parameters. More... | |
| QuantumFieldParent (const std::string &t_name, int t_spin, const GaugeIrrep &irrep, bool t_isSelfConjugate) | |
| Constructor with 4 parameters. More... | |
| QuantumFieldParent (const std::string &t_name, int t_spin, const GaugeIrrep &irrep, const FlavorIrrep &flavorRep) | |
| Constructor with 4 parameters. More... | |
| QuantumFieldParent (const std::string &t_name, const QuantumFieldParent *other) | |
| Builds a new particle identical to another, with a different name. More... | |
| drawer::ParticleType | getDrawType () const |
| Returns the drawing type of the particle. More... | |
| void | setDrawType (drawer::ParticleType type) |
| Sets the drawing type of the particle. More... | |
| virtual Chirality | getChirality () const |
| Returns the chirality of the particle. More... | |
| int | getNGaugeDegreesOfFreedom () const |
| virtual bool | hasSpecialContractionWith (QuantumField const &other) const |
| Tells if the field has a special contraction property with other. More... | |
| virtual bool | isChiral () const |
| Tells if the field is chiral. More... | |
| virtual Particle | getChiralityCounterPart () const |
| For a WeylFermion embedded in a DiracFermion, returns the other part of the DiracFermion. More... | |
| virtual Particle | getWeylFermion (Chirality chirality) const |
| For a DiracFermion, returns the chiral WeylFermion it contains of chirality chirality if it has one. More... | |
| virtual Particle | getDiracParent () const |
| For a WeylFermion embedded in a DiracFermion, returns the dirac fermion. More... | |
| virtual void | setDiracParent (Particle const &diracFermion) |
| virtual csl::Expr | getPropagator (QuantumField const &self, QuantumField const &other, csl::Tensor &P, bool external) const |
| Returns the expression of the propagator between two fields. More... | |
| virtual csl::Expr | getInvPropagator (QuantumField const &other, QuantumField const &self, csl::Tensor &P, bool external) const |
| Returns the expression of the propagator between two fields. More... | |
| virtual Particle | getVectorBoson () const |
| For a ghost or goldstone boson, returns the GaugeBoson associated with it. More... | |
| virtual Particle | getGoldstoneBoson () const |
| For a GaugeBoson, returns the associated Golstone boson of there is one. More... | |
| bool | isContractibleWith (QuantumFieldParent const *other) const |
| Tells if the field may be contracted with another in Wick contrations. More... | |
| bool | isBosonic () const |
| Tells if the field is bosonic. More... | |
| bool | isFermionic () const |
| Tells if the field is fermionic. More... | |
| virtual bool | isAntiCommuting () const |
| Tells if the field is a grassman field. More... | |
| bool | isSelfConjugate () const |
| Tells if the field is self-conjugate (real). More... | |
| bool | isReal () const |
| bool | isPhysical () const |
| Tells if the field is physical, i.e. may appear in external legs. More... | |
| bool | isEnabledInDiagrams () const |
| Tells if the field is enabled in diagrams. More... | |
| bool | isIntegratedOut () const |
| Tells if the field is integrated out. More... | |
| int | getSpinDimension () const |
| Returns twice the spin of the particle in an integer. More... | |
| csl::Expr | getMass () const |
| Returns the expression of the mass of the particle. More... | |
| csl::Expr | getSquaredMass () const |
| csl::Expr | getWidth () const |
| Returns the expression of the witdh of the particle. More... | |
| Irrep | getLorentzRep () const |
| Returns the lorentz representation of the field. More... | |
| Gauge * | getGauge () const |
| Returns a pointer to the gauge the field is a representation of. More... | |
| GaugeIrrep | getGaugeIrrep () const |
| Returns the gauge representation containing all individual group representations of the field in the gauge. More... | |
| Irrep | getGroupIrrep (const Group *group) const |
| Returns the representation of the field in a particle group. More... | |
| Flavor const * | getFlavor () const |
| void | setFlavor (Flavor const *flavor) |
| FlavorIrrep | getFlavorIrrep () const |
| Returns the flavor representation containing all individual group representations of the field in the flavor. More... | |
| Irrep | getFlavorIrrep (const FlavorGroup *group) const |
| Returns the representation of the field in a particle flavor group. More... | |
| std::vector< csl::Index > | getSpaceIndex (const std::string &nameIndex="") const |
| Returns a set of free space indices corresponding to the field. More... | |
| std::vector< csl::Index > | getGaugeIndex (std::vector< std::string > names=std::vector< std::string >()) const |
| Returns a set of gauge indices corresponding to the field. More... | |
| std::vector< csl::Index > | getFlavorIndex (std::vector< std::string > names=std::vector< std::string >()) const |
| Returns a set of flavor indices corresponding to the field. More... | |
| std::vector< csl::Index > | getFullSetOfIndices () const |
| Returns a full set of indices for the field including flavor , gauge, and space-time indices. More... | |
| QuantumNumber::Value | getQuantumNumber (QuantumNumber const *number) const |
| Returns the quantum number of the field with respect to number. More... | |
| QuantumNumber::Value | getQuantumNumber (QuantumField const *instance, QuantumNumber const *number) const |
| Returns the quantum number of an instance of the field with respect to number. More... | |
| csl::Expr | getInstance (csl::Tensor point=defaultSpaceTimePoint) |
| Returns an instance of the quantum field as an expression. More... | |
| void | integrateOut (bool value=true) |
| Sets the integrated out property of the field. More... | |
| void | setMass (const std::string &t_mass) |
| Sets the mass of the particle. More... | |
| void | setMass (const std::string &t_mass, long double value) |
| Sets the mass of the particle. More... | |
| void | setMass (const csl::Expr &t_mass) |
| Sets the mass of the particle. More... | |
| void | setWidth (const csl::Expr &t_width) |
| Sets the width of the particle. More... | |
| void | setSelfConjugate (bool t_selfConjugate) |
| Sets the complex conjugation property of the particle. More... | |
| void | setPhysical (bool t_physical) |
| Sets the physical property of the particle. More... | |
| void | setEnabledInDiagrams (bool t_enabled) |
| Enables or disables the particle in diagrams. More... | |
| void | adjustFlavorRep (Flavor *t_flavor) |
| Ajusts the flavor representation of the field to a new flavor group. More... | |
| void | setGaugeIrrep (const GaugeIrrep &newRep) |
| void | setGroupRep (Group *group, const Irrep &newRep) |
| Sets the representation of the field for a given group. More... | |
| void | setGroupRep (std::string const &group, std::vector< int > const &highestWeight) |
| Sets the representation of the field for a given group. More... | |
| void | setGroupRep (std::string const &group, int charge) |
| void | setFlavorRep (const FlavorGroup *group, const Irrep &newRep) |
| Sets the representation of the field for a given flavor group. More... | |
| void | setFundamentalFlavorRep (std::string const &flavorGroup) |
| void | addQuantumNumber (QuantumNumber const &number, QuantumNumber::Value value) |
| Adds a non trivial quantum number to the particle. More... | |
| std::vector< csl::Parent > | breakSpace (const csl::Space *broken, const std::vector< const csl::Space *> &newSpace, const std::vector< size_t > &pieces) const override |
| Returns the set of new tensors after breaking the particle in parts. More... | |
| QuantumFieldParent & | operator= (const QuantumFieldParent &other)=default |
| Assignment operator (c++ default). More... | |
| csl::Expr | operator() (const csl::Tensor &t_point) override |
| Generates an instance of the field as a symbolic expression. More... | |
| csl::Expr | operator() (csl::Index index, const csl::Tensor &t_point) override |
| Generates an instance of the field as a symbolic expression. More... | |
| csl::Expr | operator() (std::vector< int > const &indices, const csl::Tensor &t_point) override |
| Generates an instance of the QuantumField as a symbolic expression. More... | |
| csl::Expr | operator() (std::vector< csl::Index > indices, const csl::Tensor &t_point) override |
| Generates an instance of the field as a symbolic expression. More... | |
| csl::Expr | operator() (csl::Index polarization, std::vector< int > const &indices, const csl::Tensor &t_point) |
| Generates an instance of the PolarizationField as a symbolic expression. More... | |
| csl::Expr | operator() () |
| Generates an instance of the field as a symbolic expression. More... | |
| csl::Expr | operator() (csl::Index index) override |
| Generates an instance of the field as a symbolic expression. More... | |
| csl::Expr | operator() (std::vector< csl::Index > indices) override |
| Generates an instance of the field as a symbolic expression. More... | |
| csl::Expr | operator() (csl::Index polarization, csl::Index index, const csl::Tensor &momentum) |
| Generates an instance of the polarization field as a symbolic expression. More... | |
| csl::Expr | operator() (csl::Index polarization, std::vector< csl::Index > indices, const csl::Tensor &momentum) |
| Generates an instance of the polarization field as a symbolic expression. More... | |
| operator csl::Expr () | |
Public Member Functions inherited from csl::TensorFieldParent | |
| cslParent::PrimaryType | getPrimaryType () const override |
| cslParent::Type | getType () const override |
Public Member Functions inherited from csl::TensorParent | |
| TensorParent (const std::string &t_name) | |
| TensorParent (const TensorParent &abstract)=default | |
| TensorParent (const std::string &t_name, const Space *t_space) | |
| TensorParent (const std::string &t_name, const std::vector< const Space * > &t_space) | |
| TensorParent (const std::string &t_name, const std::vector< const Space * > &t_space, const Expr &t_tensor) | |
| TensorParent (const std::string &t_name, const Space *t_space, const Expr &t_tensor) | |
| cslParent::PrimaryType | getPrimaryType () const override |
| cslParent::Type | getType () const override |
| int | getDim (const Space *t_space) const override |
| std::vector< const Space *> | getSpace () const override |
| Symmetry | getSymmetry () const |
| bool | getFullySymmetric () const override |
| bool | getFullyAntiSymmetric () const override |
| std::vector< Permutation > | getPermutation () const override |
| Expr | getTensor () const override |
| Expr | getTrace () const override |
| bool | dependsOn (Expr_info expr) const override |
| bool | dependsExplicitlyOn (Expr_info expr) const override |
| const std::vector< Equation *> & | getProperties () const override |
| void | setFullySymmetric () override |
| void | setFullyAntiSymmetric () override |
| void | addSpace (const Space *space) override |
| void | addSymmetry (int i1, int i2) override |
| void | addAntiSymmetry (int i1, int i2) override |
| void | setSymmetry (const Symmetry &t_symetry) override |
| void | setTensor (const Expr &t_tensor) override |
| void | setElementary (bool t_elementary) |
| bool | hasContractionProperty (const Abstract *self, Expr_info B) const override |
| Expr | contraction (const Abstract *self, Expr_info B) const override |
| void | addSelfContraction (const Expr &A, const Expr &B, const Expr &res, std::optional< std::function< bool(Expr_info, Expr_info)>> condition=std::nullopt) override |
| virtual bool | operator== (const TensorParent &other) const |
| virtual bool | operator!= (const TensorParent &other) const |
Public Member Functions inherited from csl::AbstractParent | |
| AbstractParent (const std::string &t_name) | |
| AbstractParent (const AbstractParent &abstract)=default | |
| std::string const & | getName () const |
| bool | getCommutable () const |
| void | setCommutable (bool t_commutable) |
| void | addProperty (Equation *prop) |
| void | removeProperty (Equation *prop) |
| virtual int | getDim () const |
Private Attributes | |
| GaugedGroup * | gaugedGroup |
| Raw pointer to the gauged group associated with the gauge boson. | |
Additional Inherited Members | |
Public Types inherited from mty::QuantumFieldParent | |
| using | Propagator_func = std::function< csl::Expr(QuantumField const &, QuantumField const &, csl::Tensor &, bool)> |
| Type definition. A Propagator_func is a function called to get the propagator result of the contraction of two fields. More... | |
Protected Member Functions inherited from mty::VectorBoson | |
| void | initPropagator () override |
| Initializes default propagators for the particle. This function is called automatically in the constructor of derived classes. More... | |
| void | updateBrokenFieldStrength (csl::Space const *space) |
| void | updateBrokenGhost (csl::Space const *space, std::shared_ptr< GhostBoson > const &local_ghost) |
| void | updateBrokenGoldstone (csl::Space const *space) |
Protected Member Functions inherited from mty::QuantumFieldParent | |
| void | addRelative (std::weak_ptr< mty::QuantumFieldParent > const &particle) |
| std::weak_ptr< mty::QuantumFieldParent > | removeRelative (QuantumFieldParent const *particle) |
| void | checkRelatives () |
| template<class Func > | |
| void | applyToRelatives (Func &&func) |
| void | printQuantumDefinition (std::ostream &out, int indentSize) const |
| void | initIndexSpaces () |
| Initializes firstGaugeIndex and firstSpaceIndex. Automatically called by the constructor. More... | |
| void | initPolarizationSum () |
| Initializes the polarization sum for PolarizationField arising in amplitudes. More... | |
| void | setPropagator (QuantumFieldParent const *other, Propagator_func prop) |
| Changes the propagator of a particle with another. More... | |
Protected Attributes inherited from mty::VectorBoson | |
| mty::gauge::Choice | choice |
| Gauge choice for the vector, modifying also properties of the Ghost and Goldstone boson (if some are defined for the vector). | |
| std::shared_ptr< GoldstoneBoson > | goldstone |
| Pointer to the GoldstoneBoson associated to the vector, if there is one. | |
| std::shared_ptr< GhostBoson > | ghost |
| Pointer to the GhostBoson associated to the vector, if there is one. | |
| std::shared_ptr< GhostBoson > | ghost_c |
| Pointer to the conjugated GhostBoson associated to the vector, if there is one (for example for the W boson that has two ghosts). | |
| std::shared_ptr< FieldStrength > | fieldStrength |
| Pointer to the FieldStrength associated to the vector. | |
Protected Attributes inherited from mty::QuantumFieldParent | |
| bool | bosonic |
| True if the field is bosonic. | |
| bool | selfConjugate = false |
| True if the field is real (real scalars, gauge bosons , majorana fermions). More... | |
| bool | integratedOut = false |
| Tells if the field is integrated out in the theory. If true, the propagator is modified assuming \( M \gg p \). | |
| bool | physical = true |
| Tells if the field is physical. If true, it may appear in external states. Otherwise it is forbidden. | |
| bool | enabledInDiagrams = true |
| Tells if the field is enabled in diagrams. If no, it is fully discarded in computations. | |
| csl::Expr | mass = CSL_0 |
| Mass of the particle. Appears in the propagator. | |
| csl::Expr | width = CSL_0 |
| Width of the particle. Appears in the propagator. | |
| drawer::ParticleType | drawType = drawer::ParticleType::None |
| Particle type in graphical diagrams (straight line, arrow, vector, gluon ...). | |
| Group * | stGroup |
| Pointer to the space-time group. For know it is the Lorentz group, \( D_2 \) algebra. | |
| Irrep | spin |
| Spin representation in stGroup. To have a number corresponding to the spin, see getSpinDimension(). | |
| Gauge * | gauge |
| Pointer to the gauge the particle is a representation of. | |
| GaugeIrrep | irrep |
| Representation of the field in the gauge gauge. | |
| bool | polarizationSumInitialized = false |
| Boolean making sure that polarization sum (see PolarizationField) is initialized only onde. | |
| size_t | firstGaugeIndex |
| Position of the first gauge index, after flavor indices. | |
| size_t | firstSpaceIndex |
| Position of the first space index, after flavor and gauge indices. | |
| const Flavor * | flavor |
| Pointer to the flavor the particle is a representation of. | |
| FlavorIrrep | flavorRep |
| Representation of the field in the flavor flavor. | |
| std::map< QuantumNumber::ID, QuantumNumber::Value > | qNumbers |
| List of quantum numbers of the field. More... | |
| std::map< QuantumFieldParent const *, Propagator_func > | propagator |
| Contains all propagators for the field with other. More... | |
| std::vector< std::weak_ptr< mty::QuantumFieldParent > > | relatives |
Protected Attributes inherited from csl::TensorParent | |
| std::vector< const Space *> | space |
| Symmetry | symmetry |
| bool | fullySymmetric |
| bool | fullyAntiSymmetric |
| std::vector< std::pair< SelfContraction, Expr > > | selfContraction |
| bool | valued |
| Expr | tensor |
| Expr | trace |
Protected Attributes inherited from csl::AbstractParent | |
| std::string | name |
| std::string | latexName |
| bool | commutable |
| std::vector< Equation *> | props |
Gauge boson implementation in MARTY.
A gauge boson is basically just a VectorBoson that also keeps a pointer to a mty::GaugedGroup from which it is the gauge boson.
|
overridevirtual |
Pure virtual function. Generates a partical similar to the current object, changing only the name.
| t_name | Name of the new particle, identical to the current object. |
Reimplemented from mty::VectorBoson.
|
overridevirtual |
Tells if the particle is a gauge boson.
Reimplemented from mty::QuantumFieldParent.
1.8.13