aboutsummaryrefslogtreecommitdiff
path: root/Source/QED/QuantumSyncEngineWrapper.cpp
diff options
context:
space:
mode:
authorGravatar Luca Fedeli <luca.fedeli@cea.fr> 2019-10-08 18:25:10 +0200
committerGravatar Luca Fedeli <luca.fedeli@cea.fr> 2019-10-08 18:25:10 +0200
commit7f178a55df4d0973f6788d9c27fd10b128ad4571 (patch)
tree0699381450eab0f59c1c738a61a3fe2171e12116 /Source/QED/QuantumSyncEngineWrapper.cpp
parentd8cf34c82ccf179372e8f07700be72a39c528d9e (diff)
downloadWarpX-7f178a55df4d0973f6788d9c27fd10b128ad4571.tar.gz
WarpX-7f178a55df4d0973f6788d9c27fd10b128ad4571.tar.zst
WarpX-7f178a55df4d0973f6788d9c27fd10b128ad4571.zip
Heavy refactoring
Diffstat (limited to 'Source/QED/QuantumSyncEngineWrapper.cpp')
-rw-r--r--Source/QED/QuantumSyncEngineWrapper.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/Source/QED/QuantumSyncEngineWrapper.cpp b/Source/QED/QuantumSyncEngineWrapper.cpp
new file mode 100644
index 000000000..ce130bb62
--- /dev/null
+++ b/Source/QED/QuantumSyncEngineWrapper.cpp
@@ -0,0 +1,29 @@
+#include "QuantumSyncEngineWrapper.h"
+//This file provides a wrapper aroud the quantum_sync engine
+//provided by the PICSAR library
+
+using namespace picsar::multi_physics;
+
+// Functors ==================================
+
+// Initialization of the optical depth
+
+AMREX_GPU_DEVICE
+amrex::Real
+QuantumSynchrotronGetOpticalDepth::operator() () const
+{
+ return WarpXQuantumSynchrotronWrapper::
+ internal_get_optical_depth(amrex::Random());
+}
+//____________________________________________
+
+// Factory class =============================
+
+QuantumSynchrotronEngine::QuantumSynchrotronEngine(){}
+
+QuantumSynchrotronGetOpticalDepth QuantumSynchrotronEngine::build_optical_depth_functor()
+{
+ return QuantumSynchrotronGetOpticalDepth();
+}
+
+//============================================