21template <
typename FieldFunction,
typename... Arguments>
23 PartBunch_t* bunch,
const size_t& i,
const double& t,
const double dt,
24 Arguments&... args)
const {
25 bool flagNoDeletion =
true;
35 return flagNoDeletion;
38template <
typename FieldFunction,
typename... Arguments>
41 double const gamma = sqrt(1.0 +
dot(P, P));
47template <
typename FieldFunction,
typename... Arguments>
49 PartBunch_t* bunch,
const size_t& i,
const double& t,
const double& h,
50 Arguments&... args)
const {
54 bool outOfBound = this->
fieldfunc_m(t, i, externalE, externalB, args...);
double dot(const Vector3D &lhs, const Vector3D &rhs)
Vector dot product.
PartBunch< PLayout_t< double, 3 >, double, 3 > PartBunch_t
ippl::Vector< T, Dim > Vector_t
constexpr double c
The velocity of light in m/s.
Vector_t< double, Dim > R(size_t i)
ParticleAttrib< Vector_t< T, Dim > > P
void push_m(Vector_t< double, 3 > &R, const Vector_t< double, 3 > &P, const double &h) const
bool kick_m(PartBunch_t *bunch, const size_t &i, const double &t, const double &h, Arguments &... args) const
bool doAdvance_m(PartBunch_t *bunch, const size_t &i, const double &t, const double dt, Arguments &... args) const
const FieldFunction & fieldfunc_m