22 #ifndef CLASSIC_Vacuum_HH
23 #define CLASSIC_Vacuum_HH
28 #include <boost/bimap.hpp>
82 double& startField,
double& endField)
override;
88 virtual bool bends()
const override;
90 virtual void goOnline(
const double& kineticEnergy)
override;
96 virtual void getDimensions(
double& zBegin,
double& zEnd)
const override;
123 void initR(
double rmin,
double dr,
int nrad);
173 #endif // CLASSIC_Vacuum_HH
virtual void goOffline() override
virtual bool checkVacuum(PartBunchBase< double, 3 > *bunch, Cyclotron *cycl)
void initR(double rmin, double dr, int nrad)
void updateParticleAttributes()
ParticleMatterInteractionHandler * parmatint_m
void getPressureFromFile()
double minr_m
size limits took from cyclotron
double getTemperature() const
int idx(int irad, int ktet)
virtual void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override
ResidualGas gas_m
parameters for Vacuum
void setPressure(double pressure)
std::string getPressureMapFN() const
double pscale_m
stores the filename of the pressure map
virtual void accept(BeamlineVisitor &) const override
Apply visitor to Vacuum.
double checkPressure(const Vector_t &R)
void setPressureMapFN(std::string pmapfn)
virtual bool apply(const size_t &i, const double &t, Vector_t &E, Vector_t &B) override
virtual ElementType getType() const override
Get element type std::string.
void setTemperature(double temperature)
virtual bool bends() const override
bool checkPoint(const Vector_t &R)
double temperature_m
a scale factor for the P-field
void setPScale(double ps)
virtual void getDimensions(double &zBegin, double &zEnd) const override
virtual void finalise() override
double pressure_m
Type of gas for residual vacuum.
static const boost::bimap< ResidualGas, std::string > bmResidualGasString_s
void operator=(const Vacuum &)
std::vector< double > rarr_m
std::vector< double > pfld_m
Interface for a single beam element.
ResidualGas getResidualGas() const
std::string getResidualGasName()
virtual bool applyToReferenceParticle(const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) override
void setStop(bool stopflag)
void setResidualGas(std::string gas)
double getPressure() const
virtual void goOnline(const double &kineticEnergy) override