#include "MODEL/Main/Single_Vertex.H" #include "METOOLS/Explicit/Vertex.H" namespace METOOLS { class f_1_2_3_Calculator: public Color_Calculator { private: static std::complex m_cfacs[3][3][3][3][3][3]; // Outgoing index size_t m_out; // Mapping of indices, taking care of the 'rotation', in which the // vertex occurs such that j[m_inds[i]] = ji with i \in // {0,1,2,...,n_external-1} std::vector m_inds; public: inline f_1_2_3_Calculator(const Vertex_Key &key): Color_Calculator(key) { m_out = p_v->V()->id.back(); size_t n_ext = p_v->V()->id.size(); size_t max_ind = n_ext-1; // Set up index mapping m_inds.resize(n_ext); for(size_t i(0); i(0.00000000000000000000e+00,7.07106781186547683760e-01); m_cfacs[0][0][0][2][0][2]=std::complex(0.00000000000000000000e+00,7.07106781186547794782e-01); m_cfacs[0][0][1][0][1][0]=std::complex(0.00000000000000000000e+00,-7.07106781186547683760e-01); m_cfacs[0][0][2][0][2][0]=std::complex(0.00000000000000000000e+00,-7.07106781186547794782e-01); m_cfacs[0][1][0][0][1][0]=std::complex(0.00000000000000000000e+00,7.07106781186547683760e-01); m_cfacs[0][1][0][1][0][0]=std::complex(0.00000000000000000000e+00,-7.07106781186547683760e-01); m_cfacs[0][1][0][1][1][1]=std::complex(0.00000000000000000000e+00,7.07106781186547683760e-01); m_cfacs[0][1][0][2][1][2]=std::complex(0.00000000000000000000e+00,7.07106781186547683760e-01); m_cfacs[0][1][1][1][1][0]=std::complex(0.00000000000000000000e+00,-7.07106781186547683760e-01); m_cfacs[0][1][2][1][2][0]=std::complex(0.00000000000000000000e+00,-7.07106781186547683760e-01); m_cfacs[0][2][0][0][2][0]=std::complex(0.00000000000000000000e+00,7.07106781186547905804e-01); m_cfacs[0][2][0][1][2][1]=std::complex(0.00000000000000000000e+00,7.07106781186547683760e-01); m_cfacs[0][2][0][2][0][0]=std::complex(0.00000000000000000000e+00,-7.07106781186547683760e-01); m_cfacs[0][2][0][2][2][2]=std::complex(0.00000000000000000000e+00,7.07106781186547905804e-01); m_cfacs[0][2][1][2][1][0]=std::complex(0.00000000000000000000e+00,-7.07106781186547683760e-01); m_cfacs[0][2][2][2][2][0]=std::complex(0.00000000000000000000e+00,-7.07106781186547905804e-01); m_cfacs[1][0][0][0][0][1]=std::complex(0.00000000000000000000e+00,-7.07106781186547683760e-01); m_cfacs[1][0][1][0][0][0]=std::complex(0.00000000000000000000e+00,7.07106781186547683760e-01); m_cfacs[1][0][1][0][1][1]=std::complex(0.00000000000000000000e+00,-7.07106781186547683760e-01); m_cfacs[1][0][1][1][0][1]=std::complex(0.00000000000000000000e+00,7.07106781186547683760e-01); m_cfacs[1][0][1][2][0][2]=std::complex(0.00000000000000000000e+00,7.07106781186547683760e-01); m_cfacs[1][0][2][0][2][1]=std::complex(0.00000000000000000000e+00,-7.07106781186547683760e-01); m_cfacs[1][1][0][1][0][1]=std::complex(0.00000000000000000000e+00,-7.07106781186547683760e-01); m_cfacs[1][1][1][0][1][0]=std::complex(0.00000000000000000000e+00,7.07106781186547683760e-01); m_cfacs[1][1][1][2][1][2]=std::complex(0.00000000000000000000e+00,7.07106781186547794782e-01); m_cfacs[1][1][2][1][2][1]=std::complex(0.00000000000000000000e+00,-7.07106781186547794782e-01); m_cfacs[1][2][0][2][0][1]=std::complex(0.00000000000000000000e+00,-7.07106781186547683760e-01); m_cfacs[1][2][1][0][2][0]=std::complex(0.00000000000000000000e+00,7.07106781186547683760e-01); m_cfacs[1][2][1][1][2][1]=std::complex(0.00000000000000000000e+00,7.07106781186547905804e-01); m_cfacs[1][2][1][2][1][1]=std::complex(0.00000000000000000000e+00,-7.07106781186547683760e-01); m_cfacs[1][2][1][2][2][2]=std::complex(0.00000000000000000000e+00,7.07106781186547905804e-01); m_cfacs[1][2][2][2][2][1]=std::complex(0.00000000000000000000e+00,-7.07106781186547905804e-01); m_cfacs[2][0][0][0][0][2]=std::complex(0.00000000000000000000e+00,-7.07106781186547905804e-01); m_cfacs[2][0][1][0][1][2]=std::complex(0.00000000000000000000e+00,-7.07106781186547683760e-01); m_cfacs[2][0][2][0][0][0]=std::complex(0.00000000000000000000e+00,7.07106781186547683760e-01); m_cfacs[2][0][2][0][2][2]=std::complex(0.00000000000000000000e+00,-7.07106781186547905804e-01); m_cfacs[2][0][2][1][0][1]=std::complex(0.00000000000000000000e+00,7.07106781186547683760e-01); m_cfacs[2][0][2][2][0][2]=std::complex(0.00000000000000000000e+00,7.07106781186547905804e-01); m_cfacs[2][1][0][1][0][2]=std::complex(0.00000000000000000000e+00,-7.07106781186547683760e-01); m_cfacs[2][1][1][1][1][2]=std::complex(0.00000000000000000000e+00,-7.07106781186547905804e-01); m_cfacs[2][1][2][0][1][0]=std::complex(0.00000000000000000000e+00,7.07106781186547683760e-01); m_cfacs[2][1][2][1][1][1]=std::complex(0.00000000000000000000e+00,7.07106781186547683760e-01); m_cfacs[2][1][2][1][2][2]=std::complex(0.00000000000000000000e+00,-7.07106781186547905804e-01); m_cfacs[2][1][2][2][1][2]=std::complex(0.00000000000000000000e+00,7.07106781186547905804e-01); m_cfacs[2][2][0][2][0][2]=std::complex(0.00000000000000000000e+00,-7.07106781186547905804e-01); m_cfacs[2][2][1][2][1][2]=std::complex(0.00000000000000000000e+00,-7.07106781186547905804e-01); m_cfacs[2][2][2][0][2][0]=std::complex(0.00000000000000000000e+00,7.07106781186547905804e-01); m_cfacs[2][2][2][1][2][1]=std::complex(0.00000000000000000000e+00,7.07106781186547905804e-01); } }; std::complex f_1_2_3_Calculator::m_cfacs[3][3][3][3][3][3] = {{{{{{ std::complex(0.0,0.0) }}}}}}; } using namespace METOOLS; using namespace ATOOLS; DECLARE_GETTER(f_1_2_3_Calculator,"f_1_2_3", Color_Calculator,Vertex_Key); Color_Calculator *ATOOLS::Getter :: operator()(const Vertex_Key &key) const { static int init(0); if (init==0) f_1_2_3_Calculator::init_cfacs(); init=1; return new f_1_2_3_Calculator(key); } void ATOOLS::Getter:: PrintInfo(std::ostream &str,const size_t width) const { str<<"f_1_2_3"; }