IMP
2.1.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 isd/Weight.h
3
* \brief Add weights for a set of states to a particle.
4
*
5
* Copyright 2007-2013 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
27
static
const
int
nstates_max = 20;
28
static
void
do_setup_particle(
kernel::Model
*m,
29
kernel::ParticleIndex
pi);
30
public
:
31
32
IMP_DECORATOR_METHODS
(
Weight
,
Decorator
);
33
IMP_DECORATOR_SETUP_0
(
Weight
);
34
35
//! Get number of states key
36
static
IntKey
get_nstates_key();
37
38
//! Get i-th weight key
39
static
FloatKey
get_weight_key(
int
i);
40
41
//! Set all the weights
42
void
set_weights(
algebra::VectorKD
w);
43
44
//! Add one weight
45
void
add_weight();
46
47
//! Get the i-th weight
48
Float
get_weight(
int
i);
49
50
//! Get all the weights
51
algebra::VectorKD
get_weights();
52
53
//! Set weights are optimized
54
void
set_weights_are_optimized(
bool
tf);
55
56
//! Get number of states
57
Int
get_number_of_states();
58
59
static
bool
get_is_setup
(
kernel::Model
*m,
60
kernel::ParticleIndex
pi) {
61
return
m->get_has_attribute(get_nstates_key(), pi);
62
}
63
64
};
65
66
IMP_VALUES
(
Weight
,
Weights
);
67
68
IMPISD_END_NAMESPACE
69
70
#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:88
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:114
IMP::algebra::VectorD
A Cartesian vector in D-dimensions.
Definition:
VectorD.h:48
IMP::kernel::Decorator::get_is_setup
static bool get_is_setup(Particle *p)
Return true if the particle can be cast to the decorator.
IMP_DECORATOR_SETUP_0
#define IMP_DECORATOR_SETUP_0(Name)
Definition:
kernel/decorator_macros.h:258
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::kernel::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
kernel/declare_Model.h:72