File indexing completed on 2025-04-19 09:09:44
0001 #ifndef AHADIC_Tools_Hadronisation_Parameters_H
0002 #define AHADIC_Tools_Hadronisation_Parameters_H
0003
0004 #include "AHADIC++/Tools/Constituents.H"
0005 #include "AHADIC++/Tools/Double_Transitions.H"
0006 #include "AHADIC++/Tools/Single_Transitions.H"
0007 #include "ATOOLS/Math/Vector.H"
0008
0009 #include <map>
0010 #include <string>
0011 #include <cassert>
0012
0013 namespace AHADIC {
0014 static ATOOLS::Vec4D s_AxisP(1.,0.,0.,1.);
0015 static ATOOLS::Vec4D s_AxisM(1.,0.,0.,-1.);
0016
0017 struct control {
0018 public:
0019 static long int s_AHAparticles;
0020 static long int s_AHAclusters;
0021 };
0022
0023 class Hadronisation_Parameters {
0024 private:
0025 int m_shower;
0026 double m_offset;
0027 Constituents * p_constituents;
0028 Single_Transitions * p_stransitions;
0029 Double_Transitions * p_dtransitions;
0030
0031 std::map<std::string,int> m_switchmap;
0032 std::map<std::string,double> m_parametermap;
0033
0034 void ReadParameters();
0035 void ReadGeneralSwitches();
0036 void ReadPoppingParameters();
0037 void ReadMesonWeights();
0038 void ReadSplittingParameters();
0039 void ReadClusterToMesonPSParameters();
0040 public:
0041 Hadronisation_Parameters();
0042 ~Hadronisation_Parameters();
0043
0044 void Init(std::string);
0045 const double Get(std::string keyword) const;
0046 const int Switch(std::string keyword) const;
0047
0048 Constituents * GetConstituents() { return p_constituents; }
0049
0050 Single_Transitions * GetSingleTransitions() { return p_stransitions; }
0051 Double_Transitions * GetDoubleTransitions() { return p_dtransitions; }
0052
0053 bool AdjustMomenta(const int,ATOOLS::Vec4D *,const double *);
0054 };
0055
0056 extern Hadronisation_Parameters * hadpars;
0057
0058 inline double Lambda(const double & ma2,const double & mb2,
0059 const double & mc2,const double & kt2=0.) {
0060 assert(ATOOLS::sqr(ma2-mb2-(mc2+kt2))>4.*mb2*(mc2*kt2));
0061 return sqrt(ATOOLS::sqr(ma2-mb2-(mc2+kt2))-4.*mb2*(mc2+kt2))/(2.*ma2);
0062 };
0063 }
0064
0065 #endif