1 #ifndef CLASSIC_Monitor_HH
2 #define CLASSIC_Monitor_HH
31 template <
class T,
unsigned Dim>
93 virtual bool bends()
const override;
95 virtual void goOnline(
const double &kineticEnergy)
override;
101 virtual void getDimensions(
double &zBegin,
double &zEnd)
const override;
128 #endif // CLASSIC_Monitor_HH
virtual void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override
virtual void accept(BeamlineVisitor &) const override
Apply visitor to Monitor.
Interface for beam position monitors.
virtual StraightGeometry & getGeometry() override=0
Get geometry.
static std::map< double, SetStatistics > statFileEntries_sm
std::unique_ptr< LossDataSink > lossDs_m
Monitor acts on both planes.
unsigned int numPassages_m
virtual void goOffline() override
Monitor is off (inactive).
virtual void finalise() override
virtual void getDimensions(double &zBegin, double &zEnd) const override
static const double halfLength_s
virtual bool apply(const size_t &i, const double &t, Vector_t &E, Vector_t &B) override
virtual Plane getPlane() const =0
Get plane on which monitor observes.
virtual ElementBase::ElementType getType() const override
Get element type std::string.
A geometry representing a straight line.
void operator=(const Monitor &)
static void writeStatistics()
virtual bool applyToReferenceParticle(const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) override
Interface for a single beam element.
virtual bool bends() const override
virtual void goOnline(const double &kineticEnergy) override
void setOutputFN(std::string fn)