9 #ifndef WARPX_DIAGNOSTICS_REDUCEDDIAGS_FIELDPROBE_H_
10 #define WARPX_DIAGNOSTICS_REDUCEDDIAGS_FIELDPROBE_H_
18 #include <unordered_map>
22 using namespace amrex::literals;
51 void InitData ()
override final;
55 void LoadBalance ()
override final;
62 void ComputeDiags (
int step)
override final;
69 static const int noutputs = 11;
72 amrex::Real x_probe = 0._rt;
73 amrex::Real y_probe = 0._rt;
74 amrex::Real x1_probe = 0._rt;
75 amrex::Real y1_probe = 0._rt;
76 amrex::Real target_normal_x = 0._rt;
77 amrex::Real target_normal_y = 1._rt;
78 amrex::Real target_normal_z = 0._rt;
79 amrex::Real target_up_x = 0._rt;
80 amrex::Real target_up_y = 0._rt;
81 amrex::Real target_up_z = 1._rt;
86 long m_valid_particles {0};
89 int m_last_compute_step = 0;
107 bool m_field_probe_integrate =
false;
110 int interp_order = 1;
113 bool do_moving_window_FP =
false;
118 virtual void WriteToFile (
int step)
const override;
122 bool ProbeInDomain ()
const;
127 void normalize(amrex::Real &AMREX_RESTRICT x, amrex::Real &AMREX_RESTRICT y,
128 amrex::Real &AMREX_RESTRICT z){
129 const amrex::Real mag = std::sqrt(x*x + y*y + z*z);
DetectorGeometry
Definition: FieldProbe.H:28
Definition: FieldProbe.H:39
amrex::Vector< amrex::Real > m_data_out
Empty array to be used by IOProcessor node to store and output data.
Definition: FieldProbe.H:101
FieldProbeParticleContainer m_probe
this is the particle container in which probe particles are stored
Definition: FieldProbe.H:104
void normalize(amrex::Real &AMREX_RESTRICT x, amrex::Real &AMREX_RESTRICT y, amrex::Real &AMREX_RESTRICT z)
Definition: FieldProbe.H:127
amrex::Real z1_probe
Definition: FieldProbe.H:82
amrex::Vector< amrex::Real > m_data
Empty vector for to which data is pushed.
Definition: FieldProbe.H:98
amrex::Real detector_radius
Definition: FieldProbe.H:83
Definition: FieldProbeParticleContainer.H:48
Definition: ReducedDiags.H:24