|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <Beam.h>


Public Member Functions | |
| Beam () | |
| Exemplar constructor. | |
| virtual | ~Beam () |
| virtual bool | canReplaceBy (Object *object) |
| Test if replacement is allowed. | |
| virtual Beam * | clone (const std::string &name) |
| Make clone. | |
| virtual void | execute () |
| Check the BEAM data. | |
| size_t | getNumberOfParticles () const |
| Return the number of (macro)particles. | |
| const PartData & | getReference () const |
| Return the embedded CLASSIC PartData. | |
| double | getCurrent () const |
| Return the beam current in A. | |
| double | getCharge () const |
| Return the charge number in elementary charge. | |
| double | getFrequency () const |
| Return the beam frequency in MHz. | |
| std::string | getParticleName () const |
| Return Particle's name. | |
| double | getMass () const |
| Return Particle's rest mass in GeV. | |
| double | getChargePerParticle () const |
| Charge per macro particle in C. | |
| double | getMassPerParticle () const |
| Mass per macro particle in GeV/c^2. | |
| virtual void | update () |
| Update the BEAM data. | |
| void | print (std::ostream &os) const |
| Print the object. | |
Public Member Functions inherited from Definition | |
| virtual | ~Definition () |
| virtual const std::string | getCategory () const |
| Return the object category as a string. | |
| virtual bool | shouldTrace () const |
| Trace flag. | |
| virtual bool | shouldUpdate () const |
| Update flag. | |
Public Member Functions inherited from Object | |
| virtual | ~Object () |
| void | copyAttributes (const Object &) |
| Copy attributes from another object. | |
| virtual Attribute * | findAttribute (const std::string &name) |
| Find an attribute by name. | |
| virtual const Attribute * | findAttribute (const std::string &name) const |
| Find an attribute by name. | |
| virtual Object * | makeTemplate (const std::string &, TokenStream &, Statement &) |
| Macro handler function. | |
| virtual Object * | makeInstance (const std::string &name, Statement &, const Parser *) |
| Macro handler function. | |
| virtual void | parse (Statement &) |
| Parse the object. | |
| virtual void | parseShortcut (Statement &, bool eval=true) |
| Parser for single-attribute commands. | |
| virtual void | printValue (std::ostream &) const |
| virtual void | printHelp (std::ostream &) const |
| Print help. | |
| virtual void | replace (Object *oldObject, Object *newObject) |
| Replace references. | |
| bool | isBuiltin () const |
| True, if [b]this[/b] is a built-in object. | |
| virtual bool | isShared () const |
| Shared flag. | |
| virtual void | setShared (bool) |
| Set/reset shared flag. | |
| void | setDirty (bool) |
| Set/reset the [b]modified[/b] flag. | |
| bool | isDirty () const |
| True, if the [b]modified[/b] flag is set. | |
| void | setFlag (bool) |
| Flag/unflag this object, e. g. to control output of objects for. | |
| bool | isFlagged () const |
| True, if [b]this[/b] is flagged by setFlag(true). | |
| const Object * | getBaseObject () const |
| Return the object's base type object. | |
| const std::string & | getOpalName () const |
| Return object name. | |
| Object * | getParent () const |
| Return parent pointer. | |
| bool | isTreeMember (const Object *subTree) const |
| Test for tree membership. | |
| void | setOpalName (const std::string &name) |
| Set object name. | |
| void | setParent (Object *) |
| Set parent object. | |
| void | clear () |
| Clear the occurrence counter. | |
| int | increment () |
| Increment and return the occurrence counter. | |
| int | occurrenceCount () |
| Return the occurrence counter. | |
| void | registerReference (Invalidator *a) |
| Register a reference to this object. | |
| void | unregisterReference (Invalidator *a) |
| Unegister a reference to this object. | |
| void | registerOwnership (const AttributeHandler::OwnerType &itsClass) const |
Public Member Functions inherited from RCObject | |
| int | addReference () const |
| Increment reference count. | |
| int | removeReference () const |
| Decrement the reference count. | |
| bool | isShared () const |
| Test for sharing. | |
Static Public Member Functions | |
| static Beam * | find (const std::string &name) |
| Find named BEAM. | |
Private Member Functions | |
| Beam (const Beam &) | |
| void | operator= (const Beam &) |
| Beam (const std::string &name, Beam *parent) | |
Private Attributes | |
| PartData | reference |
Additional Inherited Members | |
Public Attributes inherited from Object | |
| std::vector< Attribute > | itsAttr |
| The object attributes. | |
Protected Member Functions inherited from Definition | |
| Definition (int size, const char *name, const char *help) | |
| Constructor for exemplars. | |
| Definition (const std::string &name, Definition *parent) | |
| Constructor for clones. | |
Protected Member Functions inherited from Object | |
| Object (int size, const char *name, const char *help) | |
| Constructor for exemplars. | |
| Object (const std::string &name, Object *parent) | |
| Constructor for clones. | |
Protected Member Functions inherited from RCObject | |
| RCObject () | |
| Default constructor. | |
| RCObject (const RCObject &) | |
| Copy constructor. | |
| virtual | ~RCObject ()=0 |
| RCObject & | operator= (const RCObject &right) |
Protected Attributes inherited from Object | |
| bool | builtin |
| Built-in flag. | |
| bool | modified |
| Dirty flag. | |
| bool | flagged |
| Object flag. | |
| Beam::Beam | ( | ) |
Exemplar constructor.
Definition at line 55 of file Beam.cpp.
References Object::builtin, clone(), OpalData::define(), OpalData::getInstance(), Object::itsAttr, Attributes::makePredefinedString(), Attributes::makeReal(), Object::registerOwnership(), AttributeHandler::STATEMENT, and update().
Referenced by clone().

|
private |
|
private |
|
virtual |
|
virtual |
|
virtual |
Check the BEAM data.
Reimplemented from Object.
Definition at line 142 of file Beam.cpp.
References Object::itsAttr, and update().

|
static |
Find named BEAM.
Definition at line 163 of file Beam.cpp.
References OpalData::find(), OpalData::getInstance(), and name.
Referenced by TrackCmd::execute(), TrackRun::setupCyclotronTracker(), TrackRun::setupFieldsolver(), TrackRun::setupThickTracker(), and TrackRun::setupTTracker().

| double Beam::getCharge | ( | ) | const |
Return the charge number in elementary charge.
Definition at line 192 of file Beam.cpp.
References Attributes::getReal(), and Object::itsAttr.
Referenced by getChargePerParticle(), getMassPerParticle(), TrackRun::setupCyclotronTracker(), and update().

| double Beam::getChargePerParticle | ( | ) | const |
Charge per macro particle in C.
Definition at line 208 of file Beam.cpp.
References getCharge(), getCurrent(), getFrequency(), getNumberOfParticles(), and Units::MHz2Hz.
Referenced by getMassPerParticle(), TrackRun::setDistributionParallelT(), and TrackRun::setupCyclotronTracker().

| double Beam::getCurrent | ( | ) | const |
Return the beam current in A.
Definition at line 188 of file Beam.cpp.
References Attributes::getReal(), and Object::itsAttr.
Referenced by getChargePerParticle(), and TrackRun::setupCyclotronTracker().

| double Beam::getFrequency | ( | ) | const |
Return the beam frequency in MHz.
Definition at line 204 of file Beam.cpp.
References Attributes::getReal(), and Object::itsAttr.
Referenced by getChargePerParticle(), TrackRun::setupCyclotronTracker(), and TrackRun::setupTTracker().

| double Beam::getMass | ( | ) | const |
Return Particle's rest mass in GeV.
Definition at line 196 of file Beam.cpp.
References Attributes::getReal(), and Object::itsAttr.
Referenced by getMassPerParticle(), TrackRun::setupCyclotronTracker(), and update().

| double Beam::getMassPerParticle | ( | ) | const |
Mass per macro particle in GeV/c^2.
Definition at line 214 of file Beam.cpp.
References getCharge(), getChargePerParticle(), getMass(), and Physics::q_e.
Referenced by TrackRun::setupCyclotronTracker(), and TrackRun::setupTTracker().

| size_t Beam::getNumberOfParticles | ( | ) | const |
Return the number of (macro)particles.
Definition at line 173 of file Beam.cpp.
References Attributes::getReal(), and Object::itsAttr.
Referenced by getChargePerParticle(), TrackRun::setDistributionParallelT(), TrackRun::setupCyclotronTracker(), and TrackRun::setupFieldsolver().

| std::string Beam::getParticleName | ( | ) | const |
Return Particle's name.
Definition at line 200 of file Beam.cpp.
References Attributes::getString(), and Object::itsAttr.
Referenced by TrackRun::setupCyclotronTracker(), TrackRun::setupTTracker(), and update().

| const PartData & Beam::getReference | ( | ) | const |
|
private |
|
virtual |
Print the object.
Reimplemented from Object.
Definition at line 267 of file Beam.cpp.
References Object::getOpalName(), PartData::getP(), Attributes::getReal(), Attributes::getString(), Object::itsAttr, and reference.
Referenced by operator<<().

|
virtual |
Update the BEAM data.
Reimplemented from Object.
Definition at line 218 of file Beam.cpp.
References getCharge(), PartData::getM(), getMass(), Object::getOpalName(), ParticleProperties::getParticleCharge(), ParticleProperties::getParticleMass(), getParticleName(), ParticleProperties::getParticleType(), Attributes::getReal(), Units::GeV2eV, Object::itsAttr, Physics::m_p, reference, PartData::setE(), PartData::setGamma(), PartData::setMomentumTolerance(), Object::setOpalName(), PartData::setP(), and Attributes::setReal().
Referenced by Beam(), execute(), and getReference().

|
private |
Definition at line 93 of file Beam.h.
Referenced by getReference(), print(), and update().