18 double beta0 = this->getBeta_m(gamma0);
20 return (
delta / beta0 )
24 - 1./( beta0 * beta0 * gamma0 * gamma0 ),truncOrder_m+1);
37 return (
delta / beta0 )
41 - 1./( beta0*beta0 * gamma0*gamma0 ),truncOrder_m+1
47 - 1./( beta0*beta0 * gamma0*gamma0 ),truncOrder_m
49 + k0 * x * (1. + 0.5 * h* x);
59 double beta0 = this->getBeta_m(gamma0);
61 return (
delta / beta0 )
65 - 1./( beta0*beta0 * gamma0*gamma0 ),(truncOrder_m+1)
71 - 1./( beta0*beta0 * gamma0*gamma0 ),truncOrder_m
73 + K0 * x * (1. + 0.5 * h* x);
85 if (truncOrder_m == 2){
86 return (
delta / beta0 )
90 - 1./( beta0 * beta0 * gamma0 * gamma0 ),truncOrder_m+1
93 return (
delta / beta0 )
95 - (
px*
px - 2.0*
px*ax - ax*ax)
97 - 1./( beta0 * beta0 * gamma0 * gamma0 ),truncOrder_m+1
120 double beta0 = this->getBeta_m(gamma0);
122 return (
delta / beta0 )
126 - 1./( beta0*beta0 * gamma0*gamma0 ),truncOrder_m+1
128 + 0.5 * k1 * (
x*
x -
y*
y);
135 if ( truncOrder_m > 1 ) {
147 double Hamiltonian::getBeta_m(
const double& gamma) {
148 return std::sqrt(1.0 - 1.0 / (gamma * gamma) );
Hamiltonian::series_t fringeField(const double &phi, const double &k0)
Tps< T > tan(const Tps< T > &x)
Tangent.
Hamiltonian::series_t drift(const double &gamma0)
Hamiltonian::series_t bendFringe(double &beta0, double &gamma0, double &h, double &k0, series_t &ax, series_t &az)
Tps< T > sqrt(const Tps< T > &x)
Square root.
Hamiltonian::series_t sbend(const double &gamma0, const double &h, const double &k0)
Hamiltonian(int truncOrder)
static void setGlobalTruncOrder(int order)
Set the global truncation order.
static FTps makeVariable(int var)
Make variable.
Hamiltonian::series_t rbend(double &beta0, double &gamma0, double &q, double &h, double &K0)
Hamiltonian::series_t quadrupole(const double &gamma0, const double &q, const double &k1)