18#ifndef CLASSIC_Monitor_HH
19#define CLASSIC_Monitor_HH
46 explicit Monitor(
const std::string& name);
79 virtual bool bends()
const override;
81 virtual void goOnline(
const double& kineticEnergy)
override;
87 virtual void getDimensions(
double& zBegin,
double& zEnd)
const override;
PartBunch< PLayout_t< double, 3 >, double, 3 > PartBunch_t
ippl::Vector< T, Dim > Vector_t
Component(const std::string &name)
Constructor with given name.
virtual double getElementLength() const
Get design length.
bool isInsideTransverse(const Vector_t< double, 3 > &r) const
static void writeStatistics()
virtual void accept(BeamlineVisitor &) const override
Apply visitor to Monitor.
virtual void goOnline(const double &kineticEnergy) 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 ElementType getType() const override
Get element type std::string.
virtual bool isInside(const Vector_t< double, 3 > &r) const override
virtual void goOffline() override
std::unique_ptr< LossDataSink > lossDs_m
virtual void getDimensions(double &zBegin, double &zEnd) const override
Monitor(const std::string &name)
Constructor with given name.
static std::map< double, SetStatistics > statFileEntries_sm
virtual void finalise() override
unsigned int numPassages_m
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
virtual void initialise(PartBunch_t *bunch, double &startField, double &endField) override
virtual bool apply(const size_t &i, const double &t, Vector_t< double, 3 > &E, Vector_t< double, 3 > &B) override
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 const StraightGeometry & getGeometry() const override=0
Get geometry. Version for const object.
void driftToCorrectPositionAndSave(const Vector_t< double, 3 > &R, const Vector_t< double, 3 > &P)
virtual bool bends() const override
virtual StraightGeometry & getGeometry() override=0
Get geometry.
void setCollectionType(CollectionType type)
A geometry representing a straight line.