IMP  2.0.0
The Integrative Modeling Platform
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 
39 };
40 
41 
42 IMPISD_END_NAMESPACE
43 
44 #endif /* IMPISD_MAINTAIN_SCALE_ORDER_CONSTRAINT_H */