20#ifndef VOTCA_XTP_REGION_H
21#define VOTCA_XTP_REGION_H
61 virtual void Evaluate(std::vector<std::unique_ptr<Region> >& regions) = 0;
84 out <<
"Id: " << region.
getId() <<
" type: " << region.
identify()
85 <<
" size: " << region.
size() <<
" charge[e]= " << region.
charge();
93 std::vector<std::unique_ptr<Region> >& regions);
Logger is used for thread-safe output of messages.
virtual void WriteToCpt(CheckpointWriter &w) const =0
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 Initialize(const tools::Property &prop)=0
virtual void AppendResult(tools::Property &prop) const =0
friend std::ostream & operator<<(std::ostream &out, const Region ®ion)
Region(Index id, Logger &log)
virtual double InteractwithStaticRegion(const StaticRegion ®ion)=0
virtual void ReadFromCpt(CheckpointReader &r)=0
virtual double InteractwithPolarRegion(const PolarRegion ®ion)=0
virtual bool Converged() const =0
virtual ~Region()=default
virtual void WritePDB(csg::PDBWriter &writer) const =0
virtual void Evaluate(std::vector< std::unique_ptr< Region > > ®ions)=0
std::string ErrorMsg() const
virtual double Etotal() const =0
virtual std::string identify() const =0
base class for all analysis tools