IMP
2.2.0
The Integrative Modeling Platform
IMP Mainpage
All IMP Modules
Related Pages
Modules
Namespaces
Classes
Files
Examples
Indexes
File List
File Members
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-2014 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
IMP_VALUES
#define IMP_VALUES(Name, PluralName)
Define the type for storing sets of values.
Definition:
base/value_macros.h:24
IMP::base::Vector
Definition:
base/Vector.h:37
IMP::kernel::Decorator
Definition:
kernel/Decorator.h:115
IMP_DECORATOR_SETUP_0
#define IMP_DECORATOR_SETUP_0(Name)
Definition:
kernel/decorator_macros.h:126
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.
exception.h
Exception definitions and assertions.
IMP::Float
double Float
Basic floating-point value (could be float, double...)
Definition:
base/types.h:20
IMP::Int
int Int
Basic integer value.
Definition:
base/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:72