CORSIKA
@c8_version@
The framework to simulate particle cascades for astroparticle physics
Decay.hpp
1
/*
2
* (c) Copyright 2020 CORSIKA Project, corsika-project@lists.kit.edu
3
*
4
* This software is distributed under the terms of the GNU General Public
5
* Licence version 3 (GPL Version 3). See file LICENSE for a full version of
6
* the license.
7
*/
8
9
#pragma once
10
11
#include <
corsika/framework/core/ParticleProperties.hpp
>
12
#include <corsika/framework/process/DecayProcess.hpp>
13
#include <corsika/framework/geometry/Vector.hpp>
14
#include <
corsika/framework/core/PhysicalUnits.hpp
>
15
16
#include <corsika/modules/pythia8/Pythia8.hpp>
17
18
namespace
corsika::pythia8
{
19
20
class
Decay
:
public
DecayProcess
<Decay>,
public
Pythia8::Pythia {
21
22
public
:
23
Decay
(
bool
const
print_listing =
false
);
24
Decay
(std::set<Code>
const
&);
25
~
Decay
();
26
27
// is Pythia::Decay set to handle the decay of this particle?
28
bool
isDecayHandled(Code
const
);
29
31
bool
canHandleDecay
(Code
const
);
32
34
void
setHandleDecay
(Code
const
);
36
void
setHandleDecay
(std::vector<Code>
const
&);
38
void
setHandleAllDecays
();
39
41
void
printDecayConfig
(Code
const
);
43
void
printDecayConfig
();
44
45
bool
canDecay(Code
const
);
46
47
template
<
typename
TParticle>
48
TimeType
getLifetime(TParticle
const
&);
49
50
template
<
typename
TView>
51
void
doDecay(TView&);
52
53
private
:
54
void
init();
55
56
bool
isStable(Code
const
vCode);
57
void
setStable(std::vector<Code>
const
&);
58
void
setUnstable(Code
const
);
59
void
setStable(Code
const
);
60
61
// data members
62
int
count_ = 0;
63
bool
handleAllDecays_ =
true
;
64
std::set<Code> handledDecays_;
65
bool
print_listing_ =
false
;
66
};
67
68
}
// namespace corsika::pythia8
69
70
#include <corsika/detail/modules/pythia8/Decay.inl>
corsika::pythia8::Decay
Definition:
Decay.hpp:20
corsika::pythia8
Definition:
Decay.hpp:18
PhysicalUnits.hpp
Import and extend the phys::units package.
corsika::pythia8::Decay::setHandleAllDecays
void setHandleAllDecays()
set Pythia::Decay to handle all particle decays
corsika::pythia8::Decay::canHandleDecay
bool canHandleDecay(Code const)
is decay possible in principle?
phys::units::quantity< phys::units::time_interval_d, double >
corsika::pythia8::Decay::setHandleDecay
void setHandleDecay(Code const)
set Pythia::Decay to handle the decay of this particle!
ParticleProperties.hpp
Interface to particle properties.
corsika::DecayProcess
Process decribing the decay of particles.
Definition:
DecayProcess.hpp:51
corsika::pythia8::Decay::printDecayConfig
void printDecayConfig()
print configuration of decays in corsika
corsika
modules
pythia8
Decay.hpp
Generated by
1.8.13