//Class describing SU(2) matrices //Turns in 3d space described bu SU(2) #ifndef TSU2MATRIX_HEAD #define TSU2MATRIX_HEAD #include #include #include #include #include "TObject.h" typedef std::complex std_complex; class TSU2Matrix : public TObject { private: std_complex T[4]; //array to store matrix elements public: TSU2Matrix(); //creates zero matrix TSU2Matrix(const TSU2Matrix&); ~TSU2Matrix(){;} std_complex& operator()(size_t r, size_t c); std_complex operator()(size_t r, size_t c) const; TSU2Matrix& operator*=(long double); TSU2Matrix& operator*=(std_complex); TSU2Matrix& operator+=(long double); TSU2Matrix& operator+=(std_complex); TSU2Matrix& operator-=(long double); TSU2Matrix& operator-=(std_complex); TSU2Matrix& operator=(const TSU2Matrix&); std_complex Trase(); //returns trase of the matrix TSU2Matrix H(); //returns hermit conjugated matrix void Print()const; ClassDef(TSU2Matrix,1) //SU2 matrix }; TSU2Matrix operator*(const TSU2Matrix& m1, const TSU2Matrix& m2 ); TSU2Matrix operator+(const TSU2Matrix& m1, const TSU2Matrix& m2 ); #endif