17#include "rxdock/BaseObject.h"
18#include "rxdock/Config.h"
20#include <nlohmann/json.hpp>
22using json = nlohmann::json;
31 static const std::string _CT;
33 static const std::string _WEIGHT;
36 static const std::string _RANGE;
40 static const std::string _SYSTEM_SF;
41 static const std::string _INTRA_SF;
47 friend void to_json(json &j,
const BaseSF &baseSF);
48 friend void from_json(
const json &j,
BaseSF &baseSF);
58 std::string GetFullName()
const;
59 double GetWeight()
const;
60 void SetWeight(
double);
62 double GetRange()
const;
63 RBTDLL_EXPORT
void SetRange(
double);
66 RBTDLL_EXPORT
double Score()
const;
70 virtual void ScoreMap(StringVariantMap &scoreMap)
const;
73 virtual void Add(
BaseSF *);
74 virtual void Remove(
BaseSF *);
75 virtual bool isAgg()
const;
76 virtual unsigned int GetNumSF()
const;
77 virtual BaseSF *GetSF(
unsigned int iSF)
const;
79 BaseSF *GetParentSF()
const;
85 BaseSF(
const std::string &strClass,
const std::string &strName);
88 virtual double RawScore()
const = 0;
91 void ParameterUpdated(
const std::string &strName);
93 void AddToParentMapEntry(StringVariantMap &scoreMap,
double rs)
const;
117void to_json(json &j,
const BaseSF &baseSF);
118void from_json(
const json &j,
BaseSF &baseSF);
121typedef std::vector<BaseSF *> BaseSFList;
122typedef BaseSFList::iterator BaseSFListIter;
123typedef BaseSFList::const_iterator BaseSFListConstIter;
Definition BaseObject.h:32