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
protocols
loops
LoopMoverFactory.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 src/protocols/loops/LoopMoverFactory.hh
11
/// @brief Factory for creating LoopMover objects
12
/// @author Matthew O'Meara (mattjomeara@gmail.com)
13
14
15
#ifndef INCLUDED_protocols_loops_LoopMoverFactory_hh
16
#define INCLUDED_protocols_loops_LoopMoverFactory_hh
17
18
// Unit Headers
19
#include <
protocols/loops/LoopMoverFactory.fwd.hh
>
20
21
// Project Headers
22
#include <
protocols/loops/loop_mover/LoopMover.fwd.hh
>
23
#include <
protocols/loops/Loops.fwd.hh
>
24
#include <
protocols/loops/LoopsFileIO.fwd.hh
>
25
26
// Platform Headers
27
#include <
core/pose/Pose.fwd.hh
>
28
#include <utility/factory/WidgetRegistrator.hh>
29
30
// C++ Headers
31
#include <map>
32
33
#include <utility/vector1.hh>
34
35
36
namespace
protocols {
37
namespace
loops {
38
39
/// Create LoopMover Reporters
40
class
LoopMoverFactory
{
41
42
// Private constructor to make it singleton managed
43
LoopMoverFactory
();
44
LoopMoverFactory
(
const
LoopMoverFactory
& src);
// unimplemented
45
46
LoopMoverFactory
const
&
47
operator=
(
LoopMoverFactory
const
& );
// unimplemented
48
49
public
:
50
51
// Warning this is not called because of the singleton pattern
52
virtual
~LoopMoverFactory
();
53
54
static
LoopMoverFactory
*
get_instance
();
55
56
/// @brief Create a loop mover giving it a pointer to a loops object.
57
/// This loop mover will not be in charge of resolving loop indices.
58
loop_mover::LoopMoverOP
59
create_loop_mover
(
60
std::string
const
& type_name,
61
LoopsOP
const
loops
62
);
63
64
/// @brief Create a loop mover giving it a pointer to a loops object.
65
/// This loop mover WILL be in charge of resolving loop indices.
66
loop_mover::LoopMoverOP
67
create_loop_mover
(
68
std::string
const
& type_name,
69
LoopsFileData
const
& loops
70
);
71
72
/// @brief Create a loop mover giving it a pointer to a GuardedLoopsFromFile object.
73
/// This loop mover WILL be in charge of resolving loop indices, unless, of course,
74
/// the GuardedLoopsFromFile object in the pointer resolves the indices through some
75
/// other Mover's call to its resolve_loop_indices function.
76
loop_mover::LoopMoverOP
77
create_loop_mover
(
78
std::string
const
& type_name,
79
GuardedLoopsFromFileOP
guarded_loops
80
);
81
82
private
:
83
84
loop_mover::LoopMoverOP
85
create_loop_mover
(
86
std::string
const
& type_name
87
);
88
89
private
:
90
91
static
LoopMoverFactory
*
instance_
;
92
93
};
94
95
}
// namespace
96
}
// namespace
97
98
#endif
Generated on Sat Jun 1 2013 11:59:00 for Rosetta 3.5 by
1.8.4