NAPISD
PAHdb website C++ backend
Loading...
Searching...
No Matches
PAHGeometry.h
1#ifndef _PAHGEOMETRY_H_
2#define _PAHGEOMETRY_H_
3
4#include "Atom.h"
5
6#include <algorithm>
7#include <array>
8#include <functional>
9#include <numeric>
10#include <vector>
11
12#include <cmath>
13
15
16public:
17 typedef std::vector<Atom>::iterator iterator;
18
20
21 PAHGeometry(const std::vector<Atom> &atoms);
22
23 Atom operator[](std::size_t idx);
24
25 iterator begin() noexcept { return (_atoms.begin()); }
26
27 iterator end() noexcept { return (_atoms.end()); }
28
29 void diagonalize();
30
31 const double &getMass() const;
32
33 std::vector<std::array<double, 3>> const &getDimensions() const;
34
35 std::vector<std::vector<int>> &getBonds();
36
37private:
38 std::vector<Atom> _atoms;
39
40 double _mass;
41
42 std::vector<std::array<double, 3>> _dimensions;
43
44 std::vector<std::vector<int>> _bonds;
45};
46
47inline Atom PAHGeometry::operator[](std::size_t idx) { return (_atoms[idx]); }
48
49inline const double &PAHGeometry::getMass() const { return (_mass); }
50
51inline std::vector<std::array<double, 3>> const &
52PAHGeometry::getDimensions() const {
53 return (_dimensions);
54}
55
56#endif /* _PAHGEOMETRY_H_ */
Definition Atom.h:7

Since FY2019 the NASA Ames PAH IR Spectroscopic Database is being supported through a directed Work Package at NASA Ames titled: "Laboratory Astrophysics - The NASA Ames PAH IR Spectroscopic Database".
Since FY2023 the NASA Ames PAH IR Spectroscopic Database is being supported through the Laboratory Astrophysics Rd 2 directed Work Package at NASA Ames.
© Copyright 2021-2025, Christiaan Boersma