44 virtual Beam*
clone(
const std::string& name);
50 static Beam*
find(
const std::string& name);
112 void print(std::ostream& os)
const;
120 Beam(
const std::string& name,
Beam* parent);
std::ostream & operator<<(std::ostream &os, const Beam &b)
std::string getParticleName() const
Return Particle's name.
std::string getEmissionSourceListName() const
double getCurrent() const
Return the beam current in A (legacy; no longer used in OPALX)
void validatePolarization() const
void operator=(const Beam &)
double getChargePerParticle() const
Charge per macro particle in C.
bool hasPolarization() const
virtual void execute()
Check the BEAM data.
double getBunchCharge() const
Return the bunch charge in C.
double getMomentum() const
static Beam * find(const std::string &name)
Find named BEAM.
double getCharge() const
Return the charge number in elementary charge.
virtual Beam * clone(const std::string &name)
Make clone.
bool isPhoton() const
True if this beam is configured as a photon beam.
size_t getNumAlloc() const
Return the allocation size (macroparticles) for this beam.
double getFrequency() const
Return the beam frequency in MHz.
double getMassPerParticle() const
Mass per macro particle in GeV/c^2.
double getMass() const
Return Particle's rest mass in GeV.
virtual void update()
Update the BEAM data.
void print(std::ostream &os) const
Print the object.
Beam()
Exemplar constructor.
bool hasExplicitEnergy() const
True if PC, ENERGY, or GAMMA was explicitly provided by the user.
const PartData & getReference() const
Return the embedded OPALX PartData.
virtual bool canReplaceBy(Object *object)
Test if replacement is allowed.
std::string getDaughterBeamName() const
Return the name of the daughter beam (for decay products), or empty if not set.
std::vector< double > getPolarization() const
std::vector< std::string > getGlobalProcessNames() const
Return the configured global process names for this beam.
static const double energy_scale
The base class for all OPAL definitions.
The base class for all OPAL objects.