1 /* 2 * Copyright 2009-2020 The VOTCA Development Team 3 * (http://www.votca.org) 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License") 6 * 7 * You may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 * 18 */ 19 20 #pragma once 21 #ifndef VOTCA_XTP_GENCUBE_H 22 #define VOTCA_XTP_GENCUBE_H 23 24 // Local VOTCA includes 25 #include "votca/xtp/logger.h" 26 #include "votca/xtp/qmstate.h" 27 #include "votca/xtp/qmtool.h" 28 29 namespace votca { 30 namespace xtp { 31 class AOBasis; 32 33 class GenCube final : public QMTool { 34 public: 35 GenCube() = default; 36 37 ~GenCube() = default; 38 Identify()39 std::string Identify() const { return "gencube"; } 40 41 protected: 42 void ParseOptions(const tools::Property& user_options); 43 bool Run(); 44 45 private: 46 void calculateCube(); 47 void subtractCubes(); 48 49 std::string orbfile_; 50 std::string output_file_; 51 std::string infile1_; 52 std::string infile2_; 53 54 bool dostateonly_; 55 56 double padding_; 57 Eigen::Array<Index, 3, 1> steps_; 58 QMState state_; 59 std::string mode_; 60 Logger log_; 61 }; 62 63 } // namespace xtp 64 } // namespace votca 65 66 #endif // VOTCA_XTP_GENCUBE_H 67