File indexing completed on 2025-01-18 10:06:25
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef Pythia8_JunctionSplitting_H
0011 #define Pythia8_JunctionSplitting_H
0012
0013 #include "Pythia8/Basics.h"
0014 #include "Pythia8/ColourTracing.h"
0015 #include "Pythia8/Event.h"
0016 #include "Pythia8/FragmentationFlavZpT.h"
0017 #include "Pythia8/Info.h"
0018 #include "Pythia8/ParticleData.h"
0019 #include "Pythia8/PhysicsBase.h"
0020 #include "Pythia8/Settings.h"
0021 #include "Pythia8/StringLength.h"
0022
0023 namespace Pythia8 {
0024
0025
0026
0027
0028
0029
0030 class JunctionSplitting : public PhysicsBase {
0031
0032 public:
0033
0034
0035 JunctionSplitting() : pNormJunction(), allowDoubleJunRem() {}
0036
0037
0038 void init();
0039
0040
0041
0042 bool checkColours(Event& event);
0043
0044 protected:
0045
0046 virtual void onInitInfoPtr() override {
0047 registerSubObject(flavSel);
0048 registerSubObject(pTSel);
0049 registerSubObject(zSel);
0050 registerSubObject(stringFrag);
0051 }
0052
0053 private:
0054
0055
0056 static const int NTRYJNREST;
0057 static const double JJSTRINGM2MAX, JJSTRINGM2FRAC, CONVJNREST, MTHAD,
0058 MINANGLE;
0059
0060 double pNormJunction;
0061 bool allowDoubleJunRem;
0062
0063
0064 StringFlav flavSel;
0065 StringPT pTSel;
0066 StringZ zSel;
0067
0068
0069 StringFragmentation stringFrag;
0070
0071
0072 ColourTracing colTrace;
0073
0074
0075 StringLength stringLength;
0076
0077
0078
0079 bool splitJunGluons(Event& event, vector<vector< int > >& iPartonJun,
0080 vector<vector< int > >& iPartonAntiJun);
0081
0082
0083 bool splitJunChains(Event& event);
0084
0085
0086 bool splitJunPairs(Event& event, vector<vector< int > >& iPartonJun,
0087 vector<vector< int > >& iPartonAntiJun);
0088
0089
0090 bool getPartonLists(Event& event, vector<vector< int > >& iPartonJun,
0091 vector<vector<int > >& iPartonAntiJun);
0092
0093
0094 bool setAcol(Event& event, int col, int acol);
0095
0096 };
0097
0098
0099
0100 }
0101
0102 #endif