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
unfolded_state_energy_calculator
UnfoldedStateEnergyCalculatorMPIWorkPoolJobDistributor.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 protocolsoped 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 protocols/UnfoldedStateEnergyCalculator/UnfoldedStateEnergyCalculatorMPIWorkPoolJobDistributor.hh
11
/// @brief Job distributor for UnfoldedStateEnergyCalculator
12
/// @author P. douglas Renfrew (renfrew@unc.edu)
13
14
#ifndef INCLUDED_protocols_unfolded_state_energy_calculator_UnfoldedStateEnergyCalculatorMPIWorkPoolJobDistributor_hh
15
#define INCLUDED_protocols_unfolded_state_energy_calculator_UnfoldedStateEnergyCalculatorMPIWorkPoolJobDistributor_hh
16
17
// Unit headers
18
#include <
protocols/unfolded_state_energy_calculator/UnfoldedStateEnergyCalculatorMPIWorkPoolJobDistributor.fwd.hh
>
19
20
// Package headers
21
#include <
protocols/jd2/MPIWorkPoolJobDistributor.hh
>
22
#include <
protocols/moves/Mover.fwd.hh
>
23
24
// Project headers
25
#include <
core/types.hh
>
26
27
#include <
core/scoring/EnergyMap.hh
>
28
29
// Utility headers
30
#include <utility/vector1.hh>
31
32
#ifdef WIN32
33
#include <
protocols/moves/Mover.hh
>
34
#endif
35
36
37
namespace
protocols {
38
namespace
unfolded_state_energy_calculator {
39
40
// these function like the mpi tags from MPIWorkPoolJobDistributor.hh
41
const
int
UNFOLDED_ENERGY_DATA_TAG
( 40 );
42
const
int
UNFOLDED_ENERGY_TERMS_TAG
( 50 );
43
const
int
LENGTH_TLC
( 3 );
44
45
class
UnfoldedStateEnergyCalculatorMPIWorkPoolJobDistributor
:
public
protocols::jd2::MPIWorkPoolJobDistributor
46
{
47
public
:
48
typedef
std::map<std::string, utility::vector1< core::scoring::EMapVector > >::iterator
uem_iter
;
49
50
///@brief ctor is protected; singleton pattern
51
UnfoldedStateEnergyCalculatorMPIWorkPoolJobDistributor
();
52
53
///WARNING WARNING! SINGLETONS' DESTRUCTORS ARE NEVER CALLED IN MINI! DO NOT TRY TO PUT THINGS IN THIS FUNCTION!
54
///here's a nice link explaining why: http://www.research.ibm.com/designpatterns/pubs/ph-jun96.txt
55
virtual
~UnfoldedStateEnergyCalculatorMPIWorkPoolJobDistributor
();
56
57
///@brief dummy for master/slave version
58
void
59
add_unfolded_energy_data
(
std::string
tlc,
core::scoring::EMapVector
const
& scores );
60
61
///@brief dummy for master/slave version
62
void
63
set_energy_terms
(
core::scoring::EMapVector
const
& weights );
64
65
protected
:
66
67
///@brief
68
virtual
69
void
70
master_go
(
protocols::moves::MoverOP
mover );
71
72
private
:
73
74
///@brief dummy for master/slave version
75
void
76
master_add_unfolded_energy_data
(
std::string
tlc,
core::scoring::EMapVector
const
& scores );
77
78
///@brief dummy for master/slave version
79
void
80
slave_add_unfolded_energy_data
(
std::string
tlc,
core::scoring::EMapVector
const
& scores );
81
82
///@brief dummy for master/slave version
83
void
84
master_set_energy_terms
(
core::scoring::EMapVector
const
& weights );
85
86
///@brief dummy for master/slave version
87
void
88
slave_set_energy_terms
(
core::scoring::EMapVector
const
& weights );
89
90
private
:
91
92
// energy map to hold weights to determin which terms are turned on
93
core::scoring::EMapVector
energy_terms_
;
94
95
// vector of energy maps to hold data
96
utility::vector1< core::scoring::EMapVector >
unweighted_energies_
;
97
98
// map to hold vector of energies for each residue type encountered
99
std::map<std::string, utility::vector1< core::scoring::EMapVector > >
unweighted_energies_map_
;
100
101
};
102
103
}
// UnfoldedStateEnergyCalculator
104
}
// protocols
105
106
#endif //INCLUDED_protocols_UnfoldedStateEnergyCalculator_UnfoldedStateEnergyCalculatorMPIWorkPoolJobDistributor_HH
Generated on Sat Jun 1 2013 12:25:09 for Rosetta 3.5 by
1.8.4