QCDLoop
One-loop scalar Feynman integrals
topology.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 <string>
12 #include "types.h"
13 #include "tools.h"
14 #include "cache.h"
15 using std::vector;
16 using std::string;
17 
18 namespace ql
19 {
25  template<typename TOutput = complex, typename TMass = double, typename TScale = double>
26  class Topology: public Tools<TOutput,TMass,TScale>, public LRUCache<size_t, vector<TOutput> >
27  {
28  public:
29  Topology(string name = "None");
30  Topology(const Topology &obj);
31  virtual ~Topology();
32 
34  virtual void integral(vector<TOutput>&, TScale const&,vector<TMass> const&,vector<TScale> const&) = 0;
35 
36  // Get methods
37  string const& getName() const { return _name;}
38 
39  protected:
41  bool checkCache(TScale const&,vector<TMass> const&,vector<TScale> const&);
42 
44  void storeCache(TScale const&,vector<TMass> const&,vector<TScale> const&);
45 
46  string _name;
47  size_t _key;
48  TScale _mu2;
49  vector<TMass> _m;
50  vector<TScale> _p;
51  vector<TOutput> _val;
53  };
54 
55 }
Topology(string name="None")
Topology::Topology.
Definition: topology.cc:19
bool checkCache(TScale const &, vector< TMass > const &, vector< TScale > const &)
< Check stored cached results
Definition: topology.cc:68
The Hasher algorithm container for key generation.
Definition: cache.h:24
The LRU Cache class.
Definition: cache.h:37
Definition: box.cc:14
The Topology abstract class.
Definition: topology.h:26
virtual ~Topology()
Topology::~Topology.
Definition: topology.cc:52
void storeCache(TScale const &, vector< TMass > const &, vector< TScale > const &)
Topology::storeCache.
Definition: topology.cc:88
string const & getName() const
Get topology name.
Definition: topology.h:37
Standard Tools for the library.
Definition: tools.h:22
virtual void integral(vector< TOutput > &, TScale const &, vector< TMass > const &, vector< TScale > const &)=0
Pure virtual function for integral computation.