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;
132 #endif // CLASSIC_Monitor_HH
static void writeStatistics()
A geometry representing a straight line.
virtual void getDimensions(double &zBegin, double &zEnd) const override
virtual int getRequiredNumberOfTimeSteps() const override
void driftToCorrectPositionAndSave(const Vector_t &R, const Vector_t &P)
PETE_TUTree< FnAbs, typename T::PETE_Expr_t > abs(const PETE_Expr< T > &l)
static std::map< double, SetStatistics > statFileEntries_sm
virtual StraightGeometry & getGeometry() override=0
Get geometry.
virtual bool isInside(const Vector_t &r) const override
void setCollectionType(CollectionType type)
virtual void goOffline() override
virtual void finalise() override
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 double getElementLength() const
Get design length.
Monitor is off (inactive).
std::unique_ptr< LossDataSink > lossDs_m
unsigned int numPassages_m
bool isInsideTransverse(const Vector_t &r) const
virtual bool applyToReferenceParticle(const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) override
static const double halfLength_s
virtual bool bends() const override
void operator=(const Monitor &)
Interface for a single beam element.
virtual void goOnline(const double &kineticEnergy) override
Monitor acts on both planes.
virtual void accept(BeamlineVisitor &) const override
Apply visitor to Monitor.
virtual void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override
virtual ElementType getType() const override
Get element type std::string.