STORMM Source Documentation
Loading...
Searching...
No Matches
znumber.h
1// -*-c++-*-
2#ifndef STORMM_ZNUMBER_H
3#define STORMM_ZNUMBER_H
4
5#include <vector>
6#include "copyright.h"
7#include "Constants/behavior.h"
8#include "DataTypes/stormm_vector_types.h"
9
10namespace stormm {
11namespace chemistry {
12
13using constants::ExceptionResponse;
14using constants::CaseSensitivity;
15
20std::vector<int> massToZNumber(const std::vector<double> &masses);
21
25double zNumberToNaturalMass(int z);
26
35char2 zNumberToSymbol(const int atomic_number);
36std::vector<char2> zNumberToSymbol(const std::vector<int> &atomic_numbers);
38
48std::vector<int> symbolToZNumber(const std::vector<char2> &atomic_symbols,
49 CaseSensitivity capitalization = CaseSensitivity::YES,
50 ExceptionResponse policy = ExceptionResponse::WARN);
51
52std::vector<int> symbolToZNumber(const std::vector<char4> &atomic_symbols,
53 CaseSensitivity capitalization = CaseSensitivity::YES,
54 ExceptionResponse policy = ExceptionResponse::WARN);
56
57} // namespace chemistry
58} // namespace stormm
59
60#endif
61