80 std::shared_ptr<ParticleContainer_t> pc =
RefPartBunch_m->getParticleContainer();
81 auto Rview = pc->R.getView();
82 auto Pview = pc->P.getView();
86 return apply(R, P, t, E, B);
95 const bool outOfBounds =
fieldmap_m->getFieldstrength(R, tmpE, tmpB);
112 const bool outOfBounds =
fieldmap_m->getFieldstrength(R, tmpE, tmpB);
123 Inform msg(
"Solenoid ", *
gmsg);
130 msg << level2 <<
getName() <<
" using file ";
133 double zBegin = 0.0, zEnd = 0.0;
140 endField = startField;
PartBunch< PLayout_t< double, 3 >, double, 3 > PartBunch_t
ippl::Vector< T, Dim > Vector_t
PartBunch< T, Dim >::ConstIterator end(PartBunch< T, Dim > const &bunch)
PartBunch< T, Dim >::ConstIterator begin(PartBunch< T, Dim > const &bunch)
virtual void visitSolenoid(const Solenoid &)=0
Apply the algorithm to a Solenoid element.
Component(const std::string &name)
Constructor with given name.
PartBunch_t * RefPartBunch_m
virtual const std::string & getName() const
Get element name.
bool getFlagDeleteOnTransverseExit() const
virtual double getElementLength() const
Get design length.
virtual void setElementLength(double length)
Set design length.
bool isInsideTransverse(const Vector_t< double, 3 > &r) const
virtual void getDimensions(double &zBegin, double &zEnd) 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 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)
virtual void accept(BeamlineVisitor &) const override
Apply visitor to Solenoid.