19#ifndef CLASSIC_ABSBEAMLINE_VariableRFCavity_HH
20#define CLASSIC_ABSBEAMLINE_VariableRFCavity_HH
75 virtual bool apply(
const size_t& i,
const double& t,
118 virtual bool bends()
const override {
return false;}
145 virtual inline double getPhase(
double time)
const;
150 virtual inline double getWidth()
const;
154 virtual inline void setHeight(
double fullHeight);
156 virtual inline void setWidth(
double fullWidth);
163 virtual std::shared_ptr<AbstractTimeDependence>
getPhaseModel()
const;
168 virtual void setAmplitudeModel(std::shared_ptr<AbstractTimeDependence> time_dep);
170 virtual void setPhaseModel(std::shared_ptr<AbstractTimeDependence> time_dep);
172 virtual void setFrequencyModel(std::shared_ptr<AbstractTimeDependence> time_dep);
Component(const std::string &name)
Constructor with given name.
ElementBase(const std::string &name)
Constructor with given name.
std::shared_ptr< AbstractTimeDependence > frequencyTD_m
StraightGeometry geometry
The cavity's geometry.
virtual void setHeight(double fullHeight)
virtual double getAmplitude(double time) const
virtual void finalise() override
std::string amplitudeName_m
virtual void getDimensions(double &, double &) const override
virtual void setPhaseName(const std::string &phase)
virtual double getFrequency(double time) const
std::string frequencyName_m
virtual bool bends() const override
virtual double getWidth() const
virtual std::shared_ptr< AbstractTimeDependence > getFrequencyModel() const
virtual double getLength() const
virtual void setAmplitudeName(const std::string &litude)
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 double getHeight() 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 double getPhase(double time) const
virtual void accept(BeamlineVisitor &) const override
virtual void setFrequencyName(const std::string &frequency)
virtual void setWidth(double fullWidth)
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(const std::string &name)
Constructor with given name.
VariableRFCavity & operator=(const VariableRFCavity &)
virtual void setAmplitudeModel(std::shared_ptr< AbstractTimeDependence > time_dep)
A geometry representing a straight line.
Abstract base class for electromagnetic fields.
Vektor< double, 3 > Vector_t