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


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

|
private |
|
private |
|
virtual |
|
virtual |
|
virtual |
|
static |
Find named BEAM.
Definition at line 163 of file Beam.cpp.
References OpalData::find(), and OpalData::getInstance().
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 CHARGE, 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 copysign(), 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 |
|
virtual |
Print the object.
Reimplemented from Object.
Definition at line 267 of file Beam.cpp.
References abs(), CHARGE, endl(), 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 CHARGE, 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().
1.8.5