OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
Processes/GlobalProcesses/MuonDecay.h
Go to the documentation of this file.
1#ifndef OPAL_GLOBALPROCESS_MUON_DECAY_H
2#define OPAL_GLOBALPROCESS_MUON_DECAY_H
3
6
15class MuonDecay : public Decay {
16public:
18 double restLifetimeSeconds, std::size_t containerIndex, double parentMassGeV,
19 int parentChargeSign)
20 : Decay(restLifetimeSeconds, containerIndex, parentMassGeV, parentChargeSign) {
22 static_cast<short>(ParticleProperties::getParticleType("ELECTRON"));
23 }
24
26 std::size_t localDestroyNum, std::size_t oldDaughterLocal,
27 const Kokkos::View<ippl::Vector<double, 3>*>& parentR,
28 const Kokkos::View<ippl::Vector<double, 3>*>& parentP,
29 const Kokkos::View<double*>& parentDt,
30 const Kokkos::View<ippl::Vector<float, 3>*>& parentPol) override;
31};
32
33#endif
Abstract base class for particle decay processes.
Definition Decay.h:28
short allowedDaughterSpecies_m
Definition Decay.h:108
Muon decay: mu -> e + nu_e + nu_mu (three-body).
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 MuonDecay.cpp:6
MuonDecay(double restLifetimeSeconds, std::size_t containerIndex, double parentMassGeV, int parentChargeSign)
static ParticleType getParticleType(const std::string &str)