OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
PartData Class Reference

Particle reference data. More...

#include <PartData.h>

Collaboration diagram for PartData:
Collaboration graph

Public Member Functions

 PartData (double charge, double mass, double momentum)
 Constructor.
 
 PartData ()
 
KOKKOS_INLINE_FUNCTION double getQ () const
 The constant charge per particle.
 
KOKKOS_INLINE_FUNCTION double getM () const
 The constant mass per particle.
 
double getP () const
 The constant reference momentum per particle.
 
double getE () const
 The constant reference Energy per particle.
 
double getBeta () const
 The relativistic beta per particle.
 
double getGamma () const
 The relativistic gamma per particle.
 
void setP (double p)
 Set reference momentum.
 
void setE (double E)
 Set reference energy.
 
void setBeta (double beta)
 Set beta.
 
void setGamma (double gamma)
 Set gamma.
 
void setM (double m)
 Set reference mass expressed in eV/c^2.
 
void setQ (double q)
 Set reference charge expressed in proton charges,.
 
double getAnomaly () const
 
void setAnomaly (double a)
 

Protected Attributes

double charge
 
double mass
 
double beta
 
double gamma
 
double anomaly = 0.0
 

Detailed Description

Particle reference data.

Definition at line 37 of file PartData.h.

Constructor & Destructor Documentation

◆ PartData() [1/2]

PartData::PartData ( double  charge,
double  mass,
double  momentum 
)

Constructor.

Definition at line 28 of file PartData.cpp.

References charge, mass, and setP().

Here is the call graph for this function:

◆ PartData() [2/2]

PartData::PartData ( )

Definition at line 34 of file PartData.cpp.

References beta, charge, gamma, and mass.

Member Function Documentation

◆ getAnomaly()

double PartData::getAnomaly ( ) const
inline

The magnetic moment anomaly G = (g - 2) / 2 for this species. Zero by default; populated by Beam::update() when PARTICLE is set.

Definition at line 92 of file PartData.h.

References anomaly.

Referenced by ParallelTracker::evolveSpinTBMT().

◆ getBeta()

double PartData::getBeta ( ) const
inline

The relativistic beta per particle.

Definition at line 115 of file PartData.h.

References beta.

◆ getE()

double PartData::getE ( ) const
inline

The constant reference Energy per particle.

Definition at line 113 of file PartData.h.

References gamma, and mass.

◆ getGamma()

double PartData::getGamma ( ) const
inline

The relativistic gamma per particle.

Definition at line 117 of file PartData.h.

References gamma.

◆ getM()

◆ getP()

double PartData::getP ( ) const
inline

The constant reference momentum per particle.

Definition at line 111 of file PartData.h.

References beta, gamma, and mass.

Referenced by ParallelTracker::execute(), Beam::getMomentum(), and Beam::print().

◆ getQ()

◆ setAnomaly()

void PartData::setAnomaly ( double  a)
inline

Definition at line 93 of file PartData.h.

References anomaly.

Referenced by Beam::update().

◆ setBeta()

void PartData::setBeta ( double  beta)

Set beta.

Definition at line 66 of file PartData.cpp.

References beta, and gamma.

◆ setE()

void PartData::setE ( double  E)

Set reference energy.

Definition at line 55 of file PartData.cpp.

References beta, gamma, and mass.

Referenced by Beam::update().

◆ setGamma()

void PartData::setGamma ( double  gamma)

Set gamma.

Definition at line 75 of file PartData.cpp.

References beta, and gamma.

Referenced by Beam::update().

◆ setM()

void PartData::setM ( double  m)
inline

Set reference mass expressed in eV/c^2.

Definition at line 85 of file PartData.h.

References mass.

Referenced by Beam::update().

◆ setP()

void PartData::setP ( double  p)

Set reference momentum.

Definition at line 41 of file PartData.cpp.

References beta, gamma, and mass.

Referenced by PartData(), and Beam::update().

◆ setQ()

void PartData::setQ ( double  q)
inline

Set reference charge expressed in proton charges,.

Definition at line 88 of file PartData.h.

References charge.

Referenced by Beam::update().

Member Data Documentation

◆ anomaly

double PartData::anomaly = 0.0
protected

Definition at line 101 of file PartData.h.

Referenced by getAnomaly(), and setAnomaly().

◆ beta

double PartData::beta
protected

Definition at line 99 of file PartData.h.

Referenced by getBeta(), getP(), PartData(), setBeta(), setE(), setGamma(), and setP().

◆ charge

double PartData::charge
protected

Definition at line 97 of file PartData.h.

Referenced by getQ(), PartData(), PartData(), and setQ().

◆ gamma

double PartData::gamma
protected

Definition at line 100 of file PartData.h.

Referenced by getE(), getGamma(), getP(), PartData(), setBeta(), setE(), setGamma(), and setP().

◆ mass

double PartData::mass
protected

Definition at line 98 of file PartData.h.

Referenced by getE(), getM(), getP(), PartData(), PartData(), setE(), setM(), and setP().


The documentation for this class was generated from the following files: