Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
gammaMatrix.h
Go to the documentation of this file.
1 
14 #ifndef GAMMAMATRIX_INCLUDED
15 #define GAMMAMATRIX_INCLUDED
16 
17 #include <valarray>
18 //#include <complex>
19 
20 #include "commonParameters.h"
21 
22 #include "bridge_complex.h"
23 //typedef std::complex<double> dcomplex;
24 //typedef std::complex<int> icomplex;
25 
27 
45 class GammaMatrix {
46  public:
47  static const std::string class_name;
48 
49  private:
50  int m_Nd;
51  std::valarray<int> m_gmindex; // b=m_gmindex[a] if \gamma_{ab} \not=0 (SA)
52  std::valarray<icomplex> m_gmval_i; // \gamma_{ab} in complex<int> (SA)
53  std::valarray<dcomplex> m_gmvalue; // \gamma_{ab} in complex<double> (SA)
54  std::valarray<int> m_gmindex_c; // =1(0) if m_gmval_i[a] is pure imaginary(real) (SA)
55  std::valarray<double> m_gmvalue_r;
56  std::valarray<double> m_gmvalue_i;
57 
58  protected:
60  public:
62  {
64  m_gmindex.resize(m_Nd);
65  m_gmval_i.resize(m_Nd);
66  m_gmvalue.resize(m_Nd);
67  m_gmindex_c.resize(m_Nd);
68  m_gmvalue_r.resize(m_Nd);
69  m_gmvalue_i.resize(m_Nd);
70  }
71 
72  void set(int row, int index, icomplex val_i);
73 
74  void set_values(int row);
75 
76  void print();
77 
79 
81 
82  GammaMatrix mult(int) const;
83 
84  int index(int row) const
85  {
86  return m_gmindex[row];
87  }
88 
89  dcomplex value(int row) const
90  {
91  return m_gmvalue[row];
92  }
93 
94  int index_c(int row) const
95  {
96  return m_gmindex_c[row];
97  }
98 
99  double value_r(int row) const
100  {
101  return m_gmvalue_r[row];
102  }
103 
104  double value_i(int row) const
105  {
106  return m_gmvalue_i[row];
107  }
108 };
109 #endif
void set_values(int row)
std::valarray< double > m_gmvalue_r
Definition: gammaMatrix.h:55
std::valarray< icomplex > m_gmval_i
Definition: gammaMatrix.h:52
static const std::string class_name
Definition: gammaMatrix.h:47
std::valarray< int > m_gmindex
Definition: gammaMatrix.h:51
void set(int row, int index, icomplex val_i)
Definition: gammaMatrix.cpp:26
Gamma Matrix class.
Definition: gammaMatrix.h:45
double value_r(int row) const
Definition: gammaMatrix.h:99
std::valarray< int > m_gmindex_c
Definition: gammaMatrix.h:54
GammaMatrix mult_i(GammaMatrix) const
Definition: gammaMatrix.cpp:59
Common parameter class: provides parameters as singleton.
GammaMatrix mult(GammaMatrix) const
Definition: gammaMatrix.cpp:39
int index_c(int row) const
Definition: gammaMatrix.h:94
VerboseLevel
Definition: bridgeIO.h:25
Bridge::VerboseLevel m_vl
Definition: gammaMatrix.h:59
double value_i(int row) const
Definition: gammaMatrix.h:104
dcomplex value(int row) const
Definition: gammaMatrix.h:89
std::valarray< dcomplex > m_gmvalue
Definition: gammaMatrix.h:53
int index(int row) const
Definition: gammaMatrix.h:84
void print()
Definition: gammaMatrix.cpp:77
std::valarray< double > m_gmvalue_i
Definition: gammaMatrix.h:56