aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/Collision/CollisionHandler.H
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Particles/Collision/CollisionHandler.H')
-rw-r--r--Source/Particles/Collision/CollisionHandler.H35
1 files changed, 35 insertions, 0 deletions
diff --git a/Source/Particles/Collision/CollisionHandler.H b/Source/Particles/Collision/CollisionHandler.H
new file mode 100644
index 000000000..f4338e3bf
--- /dev/null
+++ b/Source/Particles/Collision/CollisionHandler.H
@@ -0,0 +1,35 @@
+/* Copyright 2020 David Grote
+ *
+ * This file is part of WarpX.
+ *
+ * License: BSD-3-Clause-LBNL
+ */
+#ifndef WARPX_PARTICLES_COLLISION_COLLISIONHANDLER_H_
+#define WARPX_PARTICLES_COLLISION_COLLISIONHANDLER_H_
+
+#include "CollisionBase.H"
+#include <AMReX_Vector.H>
+
+// Forward declaration needed
+class MultiParticleContainer;
+
+/* \brief CollisionHandler is a light weight class that contains the
+ * list of collisions to be done.
+ */
+class CollisionHandler
+{
+public:
+ CollisionHandler ();
+
+ /* Perform all of the collisions */
+ void doCollisions (amrex::Real cur_time, MultiParticleContainer* mypc);
+
+private:
+
+ amrex::Vector<std::string> collision_names;
+ amrex::Vector<std::string> collision_types;
+ amrex::Vector< std::unique_ptr<CollisionBase> > allcollisions;
+
+};
+
+#endif // WARPX_PARTICLES_COLLISION_COLLISIONHANDLER_H_