File indexing completed on 2025-01-18 10:06:19
0001
0002
0003
0004
0005
0006 #ifndef Pythia8_DeuteronProduction_H
0007 #define Pythia8_DeuteronProduction_H
0008
0009 #include "Pythia8/Basics.h"
0010 #include "Pythia8/Event.h"
0011 #include "Pythia8/ParticleData.h"
0012 #include "Pythia8/PhysicsBase.h"
0013 #include "Pythia8/PythiaStdlib.h"
0014 #include "Pythia8/Settings.h"
0015
0016 namespace Pythia8 {
0017
0018
0019
0020
0021
0022 class DeuteronProduction : public PhysicsBase {
0023
0024 public:
0025
0026
0027 DeuteronProduction() : valid(true), models(), ids(), parms(), masses(),
0028 norm(), mPion(), mSafety(), kMin(), kMax(), kTol(), kSteps() {}
0029
0030
0031 bool init();
0032
0033
0034 bool combine(Event& event);
0035
0036 private:
0037
0038 bool valid;
0039 vector<int> models;
0040 vector<vector<int> > ids;
0041 vector<vector<double> > parms, masses;
0042 double norm;
0043 double mPion;
0044 double mSafety;
0045 double kMin, kMax, kTol;
0046 int kSteps;
0047
0048
0049 static const int NTRYDECAY;
0050 static const double WTCORRECTION[11];
0051
0052
0053 void bind(Event& event, vector<int>& prts);
0054
0055
0056 void combos(Event& event, vector<int>& prts, vector<pair<int, int> > &cmbs);
0057
0058
0059 double fit(double k, vector<double>& c, int i);
0060
0061
0062 double sigma(double k, int chn);
0063
0064
0065 bool decay(Event& event, int idx0, int idx1, int chn);
0066
0067
0068 void maximum(double& k, double& s, int chn);
0069 vector<int> parseIds(string line);
0070 vector<double> parseParms(string line);
0071
0072 };
0073
0074
0075
0076 }
0077
0078 #endif