24 #ifndef FERMIONIC_FIELD_H_INCLUDED 25 #define FERMIONIC_FIELD_H_INCLUDED 84 bool t_isSelfConjugate,
89 bool t_isSelfConjugate,
102 void printDefinition(
103 std::ostream &out = std::cout,
108 ParticleType getParticleType()
const override {
109 return ParticleType::WeylFermion;
130 void setDiracParent(
Particle const &parent)
override;
134 std::vector<std::string>
const &newNames
138 std::vector<mty::FlavorGroup*>
const &subGroups,
139 std::vector<std::string>
const &
names 201 bool t_isSelfConjugate);
205 bool t_isSelfConjugate);
218 || leftPart.get() == other
219 || rightPart.get() == other;
223 return isSameSpecies(other);
226 void printDefinition(
227 std::ostream &out = std::cout,
232 ParticleType getParticleType()
const override {
233 return ParticleType::DiracFermion;
236 void initWeylFermions();
250 std::vector<std::string>
const &newNames
254 std::vector<mty::FlavorGroup*>
const &subGroups,
255 std::vector<std::string>
const &
names 276 template<
class ...Args>
279 auto weyl = csl::make_shared<WeylFermion>(std::forward<Args>(args)...);
294 template<
class ...Args>
297 auto part = csl::make_shared<DiracFermion>(std::forward<Args>(args)...);
298 part->initWeylFermions();
virtual Particle getWeylFermion(Chirality chirality) const
For a DiracFermion, returns the chiral WeylFermion it contains of chirality chirality if it has one...
Definition: quantumField.cpp:283
This class inherits from std::shared_ptr<QuantumFieldParent> and should be used instead of direct Qua...
Definition: quantumField.h:1409
Particle getChiralityCounterPart() const override
For a WeylFermion embedded in a DiracFermion, returns the other part of the DiracFermion.
Definition: fermionicField.cpp:205
Particle generateSimilar(std::string const &t_name) const override
Pure virtual function. Generates a partical similar to the current object, changing only the name...
Definition: fermionicField.cpp:167
Namespace of MARTY.
Definition: 2HDM.h:31
class mty::AbstractGroup Group
Abstract base class for groups.
constexpr auto names
Names for topologies.
Definition: topology.h:72
int getNDegreesOfFreedom() const override
Pure virtual function. Returns the number of degrees of freedom in the particle. It does not count ga...
Definition: fermionicField.cpp:177
Chirality
Chirality for fermions. Either Left or Right for WeylFermion, or None for DiracFermion.
Definition: quantumField.h:40
csl::Expr getKineticTerm(csl::Tensor &X) override
Returns the kinetic term in the Lagrangian for the field.
Definition: fermionicField.cpp:182
std::vector< const Space *> space
GaugeIrrep irrep
Representation of the field in the gauge gauge.
Definition: quantumField.h:260
Chirality chirality
Chirality of the particle.
Definition: fermionicField.h:50
FlavorIrrep flavorRep
Representation of the field in the flavor flavor.
Definition: quantumField.h:286
Weyl fermion, two-component Chiral particle.
Definition: fermionicField.h:41
Particle getDiracParent() const override
For a WeylFermion embedded in a DiracFermion, returns the dirac fermion.
Definition: fermionicField.cpp:187
csl::Expr getEnergyDimension() const override
Pure virtual function. Returns the energy dimension of the field.
Definition: fermionicField.cpp:172
Particle diracfermion_s(Args &&...args)
Delegates the construction of a Dirac fermion and returns the result.
Definition: fermionicField.h:295
std::weak_ptr< DiracFermion > diracParent
Weak pointer to the dirac parent if the fermion is part of a Dirac fermion.
Definition: fermionicField.h:59
Chirality getChirality() const override
Returns the chirality of the particle.
Definition: fermionicField.cpp:162
Contains all objects in the theory. In particular QuantumField objects, Gauge, Flavor, Particle...
Definition: model.h:68
Base class for parents of QuantumField objects.
Definition: quantumField.h:152
Dirac or Majorana fermion in MARTY.
Definition: fermionicField.h:159
std::shared_ptr< WeylFermion > rightPart
Right Weyl sub-part for a Dirac fermion.
Definition: fermionicField.h:179
void initPropagator() override
Initializes default propagators for the particle. This function is called automatically in the constr...
Definition: fermionicField.cpp:218
std::shared_ptr< WeylFermion > leftPart
Left Weyl sub-part for a Dirac fermion.
Definition: fermionicField.h:171
bool isChiral() const override
Tells if the field is chiral.
Definition: fermionicField.cpp:157
Contains QuantumField and QuantumFieldParent, basic objects handling quantum fields as csl expression...
Particle weylfermion_s(Args &&...args)
Delegates the construction of a Weyl fermion and returns the result.
Definition: fermionicField.h:277