18 #ifndef CLASSIC_Monitor_HH
19 #define CLASSIC_Monitor_HH
28 template <
class T,
unsigned Dim>
79 virtual bool bends()
const override;
81 virtual void goOnline(
const double &kineticEnergy)
override;
87 virtual void getDimensions(
double &zBegin,
double &zEnd)
const override;
PETE_TUTree< FnAbs, typename T::PETE_Expr_t > abs(const PETE_Expr< T > &l)
boost::function< boost::tuple< double, bool >arguments_t)> type
Interface for a single beam element.
virtual double getElementLength() const
Get design length.
bool isInsideTransverse(const Vector_t &r) const
static void writeStatistics()
virtual void accept(BeamlineVisitor &) const override
Apply visitor to Monitor.
virtual void goOnline(const double &kineticEnergy) override
virtual bool applyToReferenceParticle(const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) override
@ XY
Monitor acts on both planes.
@ Y
Monitor acts on y-plane.
@ OFF
Monitor is off (inactive).
@ X
Monitor acts on x-plane.
virtual void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override
virtual StraightGeometry & getGeometry() override=0
Get geometry.
virtual const StraightGeometry & getGeometry() const override=0
Get geometry. Version for const object.
virtual void goOffline() override
std::unique_ptr< LossDataSink > lossDs_m
virtual void getDimensions(double &zBegin, double &zEnd) const override
static std::map< double, SetStatistics > statFileEntries_sm
virtual void finalise() override
unsigned int numPassages_m
void operator=(const Monitor &)
virtual Plane getPlane() const =0
Get plane on which monitor observes.
virtual int getRequiredNumberOfTimeSteps() const override
static const double halfLength_s
virtual bool bends() const override
virtual ElementBase::ElementType getType() const override
Get element type std::string.
virtual bool apply(const size_t &i, const double &t, Vector_t &E, Vector_t &B) override
void setCollectionType(CollectionType type)
virtual bool isInside(const Vector_t &r) const override
A geometry representing a straight line.