EvtGen
2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Toggle main menu visibility
Loading...
Searching...
No Matches
EvtGenBase
EvtRaritaSchwinger.hh
Go to the documentation of this file.
1
2
/***********************************************************************
3
* Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4
* *
5
* This file is part of EvtGen. *
6
* *
7
* EvtGen is free software: you can redistribute it and/or modify *
8
* it under the terms of the GNU General Public License as published by *
9
* the Free Software Foundation, either version 3 of the License, or *
10
* (at your option) any later version. *
11
* *
12
* EvtGen is distributed in the hope that it will be useful, *
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15
* GNU General Public License for more details. *
16
* *
17
* You should have received a copy of the GNU General Public License *
18
* along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19
***********************************************************************/
20
21
#ifndef EVTRARITASCHWINGER_HH
22
#define EVTRARITASCHWINGER_HH
23
24
#include "
EvtGenBase/EvtComplex.hh
"
25
#include "
EvtGenBase/EvtDiracSpinor.hh
"
26
#include "
EvtGenBase/EvtVector4C.hh
"
27
#include "
EvtGenBase/EvtVector4R.hh
"
28
29
class
EvtRaritaSchwinger
;
30
EvtRaritaSchwinger
rotateEuler
(
const
EvtRaritaSchwinger
& rs,
double
alpha,
31
double
beta,
double
gamma );
32
EvtRaritaSchwinger
boostTo
(
const
EvtRaritaSchwinger
& rs,
const
EvtVector4R
p4 );
33
EvtRaritaSchwinger
boostTo
(
const
EvtRaritaSchwinger
& rs,
34
const
EvtVector3R
boost );
35
EvtRaritaSchwinger
dirProd
(
EvtVector4R
v,
EvtDiracSpinor
u );
36
EvtRaritaSchwinger
dirProd
(
EvtVector4C
v,
EvtDiracSpinor
u );
37
EvtRaritaSchwinger
operator+
(
const
EvtRaritaSchwinger
& u1,
38
const
EvtRaritaSchwinger
& u2 );
39
EvtRaritaSchwinger
operator-
(
const
EvtRaritaSchwinger
& u1,
40
const
EvtRaritaSchwinger
& u2 );
41
EvtComplex
operator*
(
const
EvtRaritaSchwinger
& u1,
const
EvtRaritaSchwinger
& u2 );
42
43
class
EvtRaritaSchwinger
final {
44
friend
EvtRaritaSchwinger
rotateEuler
(
const
EvtRaritaSchwinger
& rs,
45
double
alpha,
double
beta,
46
double
gamma );
47
friend
EvtRaritaSchwinger
boostTo
(
const
EvtRaritaSchwinger
& rs,
48
const
EvtVector4R
p4 );
49
friend
EvtRaritaSchwinger
boostTo
(
const
EvtRaritaSchwinger
& rs,
50
const
EvtVector3R
boost );
51
52
friend
EvtRaritaSchwinger
dirProd
(
EvtVector4R
v,
EvtDiracSpinor
u );
53
friend
EvtRaritaSchwinger
dirProd
(
EvtVector4C
v,
EvtDiracSpinor
u );
54
55
friend
EvtRaritaSchwinger
operator+
(
const
EvtRaritaSchwinger
& u1,
56
const
EvtRaritaSchwinger
& u2 );
57
friend
EvtRaritaSchwinger
operator-
(
const
EvtRaritaSchwinger
& u1,
58
const
EvtRaritaSchwinger
& u2 );
59
60
friend
EvtComplex
operator*
(
const
EvtRaritaSchwinger
& u1,
61
const
EvtRaritaSchwinger
& u2 );
62
63
public
:
64
inline
EvtRaritaSchwinger
();
65
inline
EvtRaritaSchwinger
(
const
EvtRaritaSchwinger
& rs );
66
inline
EvtRaritaSchwinger
&
operator=
(
const
EvtRaritaSchwinger
& rs );
67
68
void
set
(
int
i,
int
j,
const
EvtComplex
& sp );
69
70
void
applyRotateEuler
(
double
alpha,
double
beta,
double
gamma );
71
void
applyBoostTo
(
const
EvtVector4R
p4 );
72
void
applyBoostTo
(
const
EvtVector3R
boost );
73
74
EvtRaritaSchwinger
&
operator+=
(
const
EvtRaritaSchwinger
& u2 );
75
EvtRaritaSchwinger
&
operator-=
(
const
EvtRaritaSchwinger
& u2 );
76
77
EvtComplex
get
(
int
i,
int
j )
const
;
78
friend
std::ostream&
operator<<
( std::ostream& s,
79
const
EvtRaritaSchwinger
& rs );
80
81
EvtVector4C
getVector
(
int
i )
const
;
82
EvtDiracSpinor
getSpinor
(
int
i )
const
;
83
84
void
setVector
(
int
i,
const
EvtVector4C
& v );
85
void
setSpinor
(
int
i,
const
EvtDiracSpinor
& sp );
86
87
private
:
88
//First index in spinor index, second is Lorentz index.
89
EvtComplex
m_rs
[4][4];
90
};
91
92
EvtRaritaSchwinger::EvtRaritaSchwinger
()
93
{
94
int
i, j;
95
for
( i = 0; i < 4; i++ ) {
96
for
( j = 0; j < 4; j++ ) {
97
m_rs
[i][j] = 0.0;
98
}
99
}
100
}
101
102
EvtRaritaSchwinger::EvtRaritaSchwinger
(
const
EvtRaritaSchwinger
& rs )
103
{
104
int
i, j;
105
for
( i = 0; i < 4; i++ ) {
106
for
( j = 0; j < 4; j++ ) {
107
m_rs
[i][j] = rs.
m_rs
[i][j];
108
}
109
}
110
}
111
112
EvtRaritaSchwinger
&
EvtRaritaSchwinger::operator=
(
const
EvtRaritaSchwinger
& rs )
113
{
114
int
i, j;
115
for
( i = 0; i < 4; i++ ) {
116
for
( j = 0; j < 4; j++ ) {
117
m_rs
[i][j] = rs.
m_rs
[i][j];
118
}
119
}
120
121
return
*
this
;
122
}
123
124
#endif
EvtComplex.hh
EvtDiracSpinor.hh
operator+
EvtRaritaSchwinger operator+(const EvtRaritaSchwinger &u1, const EvtRaritaSchwinger &u2)
Definition
EvtRaritaSchwinger.cpp:227
boostTo
EvtRaritaSchwinger boostTo(const EvtRaritaSchwinger &rs, const EvtVector4R p4)
Definition
EvtRaritaSchwinger.cpp:34
rotateEuler
EvtRaritaSchwinger rotateEuler(const EvtRaritaSchwinger &rs, double alpha, double beta, double gamma)
Definition
EvtRaritaSchwinger.cpp:26
operator-
EvtRaritaSchwinger operator-(const EvtRaritaSchwinger &u1, const EvtRaritaSchwinger &u2)
Definition
EvtRaritaSchwinger.cpp:246
operator*
EvtComplex operator*(const EvtRaritaSchwinger &u1, const EvtRaritaSchwinger &u2)
Definition
EvtRaritaSchwinger.cpp:200
dirProd
EvtRaritaSchwinger dirProd(EvtVector4R v, EvtDiracSpinor u)
Definition
EvtRaritaSchwinger.cpp:170
EvtVector4C.hh
EvtVector4R.hh
EvtComplex
Definition
EvtComplex.hh:29
EvtDiracSpinor
Definition
EvtDiracSpinor.hh:32
EvtRaritaSchwinger
Definition
EvtRaritaSchwinger.hh:43
EvtRaritaSchwinger::getSpinor
EvtDiracSpinor getSpinor(int i) const
Definition
EvtRaritaSchwinger.cpp:147
EvtRaritaSchwinger::operator+
friend EvtRaritaSchwinger operator+(const EvtRaritaSchwinger &u1, const EvtRaritaSchwinger &u2)
Definition
EvtRaritaSchwinger.cpp:227
EvtRaritaSchwinger::applyRotateEuler
void applyRotateEuler(double alpha, double beta, double gamma)
Definition
EvtRaritaSchwinger.cpp:58
EvtRaritaSchwinger::setSpinor
void setSpinor(int i, const EvtDiracSpinor &sp)
Definition
EvtRaritaSchwinger.cpp:162
EvtRaritaSchwinger::boostTo
friend EvtRaritaSchwinger boostTo(const EvtRaritaSchwinger &rs, const EvtVector4R p4)
Definition
EvtRaritaSchwinger.cpp:34
EvtRaritaSchwinger::set
void set(int i, int j, const EvtComplex &sp)
Definition
EvtRaritaSchwinger.cpp:48
EvtRaritaSchwinger::operator=
EvtRaritaSchwinger & operator=(const EvtRaritaSchwinger &rs)
Definition
EvtRaritaSchwinger.hh:112
EvtRaritaSchwinger::get
EvtComplex get(int i, int j) const
Definition
EvtRaritaSchwinger.cpp:53
EvtRaritaSchwinger::operator+=
EvtRaritaSchwinger & operator+=(const EvtRaritaSchwinger &u2)
Definition
EvtRaritaSchwinger.cpp:214
EvtRaritaSchwinger::rotateEuler
friend EvtRaritaSchwinger rotateEuler(const EvtRaritaSchwinger &rs, double alpha, double beta, double gamma)
Definition
EvtRaritaSchwinger.cpp:26
EvtRaritaSchwinger::operator-=
EvtRaritaSchwinger & operator-=(const EvtRaritaSchwinger &u2)
Definition
EvtRaritaSchwinger.cpp:233
EvtRaritaSchwinger::operator-
friend EvtRaritaSchwinger operator-(const EvtRaritaSchwinger &u1, const EvtRaritaSchwinger &u2)
Definition
EvtRaritaSchwinger.cpp:246
EvtRaritaSchwinger::operator*
friend EvtComplex operator*(const EvtRaritaSchwinger &u1, const EvtRaritaSchwinger &u2)
Definition
EvtRaritaSchwinger.cpp:200
EvtRaritaSchwinger::setVector
void setVector(int i, const EvtVector4C &v)
Definition
EvtRaritaSchwinger.cpp:154
EvtRaritaSchwinger::operator<<
friend std::ostream & operator<<(std::ostream &s, const EvtRaritaSchwinger &rs)
EvtRaritaSchwinger::m_rs
EvtComplex m_rs[4][4]
Definition
EvtRaritaSchwinger.hh:89
EvtRaritaSchwinger::EvtRaritaSchwinger
EvtRaritaSchwinger()
Definition
EvtRaritaSchwinger.hh:92
EvtRaritaSchwinger::applyBoostTo
void applyBoostTo(const EvtVector4R p4)
Definition
EvtRaritaSchwinger.cpp:88
EvtRaritaSchwinger::dirProd
friend EvtRaritaSchwinger dirProd(EvtVector4R v, EvtDiracSpinor u)
Definition
EvtRaritaSchwinger.cpp:170
EvtRaritaSchwinger::getVector
EvtVector4C getVector(int i) const
Definition
EvtRaritaSchwinger.cpp:141
EvtVector3R
Definition
EvtVector3R.hh:26
EvtVector4C
Definition
EvtVector4C.hh:30
EvtVector4R
Definition
EvtVector4R.hh:29
Generated by
1.17.0