aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/ElementaryProcess/QEDInternals/QuantumSyncEngineTableBuilder.H
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_