1 ////////////////////////////////////////////////////////////////////////////////////// 2 // This file is distributed under the University of Illinois/NCSA Open Source License. 3 // See LICENSE file in top directory for details. 4 // 5 // Copyright (c) 2021 QMCPACK developers. 6 // 7 // File developed by: Ye Luo, yeluo@anl.gov, Argonne National Laboratory 8 // 9 // File created by: Ye Luo, yeluo@anl.gov, Argonne National Laboratory 10 ////////////////////////////////////////////////////////////////////////////////////// 11 12 13 #ifndef QMCPLUSPLUS_MWDISPATCHERS_H 14 #define QMCPLUSPLUS_MWDISPATCHERS_H 15 16 #include <PSdispatcher.h> 17 #include <TWFdispatcher.h> 18 #include <Hdispatcher.h> 19 20 namespace qmcplusplus 21 { 22 // forward declaration 23 class TWFdispatcher; 24 class Hdispatcher; 25 26 class MultiWalkerDispatchers 27 { 28 public: 29 MultiWalkerDispatchers(bool use_batch)30 MultiWalkerDispatchers(bool use_batch) : ps_dispatcher_(use_batch), twf_dispatcher_(use_batch), ham_dispatcher_(use_batch), use_batch_(use_batch) {} 31 are_walkers_batched()32 bool are_walkers_batched() const { return use_batch_; } 33 34 const PSdispatcher ps_dispatcher_; 35 const TWFdispatcher twf_dispatcher_; 36 const Hdispatcher ham_dispatcher_; 37 private: 38 const bool use_batch_; 39 }; 40 } 41 #endif 42