QMCPACK
ParticleTags.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) 2016 Jeongnim Kim and QMCPACK developers.
6 //
7 // File developed by: Jeongnim Kim, jeongnim.kim@gmail.com, University of Illinois at Urbana-Champaign
8 // Jeremy McMinnis, jmcminis@gmail.com, University of Illinois at Urbana-Champaign
9 // Mark A. Berrill, berrillma@ornl.gov, Oak Ridge National Laboratory
10 //
11 // File created by: Jeongnim Kim, jeongnim.kim@gmail.com, University of Illinois at Urbana-Champaign
12 //////////////////////////////////////////////////////////////////////////////////////
13 
14 
15 #ifndef OHMMS_PARTICLETAGS_H
16 #define OHMMS_PARTICLETAGS_H
17 
18 /**@defgroup XMLTags Reserved XML tags
19  * @brief Reserved names for xml elements and attributes.
20  */
21 
22 #include <string>
23 /** Define the tags for the data types and attributes of particle classes
24  *
25  *The tags are grouped into
26  *- the data type of an attribute (type name)
27  *- the name of an attribute (object name)
28  *- xml node and attribute names
29  */
31 {
32  /** enumeraton for datatypes for particle attributes
33  *
34  *Each attribute of type T is stored in a container ParticleAttrib<T>.
35  *ParticleBase::AttribTypeMap is used to map the std::string and the enumeration.
36  */
37  enum
38  {
39  PA_IndexType = 0, /*!< index (int) type */
40  PA_ScalarType, /*!< scalar (float|double) type */
41  PA_StringType, /*!< std::string type */
42  PA_PositionType, /*!< position (D-dim vector) type */
43  PA_TensorType, /*!< tensor type */
44  PA_UnkownType /*!< not known type */
45  };
46 
47  /** @ingroup XMLTags
48  *@{
49  * @brief type names of particle attributes, e.g., posArray
50  */
51  ///the tag for uninitialized datatype and name of attributes
52  static std::string null_tag;
53 
54  ///the datatype tag for the index-type attribute
55  static std::string indextype_tag;
56 
57  ///the datatype tag for the scalar-type attribute
58  static std::string scalartype_tag;
59 
60  ///the datatype tag for the string-type attribute
61  static std::string stringtype_tag;
62 
63  ///the datatype tag for the pos-type attribute
64  static std::string postype_tag;
65 
66  ///the datatype tag for the gradient-type attribute
67  static std::string gradtype_tag;
68 
69  ///the datatype tag for the laplacian-type attribute
70  static std::string laptype_tag;
71 
72  ///the datatype tag for the tensor-type attribute
73  static std::string tensortype_tag;
74 
75  ///the datatype tag for the xmol-type attribute
76  static std::string xmoltype_tag;
77  /*@}*/
78 
79  /** @ingroup XMLTags
80  *@{
81  * @brief names of particle attributes, e.g., position
82  */
83  ///the name for position attribute
84  static std::string position_tag;
85 
86  ///the name for spins attribute
87  static std::string spins_tag;
88 
89  ///the name for id attribute
90  static std::string id_tag;
91 
92  ///the name for ionid attribute
93  static std::string ionid_tag;
94 
95  ///the name for trajectory attribute
96  static std::string trajectory_tag;
97 
98  ///the name for force attribute
99  static std::string force_tag;
100 
101  ///the name for velocity attribute
102  static std::string velocity_tag;
103 
104  ///the name for energy attribute
105  static std::string energy_tag;
106 
107  ///the name for sumbc (accumulative boundary crossings) attribute
108  static std::string sumbc_tag;
109  /*@}*/
110 
111  /** @ingroup XMLTags
112  *@{
113  * @brief xml element names
114  */
115  ///the name of particle node
116  static std::string root_tag;
117  ///the name of particle attribute node
118  static std::string attrib_tag;
119  ///the attribute name of name
120  static std::string name_tag;
121  ///the attribute name of datatype
122  static std::string datatype_tag;
123  ///the attribute name of condition
124  static std::string condition_tag;
125  ///the attribute name of size
126  static std::string size_tag;
127  ///the attribute name of format
128  static std::string format_tag;
129  ///the attribute name of role
130  static std::string role_tag;
131  /*@}*/
132 };
133 #endif
static std::string attrib_tag
the name of particle attribute node
Definition: ParticleTags.h:118
static std::string name_tag
the attribute name of name
Definition: ParticleTags.h:120
static std::string xmoltype_tag
the datatype tag for the xmol-type attribute
Definition: ParticleTags.h:76
static std::string force_tag
the name for force attribute
Definition: ParticleTags.h:99
static std::string role_tag
the attribute name of role
Definition: ParticleTags.h:130
static std::string indextype_tag
the datatype tag for the index-type attribute
Definition: ParticleTags.h:55
static std::string spins_tag
the name for spins attribute
Definition: ParticleTags.h:87
static std::string position_tag
names of particle attributes, e.g., position
Definition: ParticleTags.h:84
static std::string condition_tag
the attribute name of condition
Definition: ParticleTags.h:124
static std::string postype_tag
the datatype tag for the pos-type attribute
Definition: ParticleTags.h:64
static std::string null_tag
type names of particle attributes, e.g., posArray
Definition: ParticleTags.h:52
static std::string sumbc_tag
the name for sumbc (accumulative boundary crossings) attribute
Definition: ParticleTags.h:108
static std::string tensortype_tag
the datatype tag for the tensor-type attribute
Definition: ParticleTags.h:73
static std::string id_tag
the name for id attribute
Definition: ParticleTags.h:90
Define the tags for the data types and attributes of particle classes.
Definition: ParticleTags.h:30
static std::string size_tag
the attribute name of size
Definition: ParticleTags.h:126
static std::string ionid_tag
the name for ionid attribute
Definition: ParticleTags.h:93
static std::string energy_tag
the name for energy attribute
Definition: ParticleTags.h:105
static std::string datatype_tag
the attribute name of datatype
Definition: ParticleTags.h:122
static std::string velocity_tag
the name for velocity attribute
Definition: ParticleTags.h:102
static std::string gradtype_tag
the datatype tag for the gradient-type attribute
Definition: ParticleTags.h:67
static std::string trajectory_tag
the name for trajectory attribute
Definition: ParticleTags.h:96
static std::string stringtype_tag
the datatype tag for the string-type attribute
Definition: ParticleTags.h:61
static std::string format_tag
the attribute name of format
Definition: ParticleTags.h:128
static std::string root_tag
xml element names
Definition: ParticleTags.h:116
static std::string scalartype_tag
the datatype tag for the scalar-type attribute
Definition: ParticleTags.h:58
static std::string laptype_tag
the datatype tag for the laplacian-type attribute
Definition: ParticleTags.h:70