/* 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 "Particles/MultiParticleContainer_fwd.H" #include #include #include #include /* \brief CollisionHandler is a light weight class that contains the * list of collisions to be done. */ class CollisionHandler { public: CollisionHandler (MultiParticleContainer const * const mypc); /* Perform all of the collisions */ void doCollisions (amrex::Real cur_time, MultiParticleContainer* mypc); private: amrex::Vector collision_names; amrex::Vector collision_types; amrex::Vector< std::unique_ptr > allcollisions; }; #endif // WARPX_PARTICLES_COLLISION_COLLISIONHANDLER_H_