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
src
EvtGenBase
EvtStringParticle.cpp
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
#include "
EvtGenBase/EvtStringParticle.hh
"
22
23
#include "
EvtGenBase/EvtReport.hh
"
24
#include "
EvtGenBase/EvtVector4R.hh
"
25
26
#include <iostream>
27
#include <math.h>
28
#include <stdlib.h>
29
30
void
EvtStringParticle::init
(
EvtId
id
,
const
EvtVector4R
& p4 )
31
{
32
m_validP4
=
true
;
33
setp
( p4 );
34
setpart_num
(
id
);
35
}
36
37
void
EvtStringParticle::initPartons
(
int
npartons,
EvtVector4R
* p4partons,
38
EvtId
* idpartons )
39
{
40
m_p4partons
.resize( npartons );
41
m_idpartons
.resize( npartons );
42
for
(
int
i = 0; i < npartons; i++ ) {
43
m_p4partons
[i] = p4partons[i];
44
m_idpartons
[i] = idpartons[i];
45
}
46
}
47
48
int
EvtStringParticle::getNPartons
()
49
{
50
return
m_p4partons
.size();
51
}
52
53
EvtId
EvtStringParticle::getIdParton
(
int
i )
54
{
55
return
m_idpartons
[i];
56
}
57
58
EvtVector4R
EvtStringParticle::getP4Parton
(
int
i )
59
{
60
return
m_p4partons
[i];
61
}
62
63
EvtSpinDensity
EvtStringParticle::rotateToHelicityBasis
()
const
64
{
65
EvtGenReport
(
EVTGEN_ERROR
,
"EvtGen"
)
66
<<
"rotateToHelicityBasis not implemented for strin particle."
;
67
EvtGenReport
(
EVTGEN_ERROR
,
"EvtGen"
) <<
"Will terminate execution."
;
68
69
::abort();
70
71
EvtSpinDensity
rho;
72
return
rho;
73
}
74
75
EvtSpinDensity
EvtStringParticle::rotateToHelicityBasis
(
double
,
double
,
76
double
)
const
77
{
78
EvtGenReport
(
EVTGEN_ERROR
,
"EvtGen"
)
79
<<
"rotateToHelicityBasis(alpha,beta,gamma) not implemented for string particle."
;
80
EvtGenReport
(
EVTGEN_ERROR
,
"EvtGen"
) <<
"Will terminate execution."
;
81
82
::abort();
83
84
EvtSpinDensity
rho;
85
return
rho;
86
}
EvtReport.hh
EvtGenReport
std::ostream & EvtGenReport(EvtGenSeverity severity, const char *facility=nullptr)
Definition
EvtReport.cpp:32
EVTGEN_ERROR
@ EVTGEN_ERROR
Definition
EvtReport.hh:49
EvtStringParticle.hh
EvtVector4R.hh
EvtId
Definition
EvtId.hh:27
EvtParticle::m_validP4
bool m_validP4
Definition
EvtParticle.hh:460
EvtParticle::setp
void setp(double e, double px, double py, double pz)
Definition
EvtParticle.hh:442
EvtParticle::setpart_num
void setpart_num(EvtId particle_number)
Definition
EvtParticle.hh:454
EvtSpinDensity
Definition
EvtSpinDensity.hh:28
EvtStringParticle::getP4Parton
EvtVector4R getP4Parton(int i)
Definition
EvtStringParticle.cpp:58
EvtStringParticle::getIdParton
EvtId getIdParton(int i)
Definition
EvtStringParticle.cpp:53
EvtStringParticle::m_idpartons
std::vector< EvtId > m_idpartons
Definition
EvtStringParticle.hh:44
EvtStringParticle::m_p4partons
std::vector< EvtVector4R > m_p4partons
Definition
EvtStringParticle.hh:43
EvtStringParticle::getNPartons
int getNPartons()
Definition
EvtStringParticle.cpp:48
EvtStringParticle::init
void init(EvtId id, const EvtVector4R &p4) override
Definition
EvtStringParticle.cpp:30
EvtStringParticle::initPartons
void initPartons(int npartons, EvtVector4R *p4partons, EvtId *idpartons)
Definition
EvtStringParticle.cpp:37
EvtStringParticle::rotateToHelicityBasis
EvtSpinDensity rotateToHelicityBasis() const override
Definition
EvtStringParticle.cpp:63
EvtVector4R
Definition
EvtVector4R.hh:29
Generated by
1.17.0