herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
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 
12 using 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.