cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
ParticleProperties.h
Go to the documentation of this file.
1
/*
2
* CepGen: a central exclusive processes event generator
3
* Copyright (C) 2017-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_ParticleProperties_h
20
#define CepGen_Physics_ParticleProperties_h
21
22
#include "
CepGen/Core/SteeredObject.h
"
23
24
namespace
cepgen
{
26
typedef
unsigned
long
long
pdgid_t
;
27
typedef
std::vector<pdgid_t>
pdgids_t
;
28
typedef
long
long
spdgid_t
;
29
typedef
std::vector<spdgid_t>
spdgids_t
;
31
struct
ParticleProperties
final :
SteeredObject
<ParticleProperties> {
32
explicit
ParticleProperties
(
const
ParametersList
&);
33
explicit
ParticleProperties
(
pdgid_t
pdgid
= 0ull,
// PDG::invalid
34
const
std::string&
name
=
""
,
35
const
std::string&
descr
=
""
,
36
int
colours
= -1,
37
double
mass
= -1.,
38
double
width
= -1.,
39
const
std::vector<int>&
charges
= {},
40
bool
fermion
=
false
);
41
42
static
ParametersDescription
description
();
43
44
friend
std::ostream&
operator<<
(std::ostream&,
const
ParticleProperties
&);
45
46
short
integerCharge
()
const
;
47
48
pdgid_t
pdgid
{0ull};
49
std::string
name
{};
50
std::string
descr
{};
51
int
colours
{0};
52
double
mass
{0.};
53
double
width
{0.};
54
std::vector<int>
charges
{};
55
bool
fermion
{
false
};
56
};
57
}
// namespace cepgen
58
59
#endif
SteeredObject.h
cepgen::ParametersDescription
A description object for parameters collection.
Definition
ParametersDescription.h:26
cepgen::ParametersList
Definition
ParametersList.h:52
cepgen::SteeredObject
Base user-steerable object.
Definition
SteeredObject.h:41
cepgen
Common namespace for this Monte Carlo generator.
Definition
CommandLineHandler.cpp:36
cepgen::pdgids_t
std::vector< pdgid_t > pdgids_t
Definition
ParticleProperties.h:27
cepgen::spdgids_t
std::vector< spdgid_t > spdgids_t
Definition
ParticleProperties.h:29
cepgen::pdgid_t
unsigned long long pdgid_t
Alias for the integer-like particle PDG id.
Definition
ParticleProperties.h:26
cepgen::spdgid_t
long long spdgid_t
Definition
ParticleProperties.h:28
cepgen::ParticleProperties
A collection of physics constants associated to a single particle.
Definition
ParticleProperties.h:31
cepgen::ParticleProperties::descr
std::string descr
Human-readable name.
Definition
ParticleProperties.h:50
cepgen::ParticleProperties::mass
double mass
Mass, in GeV/c .
Definition
ParticleProperties.h:52
cepgen::ParticleProperties::operator<<
friend std::ostream & operator<<(std::ostream &, const ParticleProperties &)
Definition
ParticleProperties.cpp:79
cepgen::ParticleProperties::pdgid
pdgid_t pdgid
PDG identifier.
Definition
ParticleProperties.h:48
cepgen::ParticleProperties::charges
std::vector< int > charges
Electric charges, in /3.
Definition
ParticleProperties.h:54
cepgen::ParticleProperties::name
std::string name
Particle name.
Definition
ParticleProperties.h:49
cepgen::ParticleProperties::integerCharge
short integerCharge() const
Integer charge, in /3.
Definition
ParticleProperties.cpp:57
cepgen::ParticleProperties::width
double width
Decay width, in GeV/c .
Definition
ParticleProperties.h:53
cepgen::ParticleProperties::description
static ParametersDescription description()
Definition
ParticleProperties.cpp:66
cepgen::ParticleProperties::colours
int colours
Colour factor.
Definition
ParticleProperties.h:51
cepgen::ParticleProperties::fermion
bool fermion
Is the particle a fermion?
Definition
ParticleProperties.h:55
CepGen
Physics
ParticleProperties.h
Generated on Mon Jul 29 2024 for CepGen by
1.9.7