CHROMA
baryon_spinmat_funcmap_w.cc
Go to the documentation of this file.
1 /*! \file
2  * \brief All baryon spin matrix contraction objects
3  */
4 
7 
8 namespace Chroma
9 {
10 
11  // Registration aggregator
12  namespace BaryonSpinMatrixEnv
13  {
14  /*!
15  * \ingroup hadron
16  *
17  * @{
18  */
19  namespace
20  {
21  //! Local registration flag
22  bool registered = false;
23 
24 
25  //! NR = (1/2)* ( 1 + g_4 )
26  SpinMatrix createNR(XMLReader& xml_in,
27  const std::string& path)
28  {
29  return BaryonSpinMats::NR();
30  }
31 
32  //! NRnegPar = (1/2)* ( 1 - g_4 )
33  SpinMatrix createNRnegPar(XMLReader& xml_in,
34  const std::string& path)
35  {
36  return BaryonSpinMats::NRnegPar();
37  }
38 
39  //! C = Gamma(10)
40  SpinMatrix createC(XMLReader& xml_in,
41  const std::string& path)
42  {
43  return BaryonSpinMats::C();
44  }
45 
46  //! C NR = (1/2)*C * ( 1 + g_4 )
47  SpinMatrix createCNR(XMLReader& xml_in,
48  const std::string& path)
49  {
50  return BaryonSpinMats::CNR();
51  }
52 
53  //! C gamma_5 gamma_4 = - Gamma(13)
54  SpinMatrix createCg5g4(XMLReader& xml_in,
55  const std::string& path)
56  {
57  return BaryonSpinMats::Cg5g4();
58  }
59 
60  //! C g_k = C gamma_k
61  SpinMatrix createCgk(XMLReader& xml_in,
62  const std::string& path)
63  {
64  XMLReader paramtop(xml_in, path);
65 
66  int k;
67  read(paramtop, "k", k);
68 
69  return BaryonSpinMats::Cgk(k);
70  }
71 
72  //! C g4 g_k = C gamma_4 gamma_k
73  SpinMatrix createCg4gk(XMLReader& xml_in,
74  const std::string& path)
75  {
76  XMLReader paramtop(xml_in, path);
77 
78  int k;
79  read(paramtop, "k", k);
80 
81  return BaryonSpinMats::Cg4gk(k);
82  }
83 
84  //! C g_k NR = C gamma_k (1/2)(1 + gamma_4)
85  SpinMatrix createCgkNR(XMLReader& xml_in,
86  const std::string& path)
87  {
88  XMLReader paramtop(xml_in, path);
89 
90  int k;
91  read(paramtop, "k", k);
92  return BaryonSpinMats::CgkNR(k);
93  }
94 
95  //! C g_5 = C gamma_5 = Gamma(5)
96  SpinMatrix createCg5(XMLReader& xml_in,
97  const std::string& path)
98  {
99  return BaryonSpinMats::Cg5();
100  }
101 
102  //! C g_5 NR = (1/2)*C gamma_5 * ( 1 + g_4 )
103  SpinMatrix createCg5NR(XMLReader& xml_in,
104  const std::string& path)
105  {
106  return BaryonSpinMats::Cg5NR();
107  }
108 
109  //! C g_5 NR = (1/2)*C gamma_5 * ( 1 - g_4 )
110  SpinMatrix createCg5NRnegPar(XMLReader& xml_in,
111  const std::string& path)
112  {
114  }
115 
116  //! C gamma_- = Cgm = (C gamma_-)^T
117  SpinMatrix createCgm(XMLReader& xml_in,
118  const std::string& path)
119  {
120  return BaryonSpinMats::Cgm();
121  }
122 
123  //! C gamma_4 gamma_- = Cg4m
124  SpinMatrix createCg4m(XMLReader& xml_in,
125  const std::string& path)
126  {
127  return BaryonSpinMats::Cg4m();
128  }
129 
130  //! C gamma_- NR = CgmNR = C gamma_- (1/2)(1 + gamma_4)
131  SpinMatrix createCgmNR(XMLReader& xml_in,
132  const std::string& path)
133  {
134  return BaryonSpinMats::CgmNR();
135  }
136 
137 
138 
139  //! T = (1 + gamma_4) / 2 = (1 + Gamma(8)) / 2
140  SpinMatrix createTunpol(XMLReader& xml_in,
141  const std::string& path)
142  {
143  return BaryonSpinMats::Tunpol();
144  }
145 
146  //! T = (1 + gamma_4) / 2 = (1 - Gamma(8)) / 2
147  SpinMatrix createTunpolNegPar(XMLReader& xml_in,
148  const std::string& path)
149  {
151  }
152 
153  //! T = \Sigma_3 (1 + gamma_4) / 2 = -i (Gamma(3) + Gamma(11)) / 2
154  SpinMatrix createTpol(XMLReader& xml_in,
155  const std::string& path)
156  {
157  return BaryonSpinMats::Tpol();
158  }
159 
160  //! T = \Sigma_3 (1 - gamma_4) / 2 = -i (-Gamma(3) + Gamma(11)) / 2
161  SpinMatrix createTpolNegPar(XMLReader& xml_in,
162  const std::string& path)
163  {
165  }
166 
167  //! T = (1 + \Sigma_3)*(1 + gamma_4) / 2 = (1 + Gamma(8) - i G(3) - i G(11)) / 2
168  SpinMatrix createTmixed(XMLReader& xml_in,
169  const std::string& path)
170  {
171  return BaryonSpinMats::Tmixed();
172  }
173 
174  //! T = (1 - \Sigma_3)*(1 - gamma_4) / 2 = (1 - Gamma(8) - i G(3) + i G(11)) / 2
175  // Need to flip the spin for time reversal
176  SpinMatrix createTmixedNegPar(XMLReader& xml_in,
177  const std::string& path)
178  {
180  }
181  }
182 
183  //! Register all the factories
184  bool registerAll()
185  {
186  bool success = true;
187  if (! registered)
188  {
189  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("NR"),
190  createNR);
191 
192  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("NRnegPar"),
193  createNRnegPar);
194 
195  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("C"),
196  createC);
197 
198  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("CNR"),
199  createCNR);
200 
201  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("Cg5g4"),
202  createCg5g4);
203 
204  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("Cgk"),
205  createCgk);
206 
207  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("Cg4gk"),
208  createCg4gk);
209 
210  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("CgkNR"),
211  createCgkNR);
212 
213  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("Cg5"),
214  createCg5);
215 
216  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("Cg5NR"),
217  createCg5NR);
218 
219  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("Cg5NRnegPar"),
220  createCg5NRnegPar);
221 
222  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("Cgm"),
223  createCgm);
224 
225  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("Cg4m"),
226  createCg4m);
227 
228  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("CgmNR"),
229  createCgmNR);
230 
231  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("Tunpol"),
232  createTunpol);
233 
234  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("TunpolNegPar"),
235  createTunpolNegPar);
236 
237  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("Tpol"),
238  createTpol);
239 
240  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("TpolNegPar"),
241  createTpolNegPar);
242 
243  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("Tmixed"),
244  createTmixed);
245 
246  success &= TheBarSpinMatFuncMap::Instance().registerFunction(std::string("TmixedNegPar"),
247  createTmixedNegPar);
248 
249  registered = true;
250  }
251  return success;
252  }
253 
254  /*! @} */ // end of group qprop
255  }
256 
257 }
Baryon spin and projector matrices.
Factory for producing baryon spin matrix contraction objects.
static T & Instance()
Definition: singleton.h:432
void read(XMLReader &xml, const std::string &path, AsqtadFermActParams &param)
Read parameters.
static bool registered
Local registration flag.
bool registerAll()
Register all the factories.
SpinMatrix Cg4m()
C gamma_4 gamma_- = Cg4m.
SpinMatrix Tmixed()
T = (1 + \Sigma_3)*(1 + gamma_4) / 2 = (1 + Gamma(8) - i G(3) - i G(11)) / 2.
SpinMatrix Tunpol()
T = (1 + gamma_4) / 2 = (1 + Gamma(8)) / 2.
SpinMatrix NRnegPar()
NRnegPar = (1/2)* ( 1 - g_4 )
Definition: barspinmat_w.cc:22
SpinMatrix Cg5NRnegPar()
C g_5 NR = (1/2)*C gamma_5 * ( 1 - g_4 )
SpinMatrix CgkNR(int k)
C g_k NR = C gamma_k (1/2)(1 + gamma_4)
SpinMatrix TunpolNegPar()
T = (1 + gamma_4) / 2 = (1 - Gamma(8)) / 2.
SpinMatrix TpolNegPar()
T = \Sigma_3 (1 - gamma_4) / 2 = -i (-Gamma(3) + Gamma(11)) / 2.
SpinMatrix NR()
NR = (1/2)* ( 1 + g_4 )
Definition: barspinmat_w.cc:15
SpinMatrix Cgm()
C gamma_- = Cgm = (C gamma_-)^T.
SpinMatrix TmixedNegPar()
T = (1 - \Sigma_3)*(1 - gamma_4) / 2 = (1 - Gamma(8) + i G(3) - i G(11)) / 2.
SpinMatrix CgmNR()
C gamma_- NR = CgmNR = C gamma_- (1/2)(1 + gamma_4)
SpinMatrix Cg5()
C g_5 = C gamma_5 = Gamma(5)
SpinMatrix C()
C = Gamma(10)
Definition: barspinmat_w.cc:29
SpinMatrix Cgk(int k)
C g_k = C gamma_k.
Definition: barspinmat_w.cc:49
SpinMatrix Cg4gk(int k)
C g4 g_k = C gamma_4 gamma_k.
SpinMatrix CNR()
C NR = (1/2)*C * ( 1 + g_4 )
Definition: barspinmat_w.cc:35
SpinMatrix Cg5NR()
C g_5 NR = (1/2)*C gamma_5 * ( 1 + g_4 )
SpinMatrix Cg5g4()
C gamma_5 gamma_4 = - Gamma(13)
Definition: barspinmat_w.cc:42
SpinMatrix Tpol()
T = \Sigma_3 (1 + gamma_4) / 2 = -i (Gamma(3) + Gamma(11)) / 2.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
int k
Definition: invbicg.cc:119
::std::string string
Definition: gtest.h:1979