herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MG_process.h
1// Template MadGraph process file
2// Replace process-specific marked values with values
3// taken from CPPProcess.h file generated by MadGraph
4
5#ifndef MG5_Sigma_mssm_process_H
6#define MG5_Sigma_mssm_process_H
7
8#include <complex>
9#include <vector>
10#include "Parameters_mssm.h"
11
12using namespace std;
13
14
16{
17 public:
18
19 // Constructor.
20 MG_process() {}
21
22 // Initialize process using parameter card (slow)
23 virtual void initProc(string param_card_name);
24
25 // Initialize process using Herwig parameters
26 virtual void initProc(map<string, double> & MGParams);
27
28 // Calculate flavour-independent parts of cross section.
29 virtual void sigmaKin(vector<std::complex<double> >& amps, const vector<int>& hel);
30
31 // Set momenta for matrix element evaluation
32 void setMomenta(vector < double * > & momenta){p = momenta;}
33
34 // number of external particles ** Replace
35 static const int nexternal = 4;
36
37 // number of colour ordered amplitudes ** Replace
38 static const int namplitudes = 1;
39 std::complex<double> amp[namplitudes];
40
41 private:
42 // Calculate wavefunctions
43 void calculate_wavefunctions(const int hel[]);
44
45 // number of wavefunctions used in calculate_wavefunctions ** Replace
46 static const int nwavefuncs = 5;
47 std::complex<double> w[nwavefuncs][18];
48
49 // Pointer to the model parameters
50 Parameters_mssm * pars;
51
52 // vector with external particle masses
53 vector<double> mME;
54
55 // vector with momenta
56 vector < double * > p;
57
58};
59
60
61#endif // MG5_Sigma_mssm_process_H
STL namespace.