Wrapper for particle definition.
void CalculateRigidity(const G4double &ffactIn)
Calculate and set rigidity based on charge and momentum.
G4bool NElectrons() const
Accessor.
G4double Momentum() const
Accessor.
G4double KineticEnergy() const
Accessor.
G4ParticleDefinition * ParticleDefinition() const
Accessor.
void CalculateLorentzFactors()
Calculate and set lorentz factors.
void SetEnergies(G4double totalEnergyIn, G4double kineticEnergyIn, G4double momentumIn)
BDSIonDefinition * ionDefinition
Optional ion definition. Does own.
BDSParticleDefinition()=delete
No default constructor.
friend std::ostream & operator<<(std::ostream &out, BDSParticleDefinition const &def)
Output stream operator implementation.
BDSParticleDefinition & operator=(BDSParticleDefinition &&other) noexcept
Copy, move and assignment constructors specified as we have to copy the ionDefinition if it exists.
BDSIonDefinition * IonDefinition() const
Accessor.
G4int ionPDGID
Cache this for ions only.
G4double TotalEnergy() const
Accessor.
G4ParticleDefinition * particle
Does not own.
void CalculateMomentum()
Calculate and set momentum based on totalEnergy and mass.
void UpdateG4ParticleDefinition(G4ParticleDefinition *particleIn)