Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
gammaMatrixSet_Dirac.cpp
Go to the documentation of this file.
1 
14 #include "gammaMatrixSet_Dirac.h"
15 
16 #include <cassert>
17 
20 
21 #include "IO/bridgeIO.h"
22 using Bridge::vout;
23 
24 #ifdef USE_FACTORY_AUTOREGISTER
25 namespace {
26  bool init = GammaMatrixSet_Dirac::register_factory();
27 }
28 #endif
29 
30 const std::string GammaMatrixSet_Dirac::class_name = "GammaMatrixSet_Dirac";
31 
32 //====================================================================
34 {
35  vout.general(m_vl, "Gamma matrix: dirac representation.\n");
36 
37  m_gm[UNITY].set(0, 0, icomplex(1, 0));
38  m_gm[UNITY].set(1, 1, icomplex(1, 0));
39  m_gm[UNITY].set(2, 2, icomplex(1, 0));
40  m_gm[UNITY].set(3, 3, icomplex(1, 0));
41 
42  m_gm[GAMMA1].set(0, 3, icomplex(0, -1));
43  m_gm[GAMMA1].set(1, 2, icomplex(0, -1));
44  m_gm[GAMMA1].set(2, 1, icomplex(0, 1));
45  m_gm[GAMMA1].set(3, 0, icomplex(0, 1));
46 
47  m_gm[GAMMA2].set(0, 3, icomplex(-1, 0));
48  m_gm[GAMMA2].set(1, 2, icomplex(1, 0));
49  m_gm[GAMMA2].set(2, 1, icomplex(1, 0));
50  m_gm[GAMMA2].set(3, 0, icomplex(-1, 0));
51 
52  m_gm[GAMMA3].set(0, 2, icomplex(0, -1));
53  m_gm[GAMMA3].set(1, 3, icomplex(0, 1));
54  m_gm[GAMMA3].set(2, 0, icomplex(0, 1));
55  m_gm[GAMMA3].set(3, 1, icomplex(0, -1));
56 
57  m_gm[GAMMA4].set(0, 0, icomplex(1, 0));
58  m_gm[GAMMA4].set(1, 1, icomplex(1, 0));
59  m_gm[GAMMA4].set(2, 2, icomplex(-1, 0));
60  m_gm[GAMMA4].set(3, 3, icomplex(-1, 0));
61 
62  m_gm[GAMMA5].set(0, 2, icomplex(1, 0));
63  m_gm[GAMMA5].set(1, 3, icomplex(1, 0));
64  m_gm[GAMMA5].set(2, 0, icomplex(1, 0));
65  m_gm[GAMMA5].set(3, 1, icomplex(1, 0));
66 
67  m_gm[GAMMA51] = m_gm[GAMMA5].mult(m_gm[GAMMA1]);
68  m_gm[GAMMA52] = m_gm[GAMMA5].mult(m_gm[GAMMA2]);
69  m_gm[GAMMA53] = m_gm[GAMMA5].mult(m_gm[GAMMA3]);
70  m_gm[GAMMA54] = m_gm[GAMMA5].mult(m_gm[GAMMA4]);
71 
72  m_gm[GAMMA15] = m_gm[GAMMA1].mult(m_gm[GAMMA5]);
73  m_gm[GAMMA25] = m_gm[GAMMA2].mult(m_gm[GAMMA5]);
74  m_gm[GAMMA35] = m_gm[GAMMA3].mult(m_gm[GAMMA5]);
75  m_gm[GAMMA45] = m_gm[GAMMA4].mult(m_gm[GAMMA5]);
76 
77  m_gm[SIGMA12] = m_gm[GAMMA2].mult_i(m_gm[GAMMA1]);
78  m_gm[SIGMA23] = m_gm[GAMMA3].mult_i(m_gm[GAMMA2]);
79  m_gm[SIGMA31] = m_gm[GAMMA1].mult_i(m_gm[GAMMA3]);
80 
81  m_gm[SIGMA41] = m_gm[GAMMA1].mult_i(m_gm[GAMMA4]);
82  m_gm[SIGMA42] = m_gm[GAMMA2].mult_i(m_gm[GAMMA4]);
83  m_gm[SIGMA43] = m_gm[GAMMA3].mult_i(m_gm[GAMMA4]);
84 
85  m_gm[CHARGECONJG] = m_gm[GAMMA4].mult(m_gm[GAMMA2]);
86 
87  //print();
88 }
89 
90 
91 //====================================================================
93 {
94  vout.general(m_vl, "\n unity =\n");
95  m_gm[UNITY].print();
96 
97  vout.general(m_vl, "\n gamma1 =\n");
98  m_gm[GAMMA1].print();
99 
100  vout.general(m_vl, "\n gamma2 =\n");
101  m_gm[GAMMA2].print();
102 
103  vout.general(m_vl, "\n gamma3 =\n");
104  m_gm[GAMMA3].print();
105 
106  vout.general(m_vl, "\n gamma4 =\n");
107  m_gm[GAMMA4].print();
108 
109  vout.general(m_vl, "\n gamma5 =\n");
110  m_gm[GAMMA5].print();
111 
112  vout.general(m_vl, "\n gamma5 * gamma1 =\n");
113  m_gm[GAMMA51].print();
114 
115  vout.general(m_vl, "\n gamma5 * gamma2 =\n");
116  m_gm[GAMMA52].print();
117 
118  vout.general(m_vl, "\n gamma5 * gamma3 =\n");
119  m_gm[GAMMA53].print();
120 
121  vout.general(m_vl, "\n gamma5 * gamma4 =\n");
122  m_gm[GAMMA54].print();
123 
124  vout.general(m_vl, "\n sigma12 = -(i/2) [gamma1, gamma2] =\n");
125  m_gm[SIGMA12].print();
126 
127  vout.general(m_vl, "\n sigma23 = -(i/2) [gamma2, gamma3] =\n");
128  m_gm[SIGMA23].print();
129 
130  vout.general(m_vl, "\n sigma31 = -(i/2) [gamma3, gamma1] =\n");
131  m_gm[SIGMA31].print();
132 
133  vout.general(m_vl, "\n sigma41 = -(i/2) [gamma4, gamma1] =\n");
134  m_gm[SIGMA41].print();
135 
136  vout.general(m_vl, "\n sigma42 = -(i/2) [gamma4, gamma2] =\n");
137  m_gm[SIGMA42].print();
138 
139  vout.general(m_vl, "\n sigma43 = -(i/2) [gamma4, gamma3] =\n");
140  m_gm[SIGMA43].print();
141 
142  vout.general(m_vl, "\n charge_conjg = gamma4 * gamma2 =\n");
143  m_gm[CHARGECONJG].print();
144 }
145 
146 
147 //====================================================================
148 //============================================================END=====
BridgeIO vout
Definition: bridgeIO.cpp:503
std::vector< GammaMatrix > m_gm
void general(const char *format,...)
Definition: bridgeIO.cpp:197
static const std::string class_name
Bridge::VerboseLevel m_vl