Pteros  2.0
Molecular modeling library for human beings!
typedefs.h
1 /*
2  * This file is a part of
3  *
4  * ============================================
5  * ### Pteros molecular modeling library ###
6  * ============================================
7  *
8  * https://github.com/yesint/pteros
9  *
10  * (C) 2009-2021, Semen Yesylevskyy
11  *
12  * All works, which use Pteros, should cite the following papers:
13  *
14  * 1. Semen O. Yesylevskyy, "Pteros 2.0: Evolution of the fast parallel
15  * molecular analysis library for C++ and python",
16  * Journal of Computational Chemistry, 2015, 36(19), 1480–1488.
17  * doi: 10.1002/jcc.23943.
18  *
19  * 2. Semen O. Yesylevskyy, "Pteros: Fast and easy to use open-source C++
20  * library for molecular analysis",
21  * Journal of Computational Chemistry, 2012, 33(19), 1632–1636.
22  * doi: 10.1002/jcc.22989.
23  *
24  * This is free software distributed under Artistic License:
25  * http://www.opensource.org/licenses/artistic-license-2.0.php
26  *
27 */
28 
29 
30 #pragma once
31 
32 #include <Eigen/Dense>
33 
34 namespace pteros {
35 
36 using Vector3f_ref = Eigen::Ref<Eigen::Vector3f> ;
37 using Matrix3f_ref = Eigen::Ref<Eigen::Matrix3f> ;
38 using VectorXf_ref = Eigen::Ref<Eigen::VectorXf> ;
39 using MatrixXf_ref = Eigen::Ref<Eigen::MatrixXf> ;
40 using Vector3i_ref = Eigen::Ref<Eigen::Vector3i> ;
41 
42 using Vector3f_const_ref = const Eigen::Ref<const Eigen::Vector3f>& ;
43 using Matrix3f_const_ref = const Eigen::Ref<const Eigen::Matrix3f>& ;
44 using VectorXf_const_ref = const Eigen::Ref<const Eigen::VectorXf>& ;
45 using MatrixXf_const_ref = const Eigen::Ref<const Eigen::MatrixXf>& ;
46 using Vector3i_const_ref = const Eigen::Ref<const Eigen::Vector3i>& ;
47 
48 using Array3i_const_ref = const Eigen::Ref<const Eigen::Array3i>& ;
49 using ArrayXi_const_ref = const Eigen::Ref<const Eigen::ArrayXi>& ;
50 
51 static const Eigen::Array3i fullPBC = Eigen::Array3i::Ones();
52 static const Eigen::Array3i noPBC = Eigen::Array3i::Zero();
53 
54 }
55 
56 
57 
58