OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
CavityAutophaser Class Reference

#include <CavityAutophaser.h>

Collaboration diagram for CavityAutophaser:
Collaboration graph

Public Member Functions

 CavityAutophaser (const PartData &ref, std::shared_ptr< Component > cavity)
 
 ~CavityAutophaser ()
 
double getPhaseAtMaxEnergy (const Vector_t< double, 3 > &R, const Vector_t< double, 3 > &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 PartDataitsReference_m
 
std::shared_ptr< ComponentitsCavity_m
 
Vector_t< double, 3 > initialR_m
 
Vector_t< double, 3 > initialP_m
 

Detailed Description

Definition at line 28 of file CavityAutophaser.h.

Constructor & Destructor Documentation

◆ CavityAutophaser()

CavityAutophaser::CavityAutophaser ( const PartData ref,
std::shared_ptr< Component cavity 
)

Definition at line 41 of file CavityAutophaser.cpp.

References initialR_m.

◆ ~CavityAutophaser()

CavityAutophaser::~CavityAutophaser ( )

Definition at line 48 of file CavityAutophaser.cpp.

Member Function Documentation

◆ getPhaseAtMaxEnergy()

◆ guessCavityPhase()

double CavityAutophaser::guessCavityPhase ( double  t)
private

◆ optimizeCavityPhase()

std::pair< double, double > CavityAutophaser::optimizeCavityPhase ( double  initialGuess,
double  t,
double  dt 
)
private

Definition at line 226 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().

Here is the call graph for this function:

◆ track()

double CavityAutophaser::track ( double  t,
const double  dt,
const double  phase,
std::ofstream *  out = nullptr 
) const
private

Member Data Documentation

◆ initialP_m

Vector_t<double, 3> CavityAutophaser::initialP_m
private

Definition at line 47 of file CavityAutophaser.h.

Referenced by getPhaseAtMaxEnergy(), guessCavityPhase(), and track().

◆ initialR_m

Vector_t<double, 3> CavityAutophaser::initialR_m
private

Definition at line 46 of file CavityAutophaser.h.

Referenced by CavityAutophaser(), and getPhaseAtMaxEnergy().

◆ itsCavity_m

std::shared_ptr<Component> CavityAutophaser::itsCavity_m
private

◆ itsReference_m

const PartData& CavityAutophaser::itsReference_m
private

Definition at line 43 of file CavityAutophaser.h.

Referenced by getPhaseAtMaxEnergy(), guessCavityPhase(), and track().


The documentation for this class was generated from the following files: