QCDLoop
One-loop scalar Feynman integrals
qcdloop.h
1 //
2 // QCDLoop 2016
3 //
4 // Authors: Stefano Carrazza: stefano.carrazza@cern.ch
5 // Keith Ellis: keith.ellis@durham.ac.uk
6 // Giulia Zanderighi: giulia.zanderighi@cern.ch
7 
8 #pragma once
9 
10 #include <vector>
11 #include <memory>
12 #include "types.h"
13 #include "tadpole.h"
14 #include "bubble.h"
15 #include "triangle.h"
16 #include "box.h"
17 #include "maths.h"
18 #include "tools.h"
19 #include "timer.h"
20 using std::vector;
21 
22 namespace ql
23 {
29  template<typename TOutput = complex, typename TMass = double, typename TScale = double>
30  class QCDLoop
31  {
32  public:
33  QCDLoop();
34  ~QCDLoop();
35 
37  void integral(vector<TOutput> &res,
38  TScale const& mu2,
39  vector<TMass> const& m,
40  vector<TScale> const& p = {}) const;
41 
43  void setCacheSize(int const& size);
44 
45  private:
50  };
51 }
52 
The one-loop scalar integral trigger.
Definition: qcdloop.h:30
QCDLoop()
The Constructor.
Definition: qcdloop.cc:16
The Bubble integral.
Definition: bubble.h:20
~QCDLoop()
The Destructor.
Definition: qcdloop.cc:25
Definition: box.cc:14
void setCacheSize(int const &size)
Set the Cache size.
Definition: qcdloop.cc:60
The Triangle integral.
Definition: triangle.h:20
The TadPole integral.
Definition: tadpole.h:20
void integral(vector< TOutput > &res, TScale const &mu2, vector< TMass > const &m, vector< TScale > const &p={}) const
Computes the one-loop scalar integral.
Definition: qcdloop.cc:41
The Box integral.
Definition: box.h:20