33 std::vector<std::unique_ptr<Region> >& regions) {
34 std::vector<double> energies = std::vector<double>(regions.size(), 0.0);
35 for (std::unique_ptr<Region>& reg : regions) {
36 Index id = reg->getId();
37 if (
id == this->
getId()) {
46 <<
" " << this->
getId() <<
" and " << reg->identify() <<
" "
47 << reg->getId() << std::flush;
48 if (reg->identify() == QMdummy.
identify()) {
51 }
else if (reg->identify() == Staticdummy.
identify()) {
54 }
else if (reg->identify() == Polardummy.
identify()) {
58 throw std::runtime_error(
59 "Interaction of regions with types:" + this->
identify() +
" and " +
60 reg->identify() +
" not implemented");
std::string identify() const override
std::string identify() const override
std::vector< double > ApplyInfluenceOfOtherRegions(std::vector< std::unique_ptr< Region > > ®ions)
virtual double charge() const =0
void AddResults(tools::Property &prop) const
virtual double InteractwithQMRegion(const QMRegion ®ion)=0
virtual Index size() const =0
virtual void AppendResult(tools::Property &prop) const =0
virtual double InteractwithStaticRegion(const StaticRegion ®ion)=0
virtual double InteractwithPolarRegion(const PolarRegion ®ion)=0
virtual std::string identify() const =0
std::string identify() const override
Timestamp returns the current time as a string Example: cout << TimeStamp()
#define XTP_LOG(level, log)
base class for all analysis tools