QMCPACK
NLPPJob.h
Go to the documentation of this file.
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) 2020 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_NLPPJob_H
14 #define QMCPLUSPLUS_NLPPJob_H
15 
16 #include "OhmmsPETE/TinyVector.h"
17 
18 namespace qmcplusplus
19 {
20 /** meta data for NLPP calculation of a pair of ion and electron
21  This is not just meta data.
22  elec pos ion_elec_dist etc.
23  This is an AoS data element.
24  */
25 template<typename T>
26 struct NLPPJob
27 {
28  using RealType = T;
30  const int ion_id;
31  const int electron_id;
34 
35  /** This allows construction using emplace back
36  * could be a way to pull it off with aggregate initialization
37  * but it is nontrivial
38  */
39  NLPPJob(const int ion_id_in,
40  const int electron_id_in,
41  const RealType ion_elec_dist_in,
42  const PosType& ion_elec_displ_in)
43  : ion_id(ion_id_in),
44  electron_id(electron_id_in),
45  ion_elec_dist(ion_elec_dist_in),
46  ion_elec_displ(ion_elec_displ_in)
47  {}
48 };
49 } // namespace qmcplusplus
50 #endif
Fixed-size array.
Definition: OhmmsTinyMeta.h:30
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
NLPPJob(const int ion_id_in, const int electron_id_in, const RealType ion_elec_dist_in, const PosType &ion_elec_displ_in)
This allows construction using emplace back could be a way to pull it off with aggregate initializati...
Definition: NLPPJob.h:39
const RealType ion_elec_dist
Definition: NLPPJob.h:32
const int electron_id
Definition: NLPPJob.h:31
const int ion_id
Definition: NLPPJob.h:30
const PosType ion_elec_displ
Definition: NLPPJob.h:33