30 #include "gsl/gsl_sf_gamma.h"
31 #include "gsl/gsl_sf_pow_int.h"
38 straightGeometry_m(getLength()) {
43 straightGeometry_m(right.straightGeometry_m) {
67 for(std::size_t i = 0; i <=
n; i++) {
71 f_n *= gsl_sf_pow_int(-1.0,
n);
72 Bx += f_n * gsl_sf_pow_int(
R[1], 2 *
n + 1) / gsl_sf_fact(2 *
n + 1);
81 for(std::size_t i = 0; i <=
n; i++) {
85 f_n *= gsl_sf_pow_int(-1.0,
n);
86 Bs += f_n * gsl_sf_pow_int(
R[1], 2 *
n + 1) / gsl_sf_fact(2 *
n + 1);
98 for (std::size_t i = 0; i <=
n; i++) {
102 f_n *= gsl_sf_pow_int(-1.0,
n);
PartBunchBase< double, 3 > * RefPartBunch_m
virtual void setMaxOrder(const std::size_t &maxOrder)
std::size_t getMaxOrder() const
double getTransDeriv(const std::size_t &n, const double &x)
double getFringeDeriv(const std::size_t &n, const double &s)
virtual double getBs(const Vector_t &R) override
virtual double getFn(const std::size_t &n, const double &x, const double &s) override
virtual void setMaxOrder(const std::size_t &maxOrder) override
virtual void transformCoords(Vector_t &R) override
virtual ElementBase * clone() const override
MultipoleTStraight(const std::string &name)
virtual double getBx(const Vector_t &R) override