IMP
2.0.0
The Integrative Modeling Platform
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
MinimumQuadRestraint.h
Go to the documentation of this file.
1
/**
2
* \file IMP/container/MinimumQuadRestraint.h
3
* \brief Score based on the minimum score over a set of Quads
4
*
5
* WARNING This file was generated from MinimumQuadRestraint.h
6
* in /tmp/nightly-build-5687/imp-2.0.0/tools/build/container_templates/container
7
* by tools/maintenance/setup_containers.py.
8
*
9
* Copyright 2007-2013 IMP Inventors. All rights reserved.
10
*/
11
12
#ifndef IMPCONTAINER_MINIMUM_QUAD_RESTRAINT_H
13
#define IMPCONTAINER_MINIMUM_QUAD_RESTRAINT_H
14
15
#include <IMP/container/container_config.h>
16
#include <
IMP/Restraint.h
>
17
#include <
IMP/QuadScore.h
>
18
#include <
IMP/QuadContainer.h
>
19
#include <
IMP/restraint_macros.h
>
20
21
IMPCONTAINER_BEGIN_NAMESPACE
22
23
//! Score based on the min or max QuadScore over a set
24
/** The score is evaluated for each of the VALUETYPE in the container
25
and the value of the min or max n scores is used. That is,
26
if n is 1, the value of the restraint is the value of the min or max
27
score over the container.
28
*/
29
class
IMPCONTAINEREXPORT
MinimumQuadRestraint
30
:
public
Restraint
31
{
32
IMP::base::OwnerPointer<QuadScore>
f_;
33
IMP::base::OwnerPointer<QuadContainer>
c_;
34
unsigned
int
n_;
35
public
:
36
/** n is the number of LCMinimum scores to use.
37
*/
38
MinimumQuadRestraint
(
QuadScore
*f,
39
QuadContainerAdaptor c,
40
unsigned
int
n=1,
41
std::string name
42
=
"MinimumQuadRestraint %1%"
);
43
44
public
:
45
double
unprotected_evaluate(
IMP::DerivativeAccumulator
*accum)
46
const
IMP_OVERRIDE;
47
IMP::ModelObjectsTemp
do_get_inputs
()
const
IMP_OVERRIDE;
48
IMP_OBJECT_METHODS
(
MinimumQuadRestraint
);;
49
50
//! Set the number of lowest scores to use.
51
void
set_n
(
unsigned
int
n) { n_=n;}
52
#ifndef IMP_DOXYGEN
53
Restraints
do_create_current_decomposition
() const IMP_OVERRIDE;
54
double
unprotected_evaluate_if_good(
DerivativeAccumulator
*da,
55
double
max) const IMP_OVERRIDE;
56
#endif
57
};
58
59
60
IMPCONTAINER_END_NAMESPACE
61
62
#endif
/* IMPCONTAINER_MINIMUM_QUAD_RESTRAINT_H */