1#ifndef CLASSIC_Solenoid_HH
2#define CLASSIC_Solenoid_HH
37 explicit Solenoid(
const std::string& name);
47 virtual double getBz()
const = 0;
49 void setKS(
double ks);
67 virtual bool bends()
const override;
69 virtual void goOnline(
const double& kineticEnergy)
override;
82 virtual void getDimensions(
double& zBegin,
double& zEnd)
const override;
PartBunch< PLayout_t< double, 3 >, double, 3 > PartBunch_t
ippl::Vector< T, Dim > Vector_t
Component(const std::string &name)
Constructor with given name.
virtual double getElementLength() const
Get design length.
virtual double getBz() const =0
Get solenoid field Bz in Teslas.
virtual void getDimensions(double &zBegin, double &zEnd) const override
virtual CoordinateSystemTrafo getEdgeToBegin() const override
virtual void initialise(PartBunch_t *bunch, double &startField, double &endField) override
virtual void getElementDimensions(double &zBegin, double &zEnd) const override
virtual void goOffline() override
virtual void goOnline(const double &kineticEnergy) override
virtual void finalise() override
virtual bool apply(const size_t &i, const double &t, Vector_t< double, 3 > &E, Vector_t< double, 3 > &B) override
virtual CoordinateSystemTrafo getEdgeToEnd() const override
virtual bool bends() const override
virtual ElementType getType() const override
Get element type std::string.
virtual bool isInside(const Vector_t< double, 3 > &r) const override
virtual bool applyToReferenceParticle(const Vector_t< double, 3 > &R, const Vector_t< double, 3 > &P, const double &t, Vector_t< double, 3 > &E, Vector_t< double, 3 > &B) override
Solenoid(const std::string &name)
Constructor with given name.
void setFieldMapFN(std::string fn)
void operator=(const Solenoid &)
virtual void accept(BeamlineVisitor &) const override
Apply visitor to Solenoid.