IMP
2.4.0
The Integrative Modeling Platform
IMP Mainpage
Modules
Classes
Examples
include
IMP
isd
Weight.h
Go to the documentation of this file.
1
/**
2
* \file IMP/isd/Weight.h
3
* \brief Add weights for a set of states to a particle.
4
*
5
* Copyright 2007-2015 IMP Inventors. All rights reserved.
6
*
7
*/
8
9
#ifndef IMPISD_WEIGHT_H
10
#define IMPISD_WEIGHT_H
11
12
#include "isd_config.h"
13
14
#include <
IMP/kernel/Particle.h
>
15
#include <
IMP/decorator_macros.h
>
16
#include <
IMP/kernel/Model.h
>
17
#include <
IMP/Decorator.h
>
18
#include <
IMP/base/exception.h
>
19
#include <sstream>
20
21
IMPISD_BEGIN_NAMESPACE
22
23
//! Add weights for a set of states to a particle.
24
class
IMPISDEXPORT
Weight
:
public
Decorator
{
25
26
static
const
int
nstates_max = 20;
27
static
void
do_setup_particle(
kernel::Model
*m,
kernel::ParticleIndex
pi);
28
29
public
:
30
IMP_DECORATOR_METHODS
(
Weight
,
Decorator
);
31
IMP_DECORATOR_SETUP_0
(
Weight
);
32
33
//! Get number of states key
34
static
IntKey
get_nstates_key();
35
36
//! Get i-th weight key
37
static
FloatKey
get_weight_key(
int
i);
38
39
//! Set all the weights
40
void
set_weights(
algebra::VectorKD
w);
41
42
//! Add one weight
43
void
add_weight();
44
45
//! Get the i-th weight
46
Float
get_weight(
int
i);
47
48
//! Get all the weights
49
algebra::VectorKD
get_weights();
50
51
//! Set weights are optimized
52
void
set_weights_are_optimized(
bool
tf);
53
54
//! Get number of states
55
Int
get_number_of_states();
56
57
static
bool
get_is_setup(
kernel::Model
*m,
kernel::ParticleIndex
pi) {
58
return
m->get_has_attribute(get_nstates_key(), pi);
59
}
60
};
61
62
IMP_VALUES
(
Weight
,
Weights
);
63
64
IMPISD_END_NAMESPACE
65
66
#endif
/* IMPISD_WEIGHT_H */
Decorator.h
Import IMP/kernel/Decorator.h in the namespace.
IMP::kernel::Key
A base class for Keys.
Definition:
kernel/Key.h:46
IMP::isd::Weight
Add weights for a set of states to a particle.
Definition:
Weight.h:24
IMP_DECORATOR_METHODS
#define IMP_DECORATOR_METHODS(Name, Parent)
Definition:
kernel/decorator_macros.h:27
exception.h
Exception definitions and assertions.
IMP::base::Vector
Definition:
Vector.h:37
IMP::kernel::Decorator
Definition:
kernel/Decorator.h:116
IMP_VALUES
#define IMP_VALUES(Name, PluralName)
Define the type for storing sets of values.
Definition:
value_macros.h:23
IMP_DECORATOR_SETUP_0
#define IMP_DECORATOR_SETUP_0(Name)
Definition:
kernel/decorator_macros.h:111
decorator_macros.h
Import IMP/kernel/decorator_macros.h in the namespace.
IMP::base::Index< ParticleIndexTag >
Model.h
Storage of a model, its restraints, constraints and particles.
Particle.h
Classes to handle individual model particles. (Note that implementation of inline functions in in int...
IMP::Float
double Float
Basic floating-point value (could be float, double...)
Definition:
types.h:20
IMP::Int
int Int
Basic integer value.
Definition:
types.h:35
IMP::algebra::VectorKD
VectorD<-1 > VectorKD
Definition:
VectorD.h:411
IMP::kernel::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
kernel/Model.h:73