Rosetta 3.5
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
core
scoring
methods
EnergyMethodCreator.hh
Go to the documentation of this file.
1
// -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2
// vi: set ts=2 noet:
3
//
4
// (c) Copyright Rosetta Commons Member Institutions.
5
// (c) This file is part of the Rosetta software suite and is made available under license.
6
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9
10
/// @file core/scoring/methods/EnergyMethodCreator.hh
11
/// @brief Declaration of the base class for EnergyMethod factory registration and creation
12
/// @author Andrew Leaver-Fay (aleaverfay@gmail.com)
13
14
15
#ifndef INCLUDED_core_scoring_methods_EnergyMethodCreator_hh
16
#define INCLUDED_core_scoring_methods_EnergyMethodCreator_hh
17
18
// Unit headers
19
#include <
core/scoring/methods/EnergyMethodCreator.fwd.hh
>
20
21
// Package headers
22
#include <
core/scoring/methods/EnergyMethod.fwd.hh
>
23
#include <
core/scoring/methods/EnergyMethodOptions.fwd.hh
>
24
#include <
core/scoring/ScoreType.hh
>
25
26
// Utility headers
27
#include <utility/pointer/ReferenceCount.hh>
28
29
#include <utility/vector1.hh>
30
31
32
namespace
core {
33
namespace
scoring {
34
namespace
methods {
35
36
/// @brief The EnergyMethodCreator class's responsibilities are to create
37
/// on demand a new EnergyMethod class, and to tell the ScoringManager
38
/// singleton which ScoreTypes the EnergyMethod it creates is responsible for.
39
/// The EnergyMethodCreator must register itself with the ScoringManager
40
/// at load time (before main() begins) so that the ScoringManager is ready
41
/// to start creating EnergyMethods by the time the first ScoreFunction
42
/// requests one.
43
class
EnergyMethodCreator
:
public
utility::pointer::ReferenceCount
44
{
45
public
:
46
/// @brief Instantiate a new EnergyMethod given a set of energy-method options
47
virtual
48
EnergyMethodOP
49
create_energy_method
(
50
methods::EnergyMethodOptions
const
& options
51
)
const
= 0;
52
53
/// @brief Return the set of score types claimed by the EnergyMethod
54
/// this EnergyMethodCreator creates in its create_energy_method() function
55
virtual
56
ScoreTypes
57
score_types_for_method
()
const
= 0;
58
59
};
60
61
}
62
}
63
}
64
65
#endif
Generated on Sat Jun 1 2013 11:37:52 for Rosetta 3.5 by
1.8.4