diff options
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.H')
-rw-r--r-- | Source/Particles/PhysicalParticleContainer.H | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.H b/Source/Particles/PhysicalParticleContainer.H index b4081e959..c953aa2d7 100644 --- a/Source/Particles/PhysicalParticleContainer.H +++ b/Source/Particles/PhysicalParticleContainer.H @@ -7,6 +7,11 @@ #include <AMReX_IArrayBox.H> +#ifdef WARPX_QED + #include <QuantumSyncEngineWrapper.H> + #include <BreitWheelerEngineWrapper.H> +#endif + #include <map> class PhysicalParticleContainer @@ -180,6 +185,16 @@ public: amrex::FArrayBox const * & ezfab, amrex::FArrayBox const * & bxfab, amrex::FArrayBox const * & byfab, amrex::FArrayBox const * & bzfab); +#ifdef WARPX_QED + bool has_quantum_sync() override; + bool has_breit_wheeler() override; + + void set_breit_wheeler_engine_ptr + (std::shared_ptr<BreitWheelerEngine>) override; + void set_quantum_sync_engine_ptr + (std::shared_ptr<QuantumSynchrotronEngine>) override; +#endif + protected: std::string species_name; @@ -194,6 +209,20 @@ protected: // Inject particles during the whole simulation void ContinuousInjection (const amrex::RealBox& injection_box) override; +#ifdef WARPX_QED + // A flag to enable quantum_synchrotron process for leptons + bool do_qed_quantum_sync = false; + + // A flag to enable breit_wheeler process [photons only!!] + bool do_qed_breit_wheeler = false; + + // A smart pointer to an instance of a Quantum Synchrotron engine + std::shared_ptr<QuantumSynchrotronEngine> shr_ptr_qs_engine; + + // A smart pointer to an instance of a Breit Wheeler engine [photons only!] + std::shared_ptr<BreitWheelerEngine> shr_ptr_bw_engine; +#endif + }; #endif |