OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
The BEAM definition. More...
#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... | |
double | getEX () const |
Return emittance for mode 1. More... | |
double | getEY () const |
Return emittance for mode 2. More... | |
double | getET () const |
Return emittance for mode 3. More... | |
double | getGamma () const |
double | getPC () const |
size_t | getNumberOfParticles () |
Return the number of (macro)particles. More... | |
size_t | getNumberOfSlices () |
Return the number of slices. 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... | |
void | setEX (double) |
Store emittance for mode 1. More... | |
void | setEY (double) |
Store emittance for mode 2. More... | |
void | setET (double) |
Store emittance for mode 3. More... | |
virtual void | update () |
Update the BEAM data. More... | |
void | print (std::ostream &os) const |
Print the object. More... | |
![]() | |
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... | |
![]() | |
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 &) |
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 |
![]() | |
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 |
Static Private Attributes | |
static const double | energy_scale = 1.0e9 |
Additional Inherited Members | |
![]() | |
std::vector< Attribute > | itsAttr |
The object attributes (see Attribute.hh). More... | |
![]() | |
Definition (int size, const char *name, const char *help) | |
Constructor for exemplars. More... | |
Definition (const std::string &name, Definition *parent) | |
Constructor for clones. More... | |
![]() | |
Object (int size, const char *name, const char *help) | |
Constructor for exemplars. More... | |
Object (const std::string &name, Object *parent) | |
Constructor for clones. More... | |
![]() | |
RCObject () | |
Default constructor. More... | |
RCObject (const RCObject &) | |
Copy constructor. More... | |
virtual | ~RCObject ()=0 |
RCObject & | operator= (const RCObject &right) |
![]() | |
bool | builtin |
Built-in flag. More... | |
bool | modified |
Dirty flag. More... | |
bool | flagged |
Object flag. More... | |
Beam::Beam | ( | ) |
Exemplar constructor.
Definition at line 67 of file Beam.cpp.
References Object::builtin, clone(), OpalData::define(), Attrib::Distribution::ET, Attrib::Distribution::EX, Attrib::Distribution::EY, OpalData::getInstance(), Object::itsAttr, Attributes::makeReal(), Attributes::makeString(), Object::registerOwnership(), AttributeHandler::STATEMENT, and update().
Referenced by clone().
|
private |
|
private |
|
virtual |
|
virtual |
|
virtual |
|
static |
Find named BEAM.
Definition at line 150 of file Beam.cpp.
References OpalData::find(), and OpalData::getInstance().
Referenced by Dynamic::execute(), Static::execute(), TrackCmd::execute(), ThreadBpm::execute(), ThreadAll::execute(), Micado::execute(), MSplit::execute(), Twiss::execute(), Aperture::execute(), TrackRun::setupCyclotronTracker(), TrackRun::setupFieldsolver(), TrackRun::setupSliceTracker(), TrackRun::setupThickTracker(), and TrackRun::setupTTracker().
double Beam::getCharge | ( | ) | const |
Return the charge number in elementary charge.
Definition at line 193 of file Beam.cpp.
References Attributes::getReal(), and Object::itsAttr.
Referenced by Distribution::createOpalE(), TrackRun::setDistributionParallelT(), TrackRun::setupCyclotronTracker(), and TrackRun::setupSliceTracker().
double Beam::getCurrent | ( | ) | const |
Return the beam current in A.
Definition at line 189 of file Beam.cpp.
References Attributes::getReal(), and Object::itsAttr.
Referenced by Distribution::createOpalE(), TrackRun::setDistributionParallelT(), TrackRun::setupCyclotronTracker(), and TrackRun::setupSliceTracker().
double Beam::getET | ( | ) | const |
Return emittance for mode 3.
Definition at line 178 of file Beam.cpp.
References Attrib::Distribution::ET, Attributes::getReal(), and Object::itsAttr.
Referenced by Twiss::getET().
double Beam::getEX | ( | ) | const |
Return emittance for mode 1.
Definition at line 168 of file Beam.cpp.
References Attrib::Distribution::EX, Attributes::getReal(), and Object::itsAttr.
Referenced by Twiss::getEX().
double Beam::getEY | ( | ) | const |
Return emittance for mode 2.
Definition at line 173 of file Beam.cpp.
References Attrib::Distribution::EY, Attributes::getReal(), and Object::itsAttr.
Referenced by Twiss::getEY().
double Beam::getFrequency | ( | ) | const |
Return the beam frequency in MHz.
Definition at line 205 of file Beam.cpp.
References Attributes::getReal(), and Object::itsAttr.
Referenced by TrackRun::setDistributionParallelT(), TrackRun::setupCyclotronTracker(), TrackRun::setupSliceTracker(), and TrackRun::setupTTracker().
double Beam::getGamma | ( | ) | const |
Definition at line 298 of file Beam.cpp.
References Attributes::getReal(), and Object::itsAttr.
Referenced by Distribution::createOpalE().
double Beam::getMass | ( | ) | const |
Return Particle's rest mass in GeV.
Definition at line 197 of file Beam.cpp.
References Attributes::getReal(), and Object::itsAttr.
Referenced by Distribution::createOpalE(), and TrackRun::setupCyclotronTracker().
size_t Beam::getNumberOfParticles | ( | ) |
Return the number of (macro)particles.
Definition at line 160 of file Beam.cpp.
References Attributes::getReal(), and Object::itsAttr.
Referenced by TrackRun::setDistributionParallelT(), TrackRun::setupCyclotronTracker(), TrackRun::setupFieldsolver(), and TrackRun::setupSliceTracker().
size_t Beam::getNumberOfSlices | ( | ) |
Return the number of slices.
Definition at line 164 of file Beam.cpp.
References Attributes::getReal(), and Object::itsAttr.
Referenced by Distribution::createOpalE(), and TrackCmd::execute().
std::string Beam::getParticleName | ( | ) | const |
Return Particle's name.
Definition at line 201 of file Beam.cpp.
References Attributes::getString(), and Object::itsAttr.
double Beam::getPC | ( | ) | const |
Definition at line 303 of file Beam.cpp.
References Attributes::getReal(), and Object::itsAttr.
const PartData & Beam::getReference | ( | ) | const |
Return the embedded CLASSIC PartData.
Definition at line 183 of file Beam.cpp.
References reference, and update().
Referenced by Aperture::calcul_Apert(), Dynamic::execute(), Static::execute(), TrackCmd::execute(), ThreadBpm::execute(), ThreadAll::execute(), Micado::execute(), Twiss::execute(), MSplit::visitMultipole(), Aperture::visitMultipole(), MSplit::visitRBend(), Aperture::visitRBend(), MSplit::visitSBend(), and Aperture::visitSBend().
|
private |
|
virtual |
Print the object.
Reimplemented from Object.
Definition at line 308 of file Beam.cpp.
References abs(), endl(), Object::getOpalName(), Attributes::getReal(), Attributes::getString(), and Object::itsAttr.
Referenced by operator<<().
void Beam::setET | ( | double | value | ) |
Store emittance for mode 3.
Definition at line 219 of file Beam.cpp.
References Attrib::Distribution::ET, Object::itsAttr, and Attributes::setReal().
void Beam::setEX | ( | double | value | ) |
Store emittance for mode 1.
Definition at line 209 of file Beam.cpp.
References Attrib::Distribution::EX, Object::itsAttr, and Attributes::setReal().
void Beam::setEY | ( | double | value | ) |
Store emittance for mode 2.
Definition at line 214 of file Beam.cpp.
References Attrib::Distribution::EY, Object::itsAttr, and Attributes::setReal().
|
virtual |
Update the BEAM data.
Reimplemented from Object.
Definition at line 224 of file Beam.cpp.
References energy_scale, PartData::getM(), Object::getOpalName(), Attributes::getReal(), Attributes::getString(), Object::itsAttr, Physics::m_c, Physics::m_d, Physics::m_e, Physics::m_h2p, Physics::m_hm, Physics::m_mu, Physics::m_p, Physics::m_u, Physics::m_xe, reference, PartData::setE(), PartData::setGamma(), Object::setOpalName(), PartData::setP(), and Attributes::setReal().
Referenced by Beam(), execute(), and getReference().
|
staticprivate |
|
private |
Definition at line 120 of file Beam.h.
Referenced by getReference(), and update().