19#include "BDSParticleCoordsFull.hh"
20#include "BDSParticleDefinition.hh"
21#include "BDSParticleExternal.hh"
27 G4int externalParticleIDIn,
28 G4int externalParentIDIn):
29 particleDefinition(particleDefinitionIn),
31 externalParticleID(externalParticleIDIn),
32 externalParentID(externalParentIDIn)
38 externalParticleID(other.externalParticleID),
39 externalParentID(other.externalParentID)
44 externalParticleID(other.externalParticleID),
45 externalParentID(other.externalParentID)
47 particleDefinition = other.particleDefinition;
48 other.particleDefinition =
nullptr;
55 delete particleDefinition;
56 particleDefinition = other.particleDefinition;
57 other.particleDefinition =
nullptr;
59 coords = other.coords;
60 externalParticleID = other.externalParticleID;
61 externalParentID = other.externalParentID;
66BDSParticleExternal::~BDSParticleExternal()
68 delete particleDefinition;
A set of particle coordinates including energy and weight.
Wrapper for particle definition.
A set of particle coordinates from an external interface.
BDSParticleExternal & operator=(BDSParticleExternal &&other) noexcept
Define copy, move and move-assignment constructor as this class owns the particleDefinition.
BDSParticleExternal()=delete
Remove default constructor.