IMP
2.0.1
The Integrative Modeling Platform
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
MaintainScaleOrderConstraint.h
Go to the documentation of this file.
1
/**
2
* \file IMP/isd/MaintainScaleOrderConstraint.h
3
* \brief Constrain scales to be ordered and positive.
4
*
5
* Copyright 2007-2013 IMP Inventors. All rights reserved.
6
*/
7
8
#ifndef IMPISD_MAINTAIN_SCALE_ORDER_CONSTRAINT_H
9
#define IMPISD_MAINTAIN_SCALE_ORDER_CONSTRAINT_H
10
11
#include <IMP/isd/isd_config.h>
12
#include <
IMP/Constraint.h
>
13
#include <
IMP/score_state_macros.h
>
14
#include <
IMP/Particle.h
>
15
#include <
IMP/isd/Scale.h
>
16
17
/*
18
* IMPKERNEL_BEGIN_NAMESPACE
19
// for swig
20
class TripletModifier;
21
IMPKERNEL_END_NAMESPACE
22
*/
23
24
IMPISD_BEGIN_NAMESPACE
25
//! Constrain scales to be ordered and positive.
26
/** The score state only acts before evaluation. Given a bunch of particles,
27
* ensures that \f$0<\sigma_1\le\sigma_2\le\cdots\le\sigma_N\f$. It starts by
28
* calling set_scale() on each scale, then gets their values, sorts them, and
29
* sets them back.
30
*/
31
class
IMPISDEXPORT
MaintainScaleOrderConstraint
:
public
Constraint
32
{
33
Particles p_;
34
public
:
35
MaintainScaleOrderConstraint
(
const
Particles& p,
36
std::string name=
"MaintainScaleOrderConstraint %1%"
);
37
38
IMP_CONSTRAINT
(
MaintainScaleOrderConstraint
);
39
};
40
41
42
IMPISD_END_NAMESPACE
43
44
#endif
/* IMPISD_MAINTAIN_SCALE_ORDER_CONSTRAINT_H */