|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <CavityAutophaser.h>
Public Member Functions | |
| CavityAutophaser (const PartData &ref, std::shared_ptr< Component > cavity) | |
| ~CavityAutophaser () | |
| double | getPhaseAtMaxEnergy (const Vector_t &R, const Vector_t &P, double t, double dt) |
Private Member Functions | |
| double | guessCavityPhase (double t) |
| std::pair< double, double > | optimizeCavityPhase (double initialGuess, double t, double dt) |
| double | track (double t, const double dt, const double phase, std::ofstream *out=nullptr) const |
Private Attributes | |
| const PartData & | itsReference_m |
| std::shared_ptr< Component > | itsCavity_m |
| Vector_t | initialR_m |
| Vector_t | initialP_m |
Definition at line 28 of file CavityAutophaser.h.
Definition at line 38 of file CavityAutophaser.cpp.
References initialR_m, itsCavity_m, and itsReference_m.
| CavityAutophaser::~CavityAutophaser | ( | ) |
Definition at line 48 of file CavityAutophaser.cpp.
| double CavityAutophaser::getPhaseAtMaxEnergy | ( | const Vector_t & | R, |
| const Vector_t & | P, | ||
| double | t, | ||
| double | dt ) |
Definition at line 52 of file CavityAutophaser.cpp.
References c, Physics::c, Util::combineFilePath(), dot(), endl(), euclidean_norm(), Units::eV2MeV, RFCavity::getAmplitudem(), RFCavity::getAutophaseVeto(), RFCavity::getDesignEnergy(), RFCavity::getFrequencym(), OpalData::getInstance(), Util::getKineticEnergy(), ElementBase::getName(), RFCavity::getPhasem(), guessCavityPhase(), INFOMSG, initialP_m, initialR_m, itsCavity_m, itsReference_m, level1(), optimizeCavityPhase(), Physics::pi, Units::rad2deg, RFCAVITY, Units::s2ns, Units::s2ps, RFCavity::setAmplitudem(), RFCavity::setAutophaseVeto(), OpalData::setMaxPhase(), RFCavity::setPhasem(), sqrt(), track(), TRAVELINGWAVE, and Physics::two_pi.
Referenced by OrbitThreader::autophaseCavities(), and ParallelTTracker::autophaseCavities().
|
private |
Definition at line 204 of file CavityAutophaser.cpp.
References Units::eV2MeV, RFCavity::getAutoPhaseEstimate(), RFCavity::getAutophaseVeto(), Util::getKineticEnergy(), RFCavity::getPhasem(), initialP_m, itsCavity_m, itsReference_m, and Physics::two_pi.
Referenced by getPhaseAtMaxEnergy().
|
private |
Definition at line 223 of file CavityAutophaser.cpp.
References Options::autoPhase, RFCavity::getAutophaseVeto(), RFCavity::getFrequencym(), RFCavity::getPhasem(), itsCavity_m, Physics::pi, track(), and Physics::two_pi.
Referenced by getPhaseAtMaxEnergy().
|
private |
Definition at line 292 of file CavityAutophaser.cpp.
References Units::eV2MeV, Util::getKineticEnergy(), RFCavity::getPhasem(), initialP_m, itsCavity_m, itsReference_m, RFCavity::setPhasem(), and RFCavity::trackOnAxisParticle().
Referenced by getPhaseAtMaxEnergy(), and optimizeCavityPhase().
|
private |
Definition at line 55 of file CavityAutophaser.h.
Referenced by getPhaseAtMaxEnergy(), guessCavityPhase(), and track().
|
private |
Definition at line 54 of file CavityAutophaser.h.
Referenced by CavityAutophaser(), and getPhaseAtMaxEnergy().
|
private |
Definition at line 52 of file CavityAutophaser.h.
Referenced by CavityAutophaser(), getPhaseAtMaxEnergy(), guessCavityPhase(), optimizeCavityPhase(), and track().
|
private |
Definition at line 51 of file CavityAutophaser.h.
Referenced by CavityAutophaser(), getPhaseAtMaxEnergy(), guessCavityPhase(), and track().