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_AMPLITUDE_INTEGRATION_H 22 #define VOTCA_XTP_AMPLITUDE_INTEGRATION_H 23 24 // Local VOTCA includes 25 #include "aobasis.h" 26 #include "eigen.h" 27 #include "regular_grid.h" 28 29 namespace votca { 30 namespace xtp { 31 32 template <class Grid> 33 class AmplitudeIntegration { 34 public: AmplitudeIntegration(const Grid & grid)35 explicit AmplitudeIntegration(const Grid& grid) : grid_(grid){}; 36 37 std::vector<std::vector<double> > IntegrateAmplitude( 38 const Eigen::VectorXd& amplitude); 39 40 private: 41 std::vector<std::vector<double> > SetupAmplitudeContainer(); 42 const Grid grid_; 43 }; 44 45 } // namespace xtp 46 } // namespace votca 47 #endif // VOTCA_XTP_AMPLITUDE_INTEGRATION_H 48