122 "No field defined for VariableRFCavity");
127 "No field defined for VariableRFCavity");
160 return apply(
R, P, t, E, B);
182 std::shared_ptr<AbstractTimeDependence> phaseTD =
184 cavity->
setPhaseModel(std::shared_ptr<AbstractTimeDependence>(phaseTD->clone()));
185 std::shared_ptr<AbstractTimeDependence> frequencyTD =
187 cavity->
setFrequencyModel(std::shared_ptr<AbstractTimeDependence>(frequencyTD->clone()));
188 std::shared_ptr<AbstractTimeDependence> amplitudeTD =
190 cavity->
setAmplitudeModel(std::shared_ptr<AbstractTimeDependence>(amplitudeTD->clone()));
194 "Height or width was not set on VariableRFCavity");
Tps< T > sin(const Tps< T > &x)
Sine.
PETE_TUTree< FnAbs, typename T::PETE_Expr_t > abs(const PETE_Expr< T > &l)
constexpr double two_pi
The value of.
constexpr double e
The value of.
ParticleAttrib< Vector_t > P
virtual void visitVariableRFCavity(const VariableRFCavity &)=0
Apply the algorithm to a variable RF cavity.
Interface for a single beam element.
PartBunchBase< double, 3 > * RefPartBunch_m
virtual void setName(const std::string &name)
Set element name.
virtual const std::string & getName() const
Get element name.
std::shared_ptr< AbstractTimeDependence > frequencyTD_m
StraightGeometry geometry
The cavity's geometry.
virtual void finalise() override
std::string amplitudeName_m
std::string frequencyName_m
static const double lengthUnit_m
virtual std::shared_ptr< AbstractTimeDependence > getFrequencyModel() const
virtual bool apply(const size_t &i, const double &t, Vector_t &E, Vector_t &B) override
virtual void setPhaseModel(std::shared_ptr< AbstractTimeDependence > time_dep)
virtual ~VariableRFCavity()
virtual std::shared_ptr< AbstractTimeDependence > getAmplitudeModel() const
virtual void setFrequencyModel(std::shared_ptr< AbstractTimeDependence > time_dep)
virtual void setLength(double length)
virtual bool applyToReferenceParticle(const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) override
std::shared_ptr< AbstractTimeDependence > amplitudeTD_m
virtual void accept(BeamlineVisitor &) const override
virtual std::shared_ptr< AbstractTimeDependence > getPhaseModel() const
virtual ElementBase * clone() const override
virtual EMField & getField() override
Not implemented.
std::shared_ptr< AbstractTimeDependence > phaseTD_m
virtual StraightGeometry & getGeometry() override
VariableRFCavity & operator=(const VariableRFCavity &)
virtual void setAmplitudeModel(std::shared_ptr< AbstractTimeDependence > time_dep)
static std::shared_ptr< AbstractTimeDependence > getTimeDependence(std::string name)
A geometry representing a straight line.
virtual void setElementLength(double length)
Set design length.
Abstract base class for electromagnetic fields.
Vektor< double, 3 > Vector_t