Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:24:11

0001 // -*- C++ -*-
0002 //
0003 // MG_qqx2ttxg.h is a part of Herwig - A multi-purpose Monte Carlo event generator
0004 // Copyright (C) 2002-2019 The Herwig Collaboration
0005 //
0006 // Herwig is licenced under version 3 of the GPL, see COPYING for details.
0007 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
0008 //
0009 #ifndef MG5_Sigma_sm_qqx2ttxg_H
0010 #define MG5_Sigma_sm_qqx2ttxg_H
0011 //
0012 // This is the declaration of the MG_qqx2ttxg class.
0013 //
0014 
0015 #include <complex> 
0016 #include <vector> 
0017 #include "Parameters_sm.h"
0018 
0019 using namespace std; 
0020 
0021 class MG_qqx2ttxg
0022 {
0023   public:
0024 
0025     // Constructor.
0026     MG_qqx2ttxg() {}
0027 
0028     // Initialize process using Herwig parameters
0029     virtual void initProc(map<string, double> & MGParams); 
0030 
0031     // Calculate flavour-independent parts of cross section.
0032     virtual void sigmaKin(vector<std::complex<double> >& amps, const vector<int>& hel, int crossed); 
0033 
0034     // Set momenta for matrix element evaluation
0035     void setMomenta(vector < double * > & momenta){p = momenta;}
0036  
0037     // number of external particles 
0038     static const int nexternal = 5; 
0039 
0040     // number of colour ordered amplitudes 
0041     static const int namplitudes = 5; 
0042     std::complex<double> amp[namplitudes]; 
0043 
0044   private:
0045     // Calculate wavefunctions
0046     void calculate_wavefunctions(const int perm[], const int hel[], int crossed); 
0047 
0048     // number of wavefunctions used in calculate_wavefunctions 
0049     static const int nwavefuncs = 11; 
0050     std::complex<double> w[nwavefuncs][18]; 
0051 
0052     // Pointer to the model parameters
0053     Parameters_sm * pars; 
0054 
0055     // vector with external particle masses
0056     vector<double> mME; 
0057 
0058     // vector with momenta 
0059     vector < double * > p; 
0060  
0061 }; 
0062 
0063 
0064 #endif  // MG5_Sigma_sm_qqx2ttxg_H