57 throw LogicalError(
"Component::trackBunch()",
"Called for component \"" +
getName() +
"\".");
PartBunch< PLayout_t< double, 3 >, double, 3 > PartBunch_t
ippl::Vector< T, Dim > Vector_t
virtual ElementType getType() const
Get element type std::string.
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)
virtual void goOnline(const double &kineticEnergy)
virtual void trackMap(FVps< double, 6 > &map, const PartData &, bool revBeam, bool revTrack) const
Track a map.
Component(const std::string &name)
Constructor with given name.
PartBunch_t * RefPartBunch_m
static const std::vector< double > defaultAperture_m
virtual void trackBunch(PartBunch_t *bunch, const PartData &, bool revBeam, bool revTrack) const
Track particle bunch.
virtual const ElementBase & getDesign() const
Return design element.
virtual bool apply(const size_t &i, const double &t, Vector_t< double, 3 > &E, Vector_t< double, 3 > &B)
virtual const std::string & getName() const
Get element name.
void setAperture(const ApertureType &type, const std::vector< double > &args)
virtual double getElementLength() const
Get design length.
ElementBase(const std::string &name)
Constructor with given name.
bool isInsideTransverse(const Vector_t< double, 3 > &r) const