Thermal-FIST  1.3
Package for hadron resonance gas model applications
ParticleDecay.h
Go to the documentation of this file.
1 /*
2  * Thermal-FIST package
3  *
4  * Copyright (c) 2019-2019 Volodymyr Vovchenko
5  *
6  * GNU General Public License (GPLv3 or later)
7  */
8 #ifndef PARTICLEDECAY_H
9 #define PARTICLEDECAY_H
10 
17 #include <string>
18 #include <vector>
19 #include <cmath>
20 
23 #include "HRGBase/xMath.h"
24 
25 namespace thermalfist {
30  struct Feeddown {
35  enum Type {
36  Primordial = 0,
38  Weak = 2,
40  Strong = 4
41  };
42  static const int NumberOfTypes = 5;
43  };
44 
50  {
60  enum DecayType {
61  Stable = 0,
62  Default = 1,
63  Weak = 2,
65  Strong = 4
66  };
67  static const int NumberOfDecayTypes = 5;
68  };
69 
74  double mBratio;
75  std::vector<long long> mDaughters;
76  double mM0;
78  double mPole;
79  double mL;
80  std::vector<double> mBratioVsM;
81  double mBratioAverage;
83  std::string mChannelName;
85 
92  ParticleDecayChannel(double bratio = 0., const std::vector<long long> &daughters = std::vector<long long>(0)) :
93  mBratio(bratio), mDaughters(daughters), mM0(0.), mPole(0.), mL(0.),
94  mBratioVsM(std::vector<double>(0)), mBratioAverage(bratio), mChannelName("decay1") {
95  }
96 
106  double ModifiedWidth(double m) const;
107 
108  bool operator==(const ParticleDecayChannel &rhs) const; // TODO: improve
109  bool operator!=(const ParticleDecayChannel &rhs) const { return !(*this == rhs); }
110  };
111 
112 } // namespace thermalfist
113 
114 #endif
Feeddown from strong, electromagnetic, and weak decays.
Definition: ParticleDecay.h:38
Structure containing information about a single decay channel of a particle.
Definition: ParticleDecay.h:73
DecayType
Type of particle&#39;s decay.
Definition: ParticleDecay.h:60
static const int NumberOfTypes
Definition: ParticleDecay.h:42
std::vector< double > mBratioVsM
Definition: ParticleDecay.h:80
Feeddown from strong decays.
Definition: ParticleDecay.h:40
ParticleDecayChannel(double bratio=0., const std::vector< long long > &daughters=std::vector< long long >(0))
Construct a new ParticleDecay object.
Definition: ParticleDecay.h:92
An auxiliary struct containing the list of decay types.
Definition: ParticleDecay.h:49
Contains some extra mathematical functions used in the code.
bool operator!=(const ParticleDecayChannel &rhs) const
An auxiliary struct containing the list of feeddown flags.
Definition: ParticleDecay.h:30
std::vector< long long > mDaughters
Definition: ParticleDecay.h:75
Feeddown from strong and electromagnetic decays.
Definition: ParticleDecay.h:39
The main namespace where all classes and functions of the Thermal-FIST library reside.
Feeddown from all particles marked as unstable.
Definition: ParticleDecay.h:37