OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
RFCavity.h
Go to the documentation of this file.
1 #ifndef CLASSIC_RFCavity_HH
2 #define CLASSIC_RFCavity_HH
3 
4 // ------------------------------------------------------------------------
5 // $RCSfile: RFCavity.h,v $
6 // ------------------------------------------------------------------------
7 // $Revision: 1.1.1.1 $
8 // ------------------------------------------------------------------------
9 // Copyright: see Copyright.readme
10 // ------------------------------------------------------------------------
11 //
12 // Class: RFCavity
13 // Defines the abstract interface for an accelerating structure.
14 //
15 // ------------------------------------------------------------------------
16 // Class category: AbsBeamline
17 // ------------------------------------------------------------------------
18 //
19 // $Date: 2000/03/27 09:32:31 $
20 // $Author: fci $
21 //
22 // ------------------------------------------------------------------------
23 
24 
25 #include "AbsBeamline/Component.h"
27 #include "Physics/Physics.h"
28 
29 class Fieldmap;
30 
31 // Class RFCavity
32 // ------------------------------------------------------------------------
34 // Class RFCavity defines the abstract interface for RF cavities.
35 
36 
37 class RFCavity: public Component {
38 
39 public:
40 
41  enum CavityType { SW, SGSW };
43  explicit RFCavity(const std::string &name);
44 
45  RFCavity();
46  RFCavity(const RFCavity &);
47  virtual ~RFCavity();
48 
50  virtual void accept(BeamlineVisitor &) const override;
51 
53  virtual double getAmplitude() const = 0;
54 
56  virtual double getFrequency() const = 0;
57 
59  virtual double getPhase() const = 0;
60 
61  void dropFieldmaps();
62 
64  virtual void setFieldMapFN(std::string fmapfn);
65 
66  virtual std::string getFieldMapFN() const;
67 
68  virtual void setAmplitudem(double vPeak);
69  virtual double getAmplitudem() const;
70  virtual void setAmplitudeError(double vPeakError);
71  virtual double getAmplitudeError() const;
72 
73  virtual void setFrequencym(double freq);
74 
75  void setFrequency(double freq);
76 
77  virtual double getFrequencym() const ;
78 
79  virtual void setPhasem(double phase);
80 
81  virtual double getPhasem() const;
82  double getPhasem(double t) const;
83 
84  virtual void setPhaseError(double phaseError);
85  virtual double getPhaseError() const;
86 
87  void setCavityType(std::string type);
88 
89  std::string getCavityType() const;
90 
91  virtual void setFast(bool fast);
92 
93  virtual bool getFast() const;
94 
95  virtual void setAutophaseVeto(bool veto = true);
96 
97  virtual bool getAutophaseVeto() const;
98 
99  virtual double getAutoPhaseEstimate(const double & E0, const double & t0, const double & q, const double & m);
100  virtual double getAutoPhaseEstimateFallback(double E0, double t0, double q, double m);
101 
102  virtual std::pair<double, double> trackOnAxisParticle(const double & p0,
103  const double & t0,
104  const double & dt,
105  const double & q,
106  const double & mass,
107  std::ofstream *out = NULL);
108 
109  virtual void addKR(int i, double t, Vector_t &K) override;
110 
111  virtual void addKT(int i, double t, Vector_t &K) override;
112 
113  virtual bool apply(const size_t &i,
114  const double &t,
115  Vector_t &E,
116  Vector_t &B) override;
117 
118  virtual bool apply(const Vector_t &R,
119  const Vector_t &P,
120  const double &t,
121  Vector_t &E,
122  Vector_t &B) override;
123 
124  virtual bool applyToReferenceParticle(const Vector_t &R,
125  const Vector_t &P,
126  const double &t,
127  Vector_t &E,
128  Vector_t &B) override;
129 
130  virtual void initialise(PartBunchBase<double, 3> *bunch, double &startField, double &endField) override;
131 
132  virtual void initialise(PartBunchBase<double, 3> *bunch,
133  std::shared_ptr<AbstractTimeDependence> freq_atd,
134  std::shared_ptr<AbstractTimeDependence> ampl_atd,
135  std::shared_ptr<AbstractTimeDependence> phase_atd);
136 
137  virtual void finalise() override;
138 
139  virtual bool bends() const override;
140 
141  virtual void goOnline(const double &kineticEnergy) override;
142 
143  virtual void goOffline() override;
144 
145  virtual void setDesignEnergy(const double& ekin, bool changeable = true) override;
146  virtual double getDesignEnergy() const override;
147 
148  void setRmin(double rmin);
149 
150  void setRmax(double rmax);
151 
152  void setAzimuth(double angle);
153 
154  void setPerpenDistance(double pdis);
155 
156  void setGapWidth(double gapwidth);
157 
158  void setPhi0(double phi0);
159 
160  virtual double getRmin() const;
161 
162  virtual double getRmax() const;
163 
164  virtual double getAzimuth() const;
165 
166  virtual double getCosAzimuth() const;
167 
168  virtual double getSinAzimuth() const;
169 
170  virtual double getPerpenDistance() const;
171 
172  virtual double getGapWidth() const;
173 
174  virtual double getPhi0() const;
175 
176  virtual void setComponentType(std::string name) override;
177 
178  virtual std::string getComponentType()const override;
179 
180  virtual double getCycFrequency()const;
181 
182  void getMomentaKick(const double normalRadius, double momentum[], const double t, const double dtCorrt, const int PID, const double restMass,const int chargenumber);
183 
184  double spline(double z, double *za);
185 
186  virtual ElementBase::ElementType getType() const override;
187 
188  virtual void getDimensions(double &zBegin, double &zEnd) const override;
189 
190  virtual bool isInside(const Vector_t &r) const override;
191 
192  void setAmplitudeModel(std::shared_ptr<AbstractTimeDependence> time_dep);
193  void setAmplitudeModelName(std::string name);
194  std::string getAmplitudeModelName();
195 
196  void setPhaseModel(std::shared_ptr<AbstractTimeDependence> time_dep);
197  void setPhaseModelName(std::string name);
198  std::string getPhaseModelName();
199 
200  void setFrequencyModel(std::shared_ptr<AbstractTimeDependence> time_dep);
201  void setFrequencyModelName(std::string name);
202  std::string getFrequencyModelName();
203 
204  virtual double getElementLength() const override;
205  virtual void getElementDimensions(double &begin,
206  double &end) const override;
207 
208  virtual CoordinateSystemTrafo getEdgeToBegin() const override;
209  virtual CoordinateSystemTrafo getEdgeToEnd() const override;
210 
211 protected:
212  std::shared_ptr<AbstractTimeDependence> phase_td_m;
213  std::string phase_name_m;
214  std::shared_ptr<AbstractTimeDependence> amplitude_td_m;
215  std::string amplitude_name_m;
216  std::shared_ptr<AbstractTimeDependence> frequency_td_m;
217  std::string frequency_name_m;
218 
219  std::string filename_m;
221  double scale_m;
222  double scaleError_m;
223  double phase_m;
224  double phaseError_m;
225  double frequency_m;
227  bool fast_m;
229 
231 private:
233  double startField_m;
234  double endField_m;
235  double length_m;
236 
238 
239  double rmin_m;
240  double rmax_m;
241  double angle_m;
242  double sinAngle_m;
243  double cosAngle_m;
244  double pdis_m;
245  double gapwidth_m;
246  double phi0_m;
247 
248  std::unique_ptr<double[]> RNormal_m;
249  std::unique_ptr<double[]> VrNormal_m;
250  std::unique_ptr<double[]> DvDr_m;
252 
253  double getdE(const int & i,
254  const std::vector<double> & t,
255  const double & dz,
256  const double & phi,
257  const double & frequency,
258  const std::vector<double> & F) const;
259 
260  double getdT(const int & i,
261  const std::vector<double> & E,
262  const double & dz,
263  const double mass) const;
264 
265  double getdA(const int & i,
266  const std::vector<double> & t,
267  const double & dz,
268  const double & frequency,
269  const std::vector<double> & F) const;
270 
271  double getdB(const int & i,
272  const std::vector<double> & t,
273  const double & dz,
274  const double & frequency,
275  const std::vector<double> & F) const;
276 
277  // Not implemented.
278  void operator=(const RFCavity &);
279 };
280 
281 inline
282 double RFCavity::getdE(const int & i,
283  const std::vector<double> & t,
284  const double & dz,
285  const double & phi,
286  const double & frequency,
287  const std::vector<double> & F) const {
288  return dz / (frequency * frequency * (t[i] - t[i-1]) * (t[i] - t[i-1])) *
289  (frequency * (t[i] - t[i-1]) * (F[i] * sin(frequency * t[i] + phi) - F[i-1] * sin(frequency * t[i-1] + phi)) +
290  (F[i] - F[i-1]) * (cos(frequency * t[i] + phi) - cos(frequency * t[i-1] + phi)));
291 }
292 
293 inline
294 double RFCavity::getdT(const int & i,
295  const std::vector<double> & E,
296  const double & dz,
297  const double mass) const {
298  double gamma1 = 1. + (19. * E[i-1] + 1. * E[i]) / (20. * mass);
299  double gamma2 = 1. + (17. * E[i-1] + 3. * E[i]) / (20. * mass);
300  double gamma3 = 1. + (15. * E[i-1] + 5. * E[i]) / (20. * mass);
301  double gamma4 = 1. + (13. * E[i-1] + 7. * E[i]) / (20. * mass);
302  double gamma5 = 1. + (11. * E[i-1] + 9. * E[i]) / (20. * mass);
303  double gamma6 = 1. + (9. * E[i-1] + 11. * E[i]) / (20. * mass);
304  double gamma7 = 1. + (7. * E[i-1] + 13. * E[i]) / (20. * mass);
305  double gamma8 = 1. + (5. * E[i-1] + 15. * E[i]) / (20. * mass);
306  double gamma9 = 1. + (3. * E[i-1] + 17. * E[i]) / (20. * mass);
307  double gamma10 = 1. + (1. * E[i-1] + 19. * E[i]) / (20. * mass);
308  return dz *
309  (1. / sqrt(1. - 1. / (gamma1 * gamma1)) +
310  1. / sqrt(1. - 1. / (gamma2 * gamma2)) +
311  1. / sqrt(1. - 1. / (gamma3 * gamma3)) +
312  1. / sqrt(1. - 1. / (gamma4 * gamma4)) +
313  1. / sqrt(1. - 1. / (gamma5 * gamma5)) +
314  1. / sqrt(1. - 1. / (gamma6 * gamma6)) +
315  1. / sqrt(1. - 1. / (gamma7 * gamma7)) +
316  1. / sqrt(1. - 1. / (gamma8 * gamma8)) +
317  1. / sqrt(1. - 1. / (gamma9 * gamma9)) +
318  1. / sqrt(1. - 1. / (gamma10 * gamma10))) / (10. * Physics::c);
319 }
320 
321 inline
322 double RFCavity::getdA(const int & i,
323  const std::vector<double> & t,
324  const double & dz,
325  const double & frequency,
326  const std::vector<double> & F) const {
327  double dt = t[i] - t[i-1];
328  return dz / (frequency * frequency * dt * dt) *
329  (frequency * dt * (F[i] * cos(frequency * t[i]) - F[i-1] * cos(frequency * t[i-1])) -
330  (F[i] - F[i-1]) * (sin(frequency * t[i]) - sin(frequency * t[i-1])));
331 }
332 
333 inline
334 double RFCavity::getdB(const int & i,
335  const std::vector<double> & t,
336  const double & dz,
337  const double & frequency,
338  const std::vector<double> & F) const {
339  double dt = t[i] - t[i-1];
340  return dz / (frequency * frequency * dt * dt) *
341  (frequency * dt * (F[i] * sin(frequency * t[i]) - F[i-1] * sin(frequency * t[i-1])) +
342  (F[i] - F[i-1]) * (cos(frequency * t[i]) - cos(frequency * t[i-1])));
343 }
344 
345 inline
346 void RFCavity::setDesignEnergy(const double& ekin, bool)
347 {
348  designEnergy_m = ekin;
349 }
350 
351 inline
353 {
354  return designEnergy_m;
355 }
356 
357 inline
359  fieldmap_m = NULL;
360 }
361 
362 inline
363 void RFCavity::setFieldMapFN(std::string fn) {
364  filename_m = fn;
365 }
366 
367 inline
368 std::string RFCavity::getFieldMapFN() const {
369  return filename_m;
370 }
371 
372 inline
373 void RFCavity::setAmplitudem(double vPeak) {
374  scale_m = vPeak;
375 }
376 
377 inline
378 double RFCavity::getAmplitudem() const {
379  return scale_m;
380 }
381 
382 inline
383 void RFCavity::setAmplitudeError(double vPeakError) {
384  scaleError_m = vPeakError;
385 }
386 
387 inline
389  return scaleError_m;
390 }
391 
392 inline
393 void RFCavity::setFrequency(double freq) {
394  frequency_m = freq;
395 }
396 
397 inline
398 void RFCavity::setFrequencym(double freq) {
399  frequency_m = freq;
400 }
401 
402 inline
403 double RFCavity::getFrequencym() const {
404  return frequency_m;
405 }
406 
407 inline
408 void RFCavity::setPhasem(double phase) {
409  phase_m = phase;
410 }
411 
412 inline
413 double RFCavity::getPhasem() const {
414  return phase_m;
415 }
416 
417 inline
418 double RFCavity::getPhasem(double t) const {
419  return phase_m + t * frequency_m;
420 }
421 
422 inline
423 void RFCavity::setPhaseError(double phaseError) {
424  phaseError_m = phaseError;
425 }
426 
427 inline
428 double RFCavity::getPhaseError() const {
429  return phaseError_m;
430 }
431 
432 inline
433 void RFCavity::setCavityType(std::string type) {
434 
435 }
436 
437 inline
438 std::string RFCavity::getCavityType() const {
439  return "SW";
440 }
441 
442 inline
443 void RFCavity::setFast(bool fast) {
444  fast_m = fast;
445 }
446 
447 inline
448 bool RFCavity::getFast() const {
449  return fast_m;
450 }
451 
452 inline
453 void RFCavity::setAutophaseVeto(bool veto) {
454  autophaseVeto_m = veto;
455 }
456 
457 inline
459  return autophaseVeto_m;
460 }
461 
462 inline
463 void RFCavity::setAmplitudeModel(std::shared_ptr<AbstractTimeDependence> amplitude_td) {
464  amplitude_td_m = amplitude_td;
465 }
466 
467 inline
470 }
471 
472 inline
474  return amplitude_name_m;
475 }
476 
477 inline
478 void RFCavity::setPhaseModel(std::shared_ptr<AbstractTimeDependence> phase_td) {
479  phase_td_m = phase_td;
480 }
481 
482 inline
485 }
486 
487 inline
489  return phase_name_m;
490 }
491 
492 inline
493 void RFCavity::setFrequencyModel(std::shared_ptr<AbstractTimeDependence> frequency_td) {
494  frequency_td_m = frequency_td;
495 }
496 
497 inline
500 }
501 
502 inline
504  return frequency_name_m;
505 }
506 
507 
508 inline
510 {
512  Quaternion(1, 0, 0, 0));
513 
514  return ret;
515 }
516 
517 inline
519 {
521  Quaternion(1, 0, 0, 0));
522 
523  return ret;
524 }
525 
526 
527 #endif // CLASSIC_RFCavity_HH
virtual std::string getFieldMapFN() const
Definition: RFCavity.h:368
virtual ~RFCavity()
Definition: RFCavity.cpp:124
virtual void setAmplitudeError(double vPeakError)
Definition: RFCavity.h:383
double scale_m
Definition: RFCavity.h:221
double scaleError_m
Definition: RFCavity.h:222
CavityType
Definition: RFCavity.h:41
double rmax_m
Definition: RFCavity.h:240
virtual void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override
Definition: RFCavity.cpp:252
virtual void addKR(int i, double t, Vector_t &K) override
Definition: RFCavity.cpp:143
double length_m
Definition: RFCavity.h:235
void setRmin(double rmin)
Definition: RFCavity.cpp:359
virtual ElementBase::ElementType getType() const override
Get element type std::string.
Definition: RFCavity.cpp:585
void dropFieldmaps()
Definition: RFCavity.h:358
virtual double getAmplitude() const =0
Get RF amplitude.
Definition: TSVMeta.h:24
virtual bool getFast() const
Definition: RFCavity.h:448
void setPhaseModelName(std::string name)
Definition: RFCavity.h:483
virtual void goOffline() override
Definition: RFCavity.cpp:353
virtual double getPhase() const =0
Get RF phase.
Tps< T > sin(const Tps< T > &x)
Sine.
Definition: TpsMath.h:111
virtual double getAmplitudem() const
Definition: RFCavity.h:378
double spline(double z, double *za)
Definition: RFCavity.cpp:519
double getdB(const int &i, const std::vector< double > &t, const double &dz, const double &frequency, const std::vector< double > &F) const
Definition: RFCavity.h:334
virtual void setComponentType(std::string name) override
Definition: RFCavity.cpp:415
virtual double getElementLength() const override
Get design length.
Definition: RFCavity.cpp:818
double startField_m
Definition: RFCavity.h:233
void setRmax(double rmax)
Definition: RFCavity.cpp:363
virtual void getElementDimensions(double &begin, double &end) const override
Definition: RFCavity.cpp:829
double pdis_m
Definition: RFCavity.h:244
std::string filename_m
Definition: RFCavity.h:219
virtual void finalise() override
Definition: RFCavity.cpp:339
virtual void setAmplitudem(double vPeak)
Definition: RFCavity.h:373
virtual double getFrequencym() const
Definition: RFCavity.h:403
virtual bool getAutophaseVeto() const
Definition: RFCavity.h:458
double endField_m
Definition: RFCavity.h:234
std::string frequency_name_m
Definition: RFCavity.h:217
void operator=(const RFCavity &)
bool autophaseVeto_m
Definition: RFCavity.h:228
void setAmplitudeModel(std::shared_ptr< AbstractTimeDependence > time_dep)
Definition: RFCavity.h:463
virtual void setFrequencym(double freq)
Definition: RFCavity.h:398
virtual double getRmin() const
Definition: RFCavity.cpp:383
void setFrequencyModelName(std::string name)
Definition: RFCavity.h:498
double getdT(const int &i, const std::vector< double > &E, const double &dz, const double mass) const
Definition: RFCavity.h:294
double getdE(const int &i, const std::vector< double > &t, const double &dz, const double &phi, const double &frequency, const std::vector< double > &F) const
Definition: RFCavity.h:282
std::unique_ptr< double[]> RNormal_m
Definition: RFCavity.h:248
double angle_m
Definition: RFCavity.h:241
std::string phase_name_m
Definition: RFCavity.h:213
void setCavityType(std::string type)
Definition: RFCavity.h:433
std::unique_ptr< double[]> VrNormal_m
Definition: RFCavity.h:249
void setFrequencyModel(std::shared_ptr< AbstractTimeDependence > time_dep)
Definition: RFCavity.h:493
double rmin_m
Definition: RFCavity.h:239
virtual void getDimensions(double &zBegin, double &zEnd) const override
Definition: RFCavity.cpp:579
virtual double getAzimuth() const
Definition: RFCavity.cpp:391
bool fast_m
Definition: RFCavity.h:227
void setPhaseModel(std::shared_ptr< AbstractTimeDependence > time_dep)
Definition: RFCavity.h:478
void setPhi0(double phi0)
Definition: RFCavity.cpp:379
virtual bool bends() const override
Definition: RFCavity.cpp:342
std::unique_ptr< double[]> DvDr_m
Definition: RFCavity.h:250
CavityType type_m
Definition: RFCavity.h:237
virtual double getPhi0() const
Definition: RFCavity.cpp:411
virtual double getGapWidth() const
Definition: RFCavity.cpp:407
void setAzimuth(double angle)
Definition: RFCavity.cpp:367
double phaseError_m
Definition: RFCavity.h:224
Fieldmap * fieldmap_m
Definition: RFCavity.h:232
virtual double getAmplitudeError() const
Definition: RFCavity.h:388
virtual double getPerpenDistance() const
Definition: RFCavity.cpp:403
double sinAngle_m
Definition: RFCavity.h:242
virtual std::string getComponentType() const override
Definition: RFCavity.cpp:438
virtual double getPhasem() const
Definition: RFCavity.h:413
double phi0_m
Definition: RFCavity.h:246
void setFrequency(double freq)
Definition: RFCavity.h:393
virtual double getFrequency() const =0
Get RF frequencey.
constexpr double c
The velocity of light in m/s.
Definition: Physics.h:52
void setAmplitudeModelName(std::string name)
Definition: RFCavity.h:468
virtual CoordinateSystemTrafo getEdgeToEnd() const override
Definition: RFCavity.h:518
double designEnergy_m
Definition: RFCavity.h:230
std::string getFrequencyModelName()
Definition: RFCavity.h:503
void setGapWidth(double gapwidth)
Definition: RFCavity.cpp:375
virtual double getPhaseError() const
Definition: RFCavity.h:428
Vektor< double, 3 > Vector_t
Definition: Vektor.h:6
double getdA(const int &i, const std::vector< double > &t, const double &dz, const double &frequency, const std::vector< double > &F) const
Definition: RFCavity.h:322
virtual void setFieldMapFN(std::string fmapfn)
Set the name of the field map.
Definition: RFCavity.h:363
void setPerpenDistance(double pdis)
Definition: RFCavity.cpp:371
Tps< T > sqrt(const Tps< T > &x)
Square root.
Definition: TpsMath.h:91
double frequency_m
Definition: RFCavity.h:225
virtual void addKT(int i, double t, Vector_t &K) override
Definition: RFCavity.cpp:171
virtual bool applyToReferenceParticle(const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) override
Definition: RFCavity.cpp:231
virtual void setAutophaseVeto(bool veto=true)
Definition: RFCavity.h:453
virtual void setPhasem(double phase)
Definition: RFCavity.h:408
virtual double getAutoPhaseEstimateFallback(double E0, double t0, double q, double m)
Definition: RFCavity.cpp:589
virtual double getCycFrequency() const
Definition: RFCavity.cpp:445
void getMomentaKick(const double normalRadius, double momentum[], const double t, const double dtCorrt, const int PID, const double restMass, const int chargenumber)
used in OPAL-cycl
Definition: RFCavity.cpp:459
virtual double getRmax() const
Definition: RFCavity.cpp:387
Interface for RF cavity.
Definition: RFCavity.h:37
virtual void setFast(bool fast)
Definition: RFCavity.h:443
virtual double getSinAzimuth() const
Definition: RFCavity.cpp:395
Tps< T > cos(const Tps< T > &x)
Cosine.
Definition: TpsMath.h:129
virtual bool apply(const size_t &i, const double &t, Vector_t &E, Vector_t &B) override
Definition: RFCavity.cpp:207
std::shared_ptr< AbstractTimeDependence > phase_td_m
Definition: RFCavity.h:212
double cosAngle_m
Definition: RFCavity.h:243
const std::string name
virtual void accept(BeamlineVisitor &) const override
Apply visitor to RFCavity.
Definition: RFCavity.cpp:134
double phase_m
Definition: RFCavity.h:223
virtual bool isInside(const Vector_t &r) const override
Definition: RFCavity.cpp:810
int num_points_m
Definition: RFCavity.h:251
std::string getCavityType() const
Definition: RFCavity.h:438
double gapwidth_m
Definition: RFCavity.h:245
std::shared_ptr< AbstractTimeDependence > frequency_td_m
Definition: RFCavity.h:216
std::string getAmplitudeModelName()
Definition: RFCavity.h:473
virtual void setPhaseError(double phaseError)
Definition: RFCavity.h:423
std::shared_ptr< AbstractTimeDependence > amplitude_td_m
Definition: RFCavity.h:214
virtual std::pair< double, double > trackOnAxisParticle(const double &p0, const double &t0, const double &dt, const double &q, const double &mass, std::ofstream *out=NULL)
Definition: RFCavity.cpp:761
virtual double getCosAzimuth() const
Definition: RFCavity.cpp:399
Interface for a single beam element.
Definition: Component.h:51
#define K
Definition: integrate.cpp:118
Abstract algorithm.
virtual void setDesignEnergy(const double &ekin, bool changeable=true) override
Definition: RFCavity.h:346
virtual double getDesignEnergy() const override
Definition: RFCavity.h:352
virtual CoordinateSystemTrafo getEdgeToBegin() const override
Definition: RFCavity.h:509
RFCavity()
Definition: RFCavity.cpp:41
virtual double getAutoPhaseEstimate(const double &E0, const double &t0, const double &q, const double &m)
Definition: RFCavity.cpp:632
std::string getPhaseModelName()
Definition: RFCavity.h:488
std::string amplitude_name_m
Definition: RFCavity.h:215
virtual void goOnline(const double &kineticEnergy) override
Definition: RFCavity.cpp:347