aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/ElementaryProcess/QEDInternals/BreitWheelerEngineTableBuilder.H
blob: 98b0b17a461563769af9be589906e7a9e57e219d (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_breit_wheeler_engine_table_builder_h_
#define WARPX_breit_wheeler_engine_table_builder_h_

#include "QedWrapperCommons.H"
#include "BreitWheelerEngineInnards.H"

//This includes only the definition of a simple datastructure
//used to control the Breit Wheeler engine.
#include <breit_wheeler_engine_ctrl.h>

/**
 * A class which computes the lookup tables for the Breit Wheeler engine.
 */
class BreitWheelerEngineTableBuilder{
   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::breit_wheeler_engine_ctrl<amrex::Real> ctrl,
         BreitWheelerEngineInnards& innards) const;
};

#endif //WARPX_breit_wheeler_engine_table_builder_h_