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
EvtTensorParticle.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 EVTTENSORPARTICLE_HH
22
#define EVTTENSORPARTICLE_HH
23
24
#include "
EvtGenBase/EvtParticle.hh
"
25
#include "
EvtGenBase/EvtTensor4C.hh
"
26
27
#include <array>
28
29
class
EvtTensorParticle
:
public
EvtParticle
{
30
public
:
31
EvtTensorParticle
() =
default
;
32
33
void
init
(
EvtId
part_n,
double
e,
double
px,
double
py,
double
pz );
34
void
init
(
EvtId
part_n,
const
EvtVector4R
& p4 )
override
;
35
void
init
(
EvtId
part_n,
const
EvtVector4R
& p4,
const
EvtTensor4C
&,
36
const
EvtTensor4C
&,
const
EvtTensor4C
&,
const
EvtTensor4C
&,
37
const
EvtTensor4C
& );
38
//Returns polarization tensors.
39
EvtTensor4C
epsTensorParent
(
int
i )
const override
;
40
EvtTensor4C
epsTensor
(
int
i )
const override
;
41
42
EvtSpinDensity
rotateToHelicityBasis
()
const override
;
43
EvtSpinDensity
rotateToHelicityBasis
(
double
alpha,
double
beta,
44
double
gamma )
const override
;
45
46
private
:
47
std::array<EvtTensor4C, 5>
m_eps
;
//eps1,eps2,eps3,eps4,eps5;
48
49
EvtTensorParticle
(
const
EvtTensorParticle
& tensor );
50
EvtTensorParticle
&
operator=
(
const
EvtTensorParticle
& tensor );
51
};
52
53
#endif
EvtParticle.hh
EvtTensor4C.hh
EvtId
Definition
EvtId.hh:27
EvtParticle::EvtParticle
EvtParticle()
Definition
EvtParticle.cpp:59
EvtSpinDensity
Definition
EvtSpinDensity.hh:28
EvtTensor4C
Definition
EvtTensor4C.hh:38
EvtTensorParticle::EvtTensorParticle
EvtTensorParticle()=default
EvtTensorParticle::EvtTensorParticle
EvtTensorParticle(const EvtTensorParticle &tensor)
EvtTensorParticle::rotateToHelicityBasis
EvtSpinDensity rotateToHelicityBasis() const override
Definition
EvtTensorParticle.cpp:98
EvtTensorParticle::epsTensorParent
EvtTensor4C epsTensorParent(int i) const override
Definition
EvtTensorParticle.cpp:85
EvtTensorParticle::epsTensor
EvtTensor4C epsTensor(int i) const override
Definition
EvtTensorParticle.cpp:92
EvtTensorParticle::init
void init(EvtId part_n, double e, double px, double py, double pz)
Definition
EvtTensorParticle.cpp:41
EvtTensorParticle::m_eps
std::array< EvtTensor4C, 5 > m_eps
Definition
EvtTensorParticle.hh:47
EvtTensorParticle::operator=
EvtTensorParticle & operator=(const EvtTensorParticle &tensor)
EvtVector4R
Definition
EvtVector4R.hh:29
Generated by
1.17.0