Thermal-FIST 1.5
Package for hadron resonance gas model applications
Loading...
Searching...
No Matches
ParticleDecay.h
Go to the documentation of this file.
1/*
2 * Thermal-FIST package
3 *
4 * Copyright (c) 2019-2023 Volodymyr Vovchenko
5 *
6 * GNU General Public License (GPLv3 or later)
7 *
8 * This file contains structures and enumerations related to particle decays,
9 * including feeddown flags, decay types, and detailed information about
10 * individual decay channels.
11 */
12#ifndef PARTICLEDECAY_H
13#define PARTICLEDECAY_H
14
20
21#include <string>
22#include <vector>
23#include <cmath>
24
27#include "HRGBase/xMath.h"
28
29namespace thermalfist {
34 struct Feeddown {
46 static const int NumberOfTypes = 5;
47 };
48
54 {
64 enum DecayType {
65 Stable = 0,
66 Default = 1,
67 Weak = 2,
69 Strong = 4
70 };
71 static const int NumberOfDecayTypes = 5;
72 };
73
78 double mBratio;
79 std::vector<long long> mDaughters;
80 double mM0;
81
82 double mPole;
83 double mL;
84 std::vector<double> mBratioVsM;
86
88 std::string mChannelName;
89
96 ParticleDecayChannel(double bratio = 0., const std::vector<long long> &daughters = std::vector<long long>(0)) :
97 mBratio(bratio), mDaughters(daughters), mM0(0.), mPole(0.), mL(0.),
98 mBratioVsM(std::vector<double>(0)), mBratioAverage(bratio), mChannelName("decay1") {
99 }
100
110 double ModifiedWidth(double m) const;
111
112 bool operator==(const ParticleDecayChannel &rhs) const; // TODO: improve
113 bool operator!=(const ParticleDecayChannel &rhs) const { return !(*this == rhs); }
114 };
115
116} // namespace thermalfist
117
118#endif
The main namespace where all classes and functions of the Thermal-FIST library reside.
Definition CosmicEoS.h:9
An auxiliary struct containing the list of feeddown flags.
static const int NumberOfTypes
@ Strong
Feeddown from strong decays.
@ Weak
Feeddown from strong, electromagnetic, and weak decays.
@ Electromagnetic
Feeddown from strong and electromagnetic decays.
@ StabilityFlag
Feeddown from all particles marked as unstable.
@ Primordial
No feeddown.
Structure containing information about a single decay channel of a particle.
std::vector< double > mBratioVsM
std::string mChannelName
Name of the decay channel. Not used.
bool operator!=(const ParticleDecayChannel &rhs) const
std::vector< long long > mDaughters
bool operator==(const ParticleDecayChannel &rhs) const
ParticleDecayChannel(double bratio=0., const std::vector< long long > &daughters=std::vector< long long >(0))
Construct a new ParticleDecay object.
double ModifiedWidth(double m) const
Energy depedent modified branching ratio.
An auxiliary struct containing the list of decay types.
DecayType
Type of particle's decay.
@ Electromagnetic
Electromagnetically decaying.
static const int NumberOfDecayTypes
Contains some extra mathematical functions used in the code.