OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Member Functions | Private Member Functions | Private Attributes | List of all members
CavityAutophaser Class Reference

#include <CavityAutophaser.h>

Collaboration diagram for CavityAutophaser:
Collaboration graph
[legend]

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 (Vector_t R, Vector_t P, double t, const double dt, const double phase, std::ofstream *out=NULL) const
 
double getEnergyMeV (const Vector_t &P)
 
double getMomentum (double kineticEnergyMeV)
 

Private Attributes

const PartDataitsReference_m
 
std::shared_ptr< ComponentitsCavity_m
 
Vector_t initialR_m
 
Vector_t initialP_m
 

Detailed Description

Definition at line 7 of file CavityAutophaser.h.

Constructor & Destructor Documentation

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

Definition at line 15 of file CavityAutophaser.cpp.

References initialR_m.

CavityAutophaser::~CavityAutophaser ( )

Definition at line 26 of file CavityAutophaser.cpp.

Member Function Documentation

double CavityAutophaser::getEnergyMeV ( const Vector_t P)
inlineprivate

Definition at line 43 of file CavityAutophaser.h.

References dot(), Physics::e, PartData::getM(), itsReference_m, and sqrt().

Referenced by guessCavityPhase().

Here is the call graph for this function:

double CavityAutophaser::getMomentum ( double  kineticEnergyMeV)
inlineprivate

Definition at line 48 of file CavityAutophaser.h.

References Physics::e, PartData::getM(), itsReference_m, pow(), and sqrt().

Here is the call graph for this function:

double CavityAutophaser::getPhaseAtMaxEnergy ( const Vector_t R,
const Vector_t P,
double  t,
double  dt 
)
double CavityAutophaser::guessCavityPhase ( double  t)
private
std::pair< double, double > CavityAutophaser::optimizeCavityPhase ( double  initialGuess,
double  t,
double  dt 
)
private
double CavityAutophaser::track ( Vector_t  R,
Vector_t  P,
double  t,
const double  dt,
const double  phase,
std::ofstream *  out = NULL 
) const
private

Member Data Documentation

Vector_t CavityAutophaser::initialP_m
private
Vector_t CavityAutophaser::initialR_m
private

Definition at line 37 of file CavityAutophaser.h.

Referenced by CavityAutophaser(), getPhaseAtMaxEnergy(), and optimizeCavityPhase().

std::shared_ptr<Component> CavityAutophaser::itsCavity_m
private
const PartData& CavityAutophaser::itsReference_m
private

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