RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
SFFactory.h
1/***********************************************************************
2 * The rDock program was developed from 1998 - 2006 by the software team
3 * at RiboTargets (subsequently Vernalis (R&D) Ltd).
4 * In 2006, the software was licensed to the University of York for
5 * maintenance and distribution.
6 * In 2012, Vernalis and the University of York agreed to release the
7 * program as Open Source software.
8 * This version is licensed under GNU-LGPL version 3.0 with support from
9 * the University of Barcelona.
10 * http://rdock.sourceforge.net/
11 ***********************************************************************/
12
13// Factory class for creating scoring function objects. Scoring functions are
14// specified by string names (as defined in each class's static _CT string)
15
16#ifndef _RBTSFFACTORY_H_
17#define _RBTSFFACTORY_H_
18
19#include "rxdock/Config.h"
20#include "rxdock/ParameterFileSource.h"
21#include "rxdock/SFAgg.h"
22
23namespace rxdock {
24
25class SFFactory {
26 // Parameter name which identifies a scoring function definition
27 static const std::string _SF;
28
29public:
31 // Constructors/destructors
32
33 RBTDLL_EXPORT SFFactory(); // Default constructor
34
35 virtual ~SFFactory(); // Default destructor
36
38 // Public methods
40
41 // Creates a single scoring function object of type strSFClass, and name
42 // strName e.g. strSFClass = HBondIntnSF
43 virtual BaseSF *Create(const std::string &_strSFClass,
44 const std::string &strName);
45
46 // Creates an aggregate scoring function from a parameter file source
47 // Each component SF is in a named section, which should minimally contain a
48 // SCORING_FUNCTION parameter whose value is the class name to instantiate
49 // strSFClasses contains a comma-delimited list of SF class names to
50 // instantiate If strSFClasses is empty, all named sections in spPrmSource are
51 // scanned for valid scoring function definitions SF parameters are set from
52 // the list of parameters in each named section
53 virtual SFAgg *
54 CreateAggFromFile(ParameterFileSourcePtr spPrmSource,
55 const std::string &strName,
56 const std::string &strSFClasses = std::string());
57
58protected:
60 // Protected methods
62
63private:
65 // Private methods
67
68 SFFactory(const SFFactory &); // Copy constructor disabled by default
69
70 SFFactory &
71 operator=(const SFFactory &); // Copy assignment disabled by default
72
73protected:
75 // Protected data
77
78private:
80 // Private data
82};
83
84// Useful typedefs
85typedef SmartPtr<SFFactory> SFFactoryPtr; // Smart pointer
86
87} // namespace rxdock
88
89#endif //_RBTSFFACTORY_H_
Definition BaseSF.h:28
Definition SFAgg.h:36
Definition SFFactory.h:25