DiFfRG
Loading...
Searching...
No Matches
DiFfRG::PolynomialExpRegulator< OPTS > Struct Template Reference

Implements a regulator given by. More...

#include <regulators.hh>

Static Public Member Functions

template<int c0, int... c>
static __forceinline__ __device__ __host__ auto get_f (std::integer_sequence< int, c0, c... >, const auto x)
 
template<int c0, int... c>
static __forceinline__ __device__ __host__ auto get_df (std::integer_sequence< int, c0, c... >, const auto x)
 
template<typename NT1 , typename NT2 >
static __forceinline__ __device__ __host__ auto RB (const NT1 k2, const NT2 q2)
 
template<typename NT1 , typename NT2 >
static __forceinline__ __device__ __host__ auto RBdot (const NT1 k2, const NT2 q2)
 
template<typename NT1 , typename NT2 >
static __forceinline__ __device__ __host__ auto dq2RB (const NT1 k2, const NT2 q2)
 
template<typename NT1 , typename NT2 >
static __forceinline__ __device__ __host__ auto RF (const NT1 k2, const NT2 q2)
 
template<typename NT1 , typename NT2 >
static __forceinline__ __device__ __host__ auto RFdot (const NT1 k2, const NT2 q2)
 
template<typename NT1 , typename NT2 >
static __forceinline__ __device__ __host__ auto dq2RF (const NT1 k2, const NT2 q2)
 

Static Public Attributes

static constexpr int order = OPTS::order
 

Detailed Description

template<class OPTS = PolynomialExpRegulatorOpts>
struct DiFfRG::PolynomialExpRegulator< OPTS >

Implements a regulator given by.

\[R_B(x) = k^2 e^{-f(x)}\,,\]

where \(f(x)\) is a polynomial chosen such that the propagator gets a pole of order order at x = 0 if the mass becomes negative (convexity restoration).

Provides the following functions:

  • RB(k2, q2) = \( k^2 e^{-f(x)} \)
  • RBdot(k2, q2) = \( \partial_t R_B(k^2,p^2) \)
  • dq2RB(k2, q2) = \( \frac{\partial}{\partial q^2} R_B(k^2,p^2) \)
  • RF(k2, q2) = \( \sqrt{R_B(k^2,p^2) + p^2} - p \)
  • RFdot(k2, q2) = \( p \partial_ t R_F(k^2,p^2) \)
  • dq2RF(k2, q2) = \( \frac{\partial}{\partial q^2} R_F(k^2,p^2) \)
Template Parameters
orderorder of the pole.

Member Function Documentation

◆ dq2RB()

template<class OPTS = PolynomialExpRegulatorOpts>
template<typename NT1 , typename NT2 >
static __forceinline__ __device__ __host__ auto DiFfRG::PolynomialExpRegulator< OPTS >::dq2RB ( const NT1 k2,
const NT2 q2 )
inlinestatic

◆ dq2RF()

template<class OPTS = PolynomialExpRegulatorOpts>
template<typename NT1 , typename NT2 >
static __forceinline__ __device__ __host__ auto DiFfRG::PolynomialExpRegulator< OPTS >::dq2RF ( const NT1 k2,
const NT2 q2 )
inlinestatic

◆ get_df()

template<class OPTS = PolynomialExpRegulatorOpts>
template<int c0, int... c>
static __forceinline__ __device__ __host__ auto DiFfRG::PolynomialExpRegulator< OPTS >::get_df ( std::integer_sequence< int, c0, c... > ,
const auto x )
inlinestatic

◆ get_f()

template<class OPTS = PolynomialExpRegulatorOpts>
template<int c0, int... c>
static __forceinline__ __device__ __host__ auto DiFfRG::PolynomialExpRegulator< OPTS >::get_f ( std::integer_sequence< int, c0, c... > ,
const auto x )
inlinestatic

◆ RB()

template<class OPTS = PolynomialExpRegulatorOpts>
template<typename NT1 , typename NT2 >
static __forceinline__ __device__ __host__ auto DiFfRG::PolynomialExpRegulator< OPTS >::RB ( const NT1 k2,
const NT2 q2 )
inlinestatic

◆ RBdot()

template<class OPTS = PolynomialExpRegulatorOpts>
template<typename NT1 , typename NT2 >
static __forceinline__ __device__ __host__ auto DiFfRG::PolynomialExpRegulator< OPTS >::RBdot ( const NT1 k2,
const NT2 q2 )
inlinestatic

◆ RF()

template<class OPTS = PolynomialExpRegulatorOpts>
template<typename NT1 , typename NT2 >
static __forceinline__ __device__ __host__ auto DiFfRG::PolynomialExpRegulator< OPTS >::RF ( const NT1 k2,
const NT2 q2 )
inlinestatic

◆ RFdot()

template<class OPTS = PolynomialExpRegulatorOpts>
template<typename NT1 , typename NT2 >
static __forceinline__ __device__ __host__ auto DiFfRG::PolynomialExpRegulator< OPTS >::RFdot ( const NT1 k2,
const NT2 q2 )
inlinestatic

Member Data Documentation

◆ order

template<class OPTS = PolynomialExpRegulatorOpts>
int DiFfRG::PolynomialExpRegulator< OPTS >::order = OPTS::order
staticconstexpr

The documentation for this struct was generated from the following file: