cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
ResonanceObject.h
Go to the documentation of this file.
1
/*
2
* CepGen: a central exclusive processes event generator
3
* Copyright (C) 2022-2024 Laurent Forthomme
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation, either version 3 of the License, or
8
* any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#ifndef CepGen_Physics_ResonanceObject_h
20
#define CepGen_Physics_ResonanceObject_h
21
22
#include "
CepGen/Core/SteeredObject.h
"
23
24
namespace
cepgen
{
26
class
ResonanceObject
:
public
SteeredObject
<ResonanceObject> {
27
public
:
28
explicit
ResonanceObject
(
const
ParametersList
&);
29
30
static
ParametersDescription
description
();
31
33
struct
KinematicsBlock
{
34
explicit
KinematicsBlock
(
double
w2
,
double
q2
,
double
mp2,
double
mpi2,
double
meta2);
35
static
inline
double
mom
(
double
energy,
double
mass2) {
return
std::sqrt(std::max(0., energy * energy - mass2)); }
36
const
double
w2
,
w
;
37
const
double
q2
;
38
// equivalent photon energy-momentum
39
const
double
k
,
kcm
;
40
const
double
ppicm
;
41
const
double
ppi2cm
;
42
const
double
petacm
;
43
};
44
45
protected
:
46
inline
double
kr
()
const
{
return
0.5 * (
mass_
*
mass_
-
mp2_
) /
mp_
; }
47
inline
double
pcmr
(
double
m2)
const
{
return
KinematicsBlock::mom
(
ecmr
(m2), m2); }
48
double
ecmr
(
double
m2)
const
;
49
inline
double
kcmr
()
const
{
return
ecmr
(0.); }
50
double
partialWidth
(
const
KinematicsBlock&)
const
;
51
double
photonWidth
(
const
KinematicsBlock&)
const
;
52
54
const
struct
BranchingRatios
:
SteeredObject
<BranchingRatios> {
55
explicit
BranchingRatios
(
const
ParametersList
&);
56
57
static
ParametersDescription
description
();
58
60
inline
bool
valid
()
const
{
return
singlepi
+
doublepi
+
eta
== 1.; }
61
62
double
singlepi
;
63
double
doublepi
;
64
double
eta
;
65
}
br_
;
66
const
int
ang_mom_
;
67
const
double
x0_
;
68
const
double
mass_
;
69
const
double
width_
;
70
const
double
mp_
;
71
const
double
mp2_
;
72
const
double
mpi2_
;
73
const
double
meta2_
;
74
const
double
x02_
;
75
};
76
}
// namespace cepgen
77
78
#endif
SteeredObject.h
cepgen::ParametersDescription
A description object for parameters collection.
Definition
ParametersDescription.h:26
cepgen::ParametersList
Definition
ParametersList.h:52
cepgen::ResonanceObject
General definition for a resonance.
Definition
ResonanceObject.h:26
cepgen::ResonanceObject::x0_
const double x0_
damping parameter
Definition
ResonanceObject.h:67
cepgen::ResonanceObject::partialWidth
double partialWidth(const KinematicsBlock &) const
partial widths for all decays
Definition
ResonanceObject.cpp:54
cepgen::ResonanceObject::width_
const double width_
full width, in GeV
Definition
ResonanceObject.h:69
cepgen::ResonanceObject::meta2_
const double meta2_
eta meson squared mass, in GeV^2/c^4
Definition
ResonanceObject.h:73
cepgen::ResonanceObject::mp2_
const double mp2_
proton squared mass, in GeV^2/c^4
Definition
ResonanceObject.h:71
cepgen::ResonanceObject::br_
cepgen::ResonanceObject::BranchingRatios br_
cepgen::ResonanceObject::photonWidth
double photonWidth(const KinematicsBlock &) const
virtual photon width
Definition
ResonanceObject.cpp:79
cepgen::ResonanceObject::kr
double kr() const
Definition
ResonanceObject.h:46
cepgen::ResonanceObject::kcmr
double kcmr() const
Definition
ResonanceObject.h:49
cepgen::ResonanceObject::x02_
const double x02_
squared damping parameter
Definition
ResonanceObject.h:74
cepgen::ResonanceObject::pcmr
double pcmr(double m2) const
Definition
ResonanceObject.h:47
cepgen::ResonanceObject::description
static ParametersDescription description()
Definition
ResonanceObject.cpp:41
cepgen::ResonanceObject::mass_
const double mass_
mass, in GeV/c2
Definition
ResonanceObject.h:68
cepgen::ResonanceObject::mpi2_
const double mpi2_
pion squared mass, in GeV^2/c^4
Definition
ResonanceObject.h:72
cepgen::ResonanceObject::ang_mom_
const int ang_mom_
meson angular momentum
Definition
ResonanceObject.h:66
cepgen::ResonanceObject::mp_
const double mp_
proton mass, in GeV/c^2
Definition
ResonanceObject.h:70
cepgen::ResonanceObject::ecmr
double ecmr(double m2) const
Definition
ResonanceObject.cpp:52
cepgen::SteeredObject
Base user-steerable object.
Definition
SteeredObject.h:41
cepgen
Common namespace for this Monte Carlo generator.
Definition
CommandLineHandler.cpp:36
cepgen::ResonanceObject::BranchingRatios
Branching ratios container for resonance decay into single, double pion or eta states.
Definition
ResonanceObject.h:54
cepgen::ResonanceObject::BranchingRatios::valid
bool valid() const
Sanity check to ensure only three decay channels are opened.
Definition
ResonanceObject.h:60
cepgen::ResonanceObject::BranchingRatios::doublepi
double doublepi
double pion branching ratio
Definition
ResonanceObject.h:63
cepgen::ResonanceObject::BranchingRatios::description
static ParametersDescription description()
Definition
ResonanceObject.cpp:106
cepgen::ResonanceObject::BranchingRatios::eta
double eta
eta meson branching ratio
Definition
ResonanceObject.h:64
cepgen::ResonanceObject::BranchingRatios::singlepi
double singlepi
single pion branching ratio
Definition
ResonanceObject.h:62
cepgen::ResonanceObject::KinematicsBlock
Kinematics needed for threshold relativistic B-W.
Definition
ResonanceObject.h:33
cepgen::ResonanceObject::KinematicsBlock::q2
const double q2
Definition
ResonanceObject.h:37
cepgen::ResonanceObject::KinematicsBlock::w2
const double w2
Definition
ResonanceObject.h:36
cepgen::ResonanceObject::KinematicsBlock::kcm
const double kcm
Definition
ResonanceObject.h:39
cepgen::ResonanceObject::KinematicsBlock::ppi2cm
const double ppi2cm
two-pion momentum
Definition
ResonanceObject.h:41
cepgen::ResonanceObject::KinematicsBlock::k
const double k
Definition
ResonanceObject.h:39
cepgen::ResonanceObject::KinematicsBlock::mom
static double mom(double energy, double mass2)
Definition
ResonanceObject.h:35
cepgen::ResonanceObject::KinematicsBlock::w
const double w
Definition
ResonanceObject.h:36
cepgen::ResonanceObject::KinematicsBlock::petacm
const double petacm
eta meson momentum
Definition
ResonanceObject.h:42
cepgen::ResonanceObject::KinematicsBlock::ppicm
const double ppicm
pion momentum
Definition
ResonanceObject.h:40
CepGen
Physics
ResonanceObject.h
Generated on Mon Jul 29 2024 for CepGen by
1.9.7