OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
PionDecay.h
Go to the documentation of this file.
1#ifndef OPAL_GLOBALPROCESS_PION_DECAY_H
2#define OPAL_GLOBALPROCESS_PION_DECAY_H
3
6
14class PionDecay : public Decay {
15public:
17 double restLifetimeSeconds, std::size_t containerIndex, double parentMassGeV,
18 int parentChargeSign)
19 : Decay(restLifetimeSeconds, containerIndex, parentMassGeV, parentChargeSign) {
21 }
22
24 std::size_t localDestroyNum, std::size_t oldDaughterLocal,
25 const Kokkos::View<ippl::Vector<double, 3>*>& parentR,
26 const Kokkos::View<ippl::Vector<double, 3>*>& parentP,
27 const Kokkos::View<double*>& parentDt,
28 const Kokkos::View<ippl::Vector<float, 3>*>& parentPol) override;
29};
30
31#endif
Abstract base class for particle decay processes.
Definition Decay.h:28
short allowedDaughterSpecies_m
Definition Decay.h:108
static ParticleType getParticleType(const std::string &str)
Charged pion decay: pi -> mu + nu_mu (two-body).
Definition PionDecay.h:14
void createDaughterParticles(std::size_t localDestroyNum, std::size_t oldDaughterLocal, const Kokkos::View< ippl::Vector< double, 3 > * > &parentR, const Kokkos::View< ippl::Vector< double, 3 > * > &parentP, const Kokkos::View< double * > &parentDt, const Kokkos::View< ippl::Vector< float, 3 > * > &parentPol) override
Create daughter particles from collected parent data.
Definition PionDecay.cpp:6
PionDecay(double restLifetimeSeconds, std::size_t containerIndex, double parentMassGeV, int parentChargeSign)
Definition PionDecay.h:16