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
IMP
All IMP Modules
All IMP Modules and Applications
Argument Index
Class Examples
Design example
Developer Guide
Factory Index
Function Examples
Installation
Introduction
For IMP 2.2
Tools
Dependencies
EMageFit protocol
EMageFit scripts and tools
Integrative docking utility programs
Deprecated List
Modules
Namespaces
Classes
Files
File List
File Members
Examples
Indexes
Class Usage
Class Examples
Class Factories
Function Examples
kernel/SingletonModifier.h
Go to the documentation of this file.
1
/**
2
* \file IMP/kernel/SingletonModifier.h
3
* \brief A Modifier on kernel::ParticlesTemp
4
*
5
* WARNING This file was generated from SingletonModifier.h
6
* in /tmp/nightly-build-28832/imp-2.2.0/tools/build/container_templates/kernel
7
* by tools/maintenance/setup_containers.py.
8
*
9
* Copyright 2007-2014 IMP Inventors. All rights reserved.
10
*/
11
12
#ifndef IMPKERNEL_SINGLETON_MODIFIER_H
13
#define IMPKERNEL_SINGLETON_MODIFIER_H
14
15
#include <IMP/kernel/kernel_config.h>
16
#include "
DerivativeAccumulator.h
"
17
#include "
base_types.h
"
18
#include "
ParticleTuple.h
"
19
#include "internal/container_helpers.h"
20
#include "
model_object_helpers.h
"
21
22
IMPKERNEL_BEGIN_NAMESPACE
23
24
//! A base class for modifiers of kernel::ParticlesTemp
25
/** The primary function of such a class is to change
26
the passed particles.
27
28
\see IMP::SingletonFunctor
29
30
Implementors should see IMP_SINGLETON_MODIFIER(). Also see
31
SingletonDerivativeModifier.
32
*/
33
class
IMPKERNELEXPORT
SingletonModifier
:
public
ParticleInputs
,
34
public
ParticleOutputs
,
35
public
base::Object
{
36
public
:
37
typedef
kernel::Particle
*
Argument
;
38
typedef
kernel::ParticleIndex
IndexArgument
;
39
SingletonModifier
(std::string name =
"SingletonModifier %1%"
);
40
41
/** \deprecated_at{2.1} use the index version instead*/
42
IMPKERNEL_DEPRECATED_METHOD_DECL(2.1)
43
virtual
void
apply(
kernel::Particle
* vt)
const
;
44
45
/** Apply the function to a single value*/
46
virtual
void
apply_index(
kernel::Model
*m,
kernel::ParticleIndex
v)
const
;
47
48
/** Apply the function to a collection of kernel::ParticlesTemp */
49
/** If bounds are passed, only apply to ones between the upper and
50
lower bounds.*/
51
virtual
void
apply_indexes
(
kernel::Model
*m,
const
kernel::ParticleIndexes
&o,
52
unsigned
int
lower_bound,
53
unsigned
int
upper_bound)
const
{
54
for
(
unsigned
int
i = lower_bound; i < upper_bound; ++i) {
55
apply_index(m, o[i]);
56
}
57
}
58
};
59
60
IMPKERNEL_END_NAMESPACE
61
62
#endif
/* IMPKERNEL_SINGLETON_MODIFIER_H */
DerivativeAccumulator.h
Class for adding derivatives from restraints to the model.
base_types.h
Basic types used by IMP.
IMP::base::Vector< ParticleIndex >
IMP::kernel::SingletonModifier
A base class for modifiers of kernel::ParticlesTemp.
Definition:
kernel/SingletonModifier.h:33
model_object_helpers.h
Single variable function.
IMP::SingletonModifier
IMP::kernel::SingletonModifier SingletonModifier
Definition:
kernel/doxygen.h:224
IMP::kernel::ParticleOutputs
Definition:
kernel/model_object_helpers.h:41
IMP::kernel::ParticleInputs
Definition:
kernel/model_object_helpers.h:18
IMP::kernel::Particle
Class to handle individual model particles.
Definition:
kernel/Particle.h:34
IMP::base::Index< ParticleIndexTag >
IMP::base::Object
Common base class for heavy weight IMP objects.
Definition:
base/Object.h:106
ParticleTuple.h
Classes to handle individual model particles.
IMP::kernel::SingletonModifier::apply_indexes
virtual void apply_indexes(kernel::Model *m, const kernel::ParticleIndexes &o, unsigned int lower_bound, unsigned int upper_bound) const
Definition:
kernel/SingletonModifier.h:51
IMP::kernel::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
kernel/Model.h:72