a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
unitarity_GTHDM Class Reference

#include <GeneralTHDMunitarity.h>

Detailed Description

Definition at line 20 of file GeneralTHDMunitarity.h.

Public Member Functions

bool CalcSeigen00 (gslpp::matrix< gslpp::complex > &Seigvec_i, gslpp::vector< double > &Seigval_i)
 Computes the eigenvalues of the S matrix with \(Y=0,\sigma=0\). More...
 
bool CalcSeigen01 (gslpp::matrix< gslpp::complex > &Seigvec_i, gslpp::vector< double > &Seigval_i)
 Computes the eigenvalues of the S matrix with \(Y=0,\sigma=1\). More...
 
bool CalcSeigen21 (gslpp::matrix< gslpp::complex > &Seigvec_i, gslpp::vector< double > &Seigval_i)
 Computes the eigenvalues of the S matrix with \(Y=2,\sigma=1\). More...
 
gslpp::vector< double > getSeigen00 ()
 Assigns to a vector the eigenvalues of the S matrix with \(Y=0,\sigma=0\). More...
 
gslpp::vector< double > getSeigen01 ()
 Assigns to a vector the eigenvalues of the S matrix with \(Y=0,\sigma=1\). More...
 
gslpp::vector< double > getSeigen21 ()
 Assigns to a vector the eigenvalues of the S matrix with \(Y=2,\sigma=1\). More...
 
 unitarity_GTHDM (const StandardModel &SM_i)
 Constructor. More...
 
virtual ~unitarity_GTHDM ()
 Destructor. More...
 

Private Attributes

const GeneralTHDMmyGTHDM
 
gslpp::vector< double > Seigval00
 
gslpp::vector< double > Seigval01
 
gslpp::vector< double > Seigval21
 
gslpp::matrix< gslpp::complexSeigvec00
 
gslpp::matrix< gslpp::complexSeigvec01
 
gslpp::matrix< gslpp::complexSeigvec21
 
gslpp::matrix< gslpp::complexSmat00
 
gslpp::matrix< gslpp::complexSmat01
 
gslpp::matrix< gslpp::complexSmat21
 

Constructor & Destructor Documentation

◆ unitarity_GTHDM()

unitarity_GTHDM::unitarity_GTHDM ( const StandardModel SM_i)

Constructor.

Definition at line 12 of file GeneralTHDMunitarity.cpp.

13 : myGTHDM(static_cast<const GeneralTHDM&> (SM_i)), Smat21(3,3,0.), Smat01(4,4,0.), Smat00(4,4,0.),
14  Seigvec21(3,3,0.), Seigvec01(4,4,0.), Seigvec00(4,4,0.), Seigval21(3,0.), Seigval01(4,0.), Seigval00(4,0.)
15 {}

◆ ~unitarity_GTHDM()

unitarity_GTHDM::~unitarity_GTHDM ( )
virtual

Destructor.

Definition at line 17 of file GeneralTHDMunitarity.cpp.

18 {}

Member Function Documentation

◆ CalcSeigen00()

bool unitarity_GTHDM::CalcSeigen00 ( gslpp::matrix< gslpp::complex > &  Seigvec_i,
gslpp::vector< double > &  Seigval_i 
)

Computes the eigenvalues of the S matrix with \(Y=0,\sigma=0\).

Definition at line 87 of file GeneralTHDMunitarity.cpp.

88 {
89  double lambda1 = myGTHDM.getMyGTHDMCache()->lambda1;
90  double lambda2 = myGTHDM.getMyGTHDMCache()->lambda2;
91  double lambda3 = myGTHDM.getMyGTHDMCache()->lambda3;
92  double lambda4 = myGTHDM.getMyGTHDMCache()->lambda4;
93  double Relambda5 = myGTHDM.getRelambda5();
94  double Imlambda5 = myGTHDM.getImlambda5();
95  double Relambda6 = myGTHDM.getRelambda6();
96  double Relambda7 = myGTHDM.getRelambda7();
97  double Imlambda6 = myGTHDM.getMyGTHDMCache()->Imlambda6;
98  double Imlambda7 = myGTHDM.getMyGTHDMCache()->Imlambda7;
99 
101 
102  Smat00.assign(0,0, 3.*lambda1);
103  Smat00.assign(0,1, 2.*lambda3 + lambda4);
104  Smat00.assign(0,2, 3.*(Relambda6 + i*Imlambda6));
105  Smat00.assign(0,3, 3.*(Relambda6 - i*Imlambda6));
106  Smat00.assign(1,0, 2.*lambda3 + lambda4);
107  Smat00.assign(1,1, 3.*lambda2);
108  Smat00.assign(1,2, 3.*(Relambda7 + i*Imlambda7));
109  Smat00.assign(1,3, 3.*(Relambda7 - i*Imlambda7));
110  Smat00.assign(2,0, 3.*(Relambda6 - i*Imlambda6));
111  Smat00.assign(2,1, 3.*(Relambda7 - i*Imlambda7));
112  Smat00.assign(2,2, lambda3 + 2.*lambda4);
113  Smat00.assign(2,3, 3.*(Relambda5 - i*Imlambda5));
114  Smat00.assign(3,0, 3.*(Relambda6 + i*Imlambda6));
115  Smat00.assign(3,1, 3.*(Relambda7 + i*Imlambda7));
116  Smat00.assign(3,2, 3.*(Relambda5 + i*Imlambda5));
117  Smat00.assign(3,3, lambda3 + 2.*lambda4);
118 
119  Smat00.eigensystem(Seigvec_i, Seigval_i);
120 
121  return true;
122 }

◆ CalcSeigen01()

bool unitarity_GTHDM::CalcSeigen01 ( gslpp::matrix< gslpp::complex > &  Seigvec_i,
gslpp::vector< double > &  Seigval_i 
)

Computes the eigenvalues of the S matrix with \(Y=0,\sigma=1\).

Definition at line 50 of file GeneralTHDMunitarity.cpp.

51 {
52  double lambda1 = myGTHDM.getMyGTHDMCache()->lambda1;
53  double lambda2 = myGTHDM.getMyGTHDMCache()->lambda2;
54  double lambda3 = myGTHDM.getMyGTHDMCache()->lambda3;
55  double lambda4 = myGTHDM.getMyGTHDMCache()->lambda4;
56  double Relambda5 = myGTHDM.getRelambda5();
57  double Imlambda5 = myGTHDM.getImlambda5();
58  double Relambda6 = myGTHDM.getRelambda6();
59  double Relambda7 = myGTHDM.getRelambda7();
60  double Imlambda6 = myGTHDM.getMyGTHDMCache()->Imlambda6;
61  double Imlambda7 = myGTHDM.getMyGTHDMCache()->Imlambda7;
62 
64 
65  Smat01.assign(0,0, lambda1);
66  Smat01.assign(0,1, lambda4);
67  Smat01.assign(0,2, Relambda6 + i*Imlambda6);
68  Smat01.assign(0,3, Relambda6 - i*Imlambda6);
69  Smat01.assign(1,0, lambda4);
70  Smat01.assign(1,1, lambda2);
71  Smat01.assign(1,2, Relambda7 + i*Imlambda7);
72  Smat01.assign(1,3, Relambda7 - i*Imlambda7);
73  Smat01.assign(2,0, Relambda6 - i*Imlambda6);
74  Smat01.assign(2,1, Relambda7 - i*Imlambda7);
75  Smat01.assign(2,2, lambda3);
76  Smat01.assign(2,3, Relambda5 - i*Imlambda5);
77  Smat01.assign(3,0, Relambda6 + i*Imlambda6);
78  Smat01.assign(3,1, Relambda7 + i*Imlambda7);
79  Smat01.assign(3,2, Relambda5 + i*Imlambda5);
80  Smat01.assign(3,3, lambda3);
81 
82  Smat01.eigensystem(Seigvec_i, Seigval_i);
83 
84  return true;
85 }

◆ CalcSeigen21()

bool unitarity_GTHDM::CalcSeigen21 ( gslpp::matrix< gslpp::complex > &  Seigvec_i,
gslpp::vector< double > &  Seigval_i 
)

Computes the eigenvalues of the S matrix with \(Y=2,\sigma=1\).

Definition at line 20 of file GeneralTHDMunitarity.cpp.

21 {
22  double lambda1 = myGTHDM.getMyGTHDMCache()->lambda1;
23  double lambda2 = myGTHDM.getMyGTHDMCache()->lambda2;
24  double lambda3 = myGTHDM.getMyGTHDMCache()->lambda3;
25  double lambda4 = myGTHDM.getMyGTHDMCache()->lambda4;
26  double Relambda5 = myGTHDM.getRelambda5();
27  double Imlambda5 = myGTHDM.getImlambda5();
28  double Relambda6 = myGTHDM.getRelambda6();
29  double Relambda7 = myGTHDM.getRelambda7();
30  double Imlambda6 = myGTHDM.getMyGTHDMCache()->Imlambda6;
31  double Imlambda7 = myGTHDM.getMyGTHDMCache()->Imlambda7;
32 
34 
35  Smat21.assign(0,0, lambda1);
36  Smat21.assign(0,1, Relambda5 + i*Imlambda5);
37  Smat21.assign(0,2, sqrt(2)*(Relambda6 + i*Imlambda6));
38  Smat21.assign(1,0, Relambda5 - i*Imlambda5);
39  Smat21.assign(1,1, lambda2);
40  Smat21.assign(1,2, sqrt(2)*(Relambda7 - i*Imlambda7));
41  Smat21.assign(2,0, sqrt(2)*(Relambda6 - i*Imlambda6));
42  Smat21.assign(2,1, sqrt(2)*(Relambda7 + i*Imlambda7));
43  Smat21.assign(2,2, lambda3 + lambda4);
44 
45  Smat21.eigensystem(Seigvec_i, Seigval_i);
46 
47  return true;
48 }

◆ getSeigen00()

gslpp::vector< double > unitarity_GTHDM::getSeigen00 ( )

Assigns to a vector the eigenvalues of the S matrix with \(Y=0,\sigma=0\).

Definition at line 138 of file GeneralTHDMunitarity.cpp.

139 {
141 
142  return Seigval00;
143 }

◆ getSeigen01()

gslpp::vector< double > unitarity_GTHDM::getSeigen01 ( )

Assigns to a vector the eigenvalues of the S matrix with \(Y=0,\sigma=1\).

Definition at line 131 of file GeneralTHDMunitarity.cpp.

132 {
134 
135  return Seigval01;
136 }

◆ getSeigen21()

gslpp::vector< double > unitarity_GTHDM::getSeigen21 ( )

Assigns to a vector the eigenvalues of the S matrix with \(Y=2,\sigma=1\).

Definition at line 124 of file GeneralTHDMunitarity.cpp.

125 {
127 
128  return Seigval21;
129 }

Member Data Documentation

◆ myGTHDM

const GeneralTHDM& unitarity_GTHDM::myGTHDM
private

Definition at line 65 of file GeneralTHDMunitarity.h.

◆ Seigval00

gslpp::vector<double> unitarity_GTHDM::Seigval00
private

Definition at line 69 of file GeneralTHDMunitarity.h.

◆ Seigval01

gslpp::vector<double> unitarity_GTHDM::Seigval01
private

Definition at line 69 of file GeneralTHDMunitarity.h.

◆ Seigval21

gslpp::vector<double> unitarity_GTHDM::Seigval21
private

Definition at line 69 of file GeneralTHDMunitarity.h.

◆ Seigvec00

gslpp::matrix<gslpp::complex> unitarity_GTHDM::Seigvec00
private

Definition at line 68 of file GeneralTHDMunitarity.h.

◆ Seigvec01

gslpp::matrix<gslpp::complex> unitarity_GTHDM::Seigvec01
private

Definition at line 68 of file GeneralTHDMunitarity.h.

◆ Seigvec21

gslpp::matrix<gslpp::complex> unitarity_GTHDM::Seigvec21
private

Definition at line 68 of file GeneralTHDMunitarity.h.

◆ Smat00

gslpp::matrix<gslpp::complex> unitarity_GTHDM::Smat00
private

Definition at line 67 of file GeneralTHDMunitarity.h.

◆ Smat01

gslpp::matrix<gslpp::complex> unitarity_GTHDM::Smat01
private

Definition at line 67 of file GeneralTHDMunitarity.h.

◆ Smat21

gslpp::matrix<gslpp::complex> unitarity_GTHDM::Smat21
private

Definition at line 67 of file GeneralTHDMunitarity.h.


The documentation for this class was generated from the following files:
unitarity_GTHDM::Smat21
gslpp::matrix< gslpp::complex > Smat21
Definition: GeneralTHDMunitarity.h:67
unitarity_GTHDM::CalcSeigen01
bool CalcSeigen01(gslpp::matrix< gslpp::complex > &Seigvec_i, gslpp::vector< double > &Seigval_i)
Computes the eigenvalues of the S matrix with .
Definition: GeneralTHDMunitarity.cpp:50
unitarity_GTHDM::Seigvec00
gslpp::matrix< gslpp::complex > Seigvec00
Definition: GeneralTHDMunitarity.h:68
GeneralTHDM::getMyGTHDMCache
GeneralTHDMcache * getMyGTHDMCache() const
Definition: GeneralTHDM.h:564
unitarity_GTHDM::Seigvec01
gslpp::matrix< gslpp::complex > Seigvec01
Definition: GeneralTHDMunitarity.h:68
lambda3
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:428
unitarity_GTHDM::Smat00
gslpp::matrix< gslpp::complex > Smat00
Definition: GeneralTHDMunitarity.h:67
gslpp::complex
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
GeneralTHDM::getRelambda7
double getRelambda7() const
A getter for the Real part of the Higgs potential parameter .
Definition: GeneralTHDM.h:809
unitarity_GTHDM::Seigval21
gslpp::vector< double > Seigval21
Definition: GeneralTHDMunitarity.h:69
lambda1
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:382
lambda4
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:451
unitarity_GTHDM::Seigval01
gslpp::vector< double > Seigval01
Definition: GeneralTHDMunitarity.h:69
GeneralTHDM::getImlambda5
double getImlambda5() const
A getter for the Imaginary part of the Higgs potential parameter .
Definition: GeneralTHDM.h:788
gslpp::sqrt
complex sqrt(const complex &z)
Definition: gslpp_complex.cpp:385
gslpp::complex::i
static const complex & i()
Definition: gslpp_complex.cpp:154
lambda2
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:405
GeneralTHDM::getRelambda5
double getRelambda5() const
A getter for the Real part of the Higgs potential parameter .
Definition: GeneralTHDM.h:780
unitarity_GTHDM::CalcSeigen00
bool CalcSeigen00(gslpp::matrix< gslpp::complex > &Seigvec_i, gslpp::vector< double > &Seigval_i)
Computes the eigenvalues of the S matrix with .
Definition: GeneralTHDMunitarity.cpp:87
unitarity_GTHDM::Seigvec21
gslpp::matrix< gslpp::complex > Seigvec21
Definition: GeneralTHDMunitarity.h:68
unitarity_GTHDM::CalcSeigen21
bool CalcSeigen21(gslpp::matrix< gslpp::complex > &Seigvec_i, gslpp::vector< double > &Seigval_i)
Computes the eigenvalues of the S matrix with .
Definition: GeneralTHDMunitarity.cpp:20
GeneralTHDM::getRelambda6
double getRelambda6() const
A getter for the Real part of the Higgs potential parameter .
Definition: GeneralTHDM.h:801
unitarity_GTHDM::myGTHDM
const GeneralTHDM & myGTHDM
Definition: GeneralTHDMunitarity.h:65
unitarity_GTHDM::Smat01
gslpp::matrix< gslpp::complex > Smat01
Definition: GeneralTHDMunitarity.h:67
unitarity_GTHDM::Seigval00
gslpp::vector< double > Seigval00
Definition: GeneralTHDMunitarity.h:69