STORMM Source Documentation
Loading...
Searching...
No Matches
mdlmol_request.h
1// -*-c++-*-
2#ifndef STORMM_MDLMOL_REQUEST_H
3#define STORMM_MDLMOL_REQUEST_H
4
5#include <string>
6#include <vector>
7#include "copyright.h"
8#include "DataTypes/stormm_vector_types.h"
9#include "Potential/energy_enumerators.h"
10#include "molecule_format_enumerators.h"
11
12namespace stormm {
13namespace structure {
14
15using energy::StateVariable;
16
21public:
22
27 MdlMolDataRequest(const std::string &title_in = std::string(""),
28 const std::string &label_in = std::string(""));
29
30 MdlMolDataRequest(const std::string &title_in, StateVariable energy_component_in,
31 const std::string &label_in);
32
33 MdlMolDataRequest(DataRequestKind kind_in, const std::string &title_in,
34 const std::string &message_in, const std::string &label_in);
35
36 MdlMolDataRequest(const std::string &title_in, StateVariable valence_kind_in,
37 const std::vector<char4> &atom_types_in, const std::string &label_in);
39
43 MdlMolDataRequest(const MdlMolDataRequest &original) = default;
44 MdlMolDataRequest(MdlMolDataRequest &&original) = default;
45 MdlMolDataRequest& operator=(const MdlMolDataRequest &other) = default;
46 MdlMolDataRequest& operator=(MdlMolDataRequest &&other) = default;
48
50 DataRequestKind getKind() const;
51
53 const std::string& getTitle() const;
54
57 StateVariable getEnergyComponent() const;
58
61 const std::string& getAtomMask() const;
62
65 StateVariable getValenceParameter() const;
66
69 const std::string& getMessage() const;
70
73 const std::vector<char4>& getAtomTypes() const;
74
76 const std::string& getSystemLabel() const;
77
79 const std::string& getExternalRegistryNumber() const;
80
83 bool placeMaccsFieldInHeader() const;
84
88
90 int getMaccsFieldNumber() const;
91
95 void setExternalRegistryNumber(const std::string &regno_in);
96
100 void setMaccsFieldNumber(int maccs_in);
101
106 void setInternalRegistryUsage(const std::string &input);
107
108private:
109 DataRequestKind kind;
110 std::string title;
112 StateVariable energy_component;
113 std::string atom_mask;
116 StateVariable valence_kind;
122 std::string message;
123 std::vector<char4> atom_types;
124 std::string system_label;
128
129 // The following information is intended to cover the breadth of the SD file format's data item
130 // header lines.
131 bool use_maccs_ii_number;
132 int maccs_ii_number;
134 bool use_internal_registry;
137 std::string external_regno;
139
145 void checkKind(DataRequestKind accepted_kind) const;
146};
147
148} // namespace structure
149} // namespace stormm
150
151#endif
MdlMolDataRequest(const std::string &title_in=std::string(""), const std::string &label_in=std::string(""))
The constructor takes arguments corresponding to each member variable. Various overloads allow the ob...
Definition mdlmol_request.cpp:13
MdlMolDataRequest(const std::string &title_in=std::string(""), const std::string &label_in=std::string(""))
The constructor takes arguments corresponding to each member variable. Various overloads allow the ob...
Definition mdlmol_request.cpp:13
const std::string & getAtomMask() const
Get the atom mask string. Raise a runtime error if this request is not of the appropriate kind.
Definition mdlmol_request.cpp:142
const std::string & getSystemLabel() const
Get the system label to which the data item should be applied.
Definition mdlmol_request.cpp:165
const std::string & getExternalRegistryNumber() const
Get the external registry number for the compound, as transcribed for this request.
Definition mdlmol_request.cpp:170
void setExternalRegistryNumber(const std::string &regno_in)
Set the external registry number.
Definition mdlmol_request.cpp:190
const std::string & getMessage() const
Get the custom string, again raising a runtime error if the request is not of the appropriate kind.
Definition mdlmol_request.cpp:154
StateVariable getEnergyComponent() const
Get the type of energy requested, or produce a runtime error if this request is not of the appropriat...
Definition mdlmol_request.cpp:136
DataRequestKind getKind() const
Get the kind of request.
Definition mdlmol_request.cpp:126
const std::vector< char4 > & getAtomTypes() const
Get the vector of atom types defining a valence parameter of interest, again raising a runtime error ...
Definition mdlmol_request.cpp:160
bool placeMaccsFieldInHeader() const
Indicate that the MACCS-II field number should go in the resulting data item's header line.
Definition mdlmol_request.cpp:175
void setInternalRegistryUsage(const std::string &input)
Set the data item to make use of the SD file archive's internal registry number (the number of the mo...
Definition mdlmol_request.cpp:201
int getMaccsFieldNumber() const
Get the MACCS-II field number.
Definition mdlmol_request.cpp:185
StateVariable getValenceParameter() const
Get the valence parameter type. Raise a runtime error if this request is not of the appropriate kind.
Definition mdlmol_request.cpp:148
bool placeInternalRegistryInHeader() const
Indicate that the internal registry numbre (known only once the SD file is ready for assembly) should...
Definition mdlmol_request.cpp:180
const std::string & getTitle() const
Get the title for the printed SD file's data item.
Definition mdlmol_request.cpp:131
void setMaccsFieldNumber(int maccs_in)
Set the MACCS-II field number.
Definition mdlmol_request.cpp:195
MdlMolDataRequest(const MdlMolDataRequest &original)=default
The default copy and move constructors, as well as copy and move assignment operators,...