15 #ifndef CLASSIC_OutputPlane_HH
16 #define CLASSIC_OutputPlane_HH
184 bool checkOne(
const int index,
const double tstep,
double chargeToMass,
203 void RK4Step(
const double& tstep,
204 const double& chargeToMass,
225 const int turnnumber,
227 const double tstep)
override;
233 const double& chargeToMass,
236 void rk4Test(
double tstep,
double chargeToMass,
357 #endif // CLASSIC_OutputPlane_HH
void setGlobalFieldMap(Component *field)
void setHorizontalExtent(double width)
Component * getGlobalFieldMap() const
void rk4Test(double tstep, double chargeToMass, double &t, Vector_t &R, Vector_t &P)
BVector Bfield(const Point3D &P) const
Return the field in a point.
bool doPreCheck(PartBunchBase< double, 3 > *bunch) override
Record probe hits when bunch particles pass.
void setVerticalExtent(double z)
A geometry representing a straight line.
void setCentre(Vector_t centre)
void operator=(const OutputPlane &)=delete
size_t getMaxIterations() const
ElementBase * clone() const override
Vector_t getCentre() const
bool checkOne(const int index, const double tstep, double chargeToMass, double &t, Vector_t &R, Vector_t &P)
virtual void doGoOffline() override
Hook for goOffline.
const NullField & getField() const override
Vector_t getNormal() const
virtual void accept(BeamlineVisitor &) const override
double horizontalExtent_m
double getVerticalExtent() const
int getVerboseLevel() const
algorithm getAlgorithm() const
T::PETE_Expr_t::PETE_Return_t max(const PETE_Expr< T > &expr, NDIndex< D > &loc)
double getRadialExtent() const
EVector Efield(const Point3D &P) const
Return the field in a point.
void setAlgorithm(algorithm alg)
T euclidean_norm(const Vector< T > &)
Euclidean norm.
std::unique_ptr< Stepper< function_t > > stepper_m
std::function< bool(const double &, const size_t &, Vector_t &, Vector_t &)> function_t
void setTolerance(double tolerance)
void recentre(Vector_t R, Vector_t P)
double function(PyOpalObjectNS::PyOpalObject< C > pyobject, double t)
void setRadialExtent(double r)
void setMaxIterations(size_t max)
double getHorizontalExtent() const
const StraightGeometry & getGeometry() const override
virtual bool doCheck(PartBunchBase< double, 3 > *bunch, const int turnnumber, const double t, const double tstep) override
Record probe hits when bunch particles pass.
void getDerivatives(const Vector_t &R, const Vector_t &P, const double &t, const double &chargeToMass, double *yp) const
double distanceToPlane(Vector_t point) const
ElementType getType() const override
Get element type std::string.
void RK4Step(const double &tstep, const double &chargeToMass, const double &t, Vector_t &R, Vector_t &P) const
void setRecentre(int willRecentre)
bool getFieldsAtPoint(const Vector_t &R, const Vector_t &P, const double &t, Vector_t &Efield, Vector_t &Bfield)
void setVerboseLevel(int verbose)
StraightGeometry & getGeometry() override
constexpr double e
The value of .
A zero electromagnetic field.
virtual void doInitialise(PartBunchBase< double, 3 > *) override
Initialise peakfinder file.
Interface for a single beam element.
NullField & getField() override
double getTolerance() const
void interpolation(double &t, Vector_t &R, Vector_t &P)
void setNormal(Vector_t normal)