7 #ifndef SPARROW_IRCALCULATOR_H
8 #define SPARROW_IRCALCULATOR_H
22 class NormalModesContainer;
27 namespace RealTimeSpectroscopy {
45 void updateState(std::shared_ptr<Core::State> state);
47 std::unique_ptr<Utils::AtomCollection> getOptimizedStructure()
const;
53 Eigen::VectorXd calculateIntensities(
const Utils::DipoleGradient& dipoleGradient,
const Eigen::MatrixXd& normalModes)
const;
54 std::unique_ptr<Utils::PositionCollection> lastPositions_;
55 std::unique_ptr<Utils::HessianMatrix> lastHessian_;
56 std::unique_ptr<Utils::DipoleGradient> lastDipoleGradient_;
57 std::shared_ptr<Core::Calculator> calculator_;
58 std::unique_ptr<Utils::Settings> settings_;
65 #endif // SPARROW_IRCALCULATOR_H
Spectrum calculate(const Utils::PositionCollection &position, int structureIndex, std::ostream &outs)
Calculates an IR spectrum from a set of positions and a gradient. Care must be taken in calling code ...
Definition: IRCalculator.cpp:43
Definition: Spectrum.h:22
Definition: IRCalculator.h:31