blob: 16be2d5eb20d625f225b9c5995c65170cc784321 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
/* Copyright 2019 Luca Fedeli
*
* This file is part of WarpX.
*
* License: BSD-3-Clause-LBNL
*/
#ifndef WARPX_quantum_sync_engine_table_builder_h_
#define WARPX_quantum_sync_engine_table_builder_h_
#include "QedWrapperCommons.H"
#include "QuantumSyncEngineInnards.H"
//This includes only the definition of a simple datastructure
//used to control the Quantum Synchrotron engine.
#include <quantum_sync_engine_ctrl.h>
/**
* A class which computes the lookup tables for the Quantum Synchrotron engine.
*/
class QuantumSynchrotronEngineTableBuilder{
public:
/**
* Computes the tables.
* @param[in] ctrl control parameters to generate the tables
* @param[out] innards structure holding both a copy of ctrl and lookup tables data
*/
void compute_table
(picsar::multi_physics::quantum_synchrotron_engine_ctrl<amrex::Real> ctrl,
QuantumSynchrotronEngineInnards& innards) const;
};
#endif //WARPX_quantum_sync_engine_table_builder_h_
|