IMP
2.3.0
The Integrative Modeling Platform
IMP Mainpage
Modules
Applications
Related Pages
Groups
Classes
Files
Examples
Indexes
File List
File Members
kernel/TripletModifier.h
Go to the documentation of this file.
1
/**
2
* \file IMP/kernel/TripletModifier.h
3
* \brief A Modifier on kernel::ParticleTripletsTemp
4
*
5
* WARNING This file was generated from TripletModifier.h
6
* in /tmp/nightly-build-54722/imp-2.3.0/tools/build/container_templates/kernel
7
* by tools/build/make_containers.py.
8
*
9
* Copyright 2007-2014 IMP Inventors. All rights reserved.
10
*/
11
12
#ifndef IMPKERNEL_TRIPLET_MODIFIER_H
13
#define IMPKERNEL_TRIPLET_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::ParticleTripletsTemp
25
/** The primary function of such a class is to change
26
the passed particles.
27
28
\see IMP::TripletFunctor
29
30
Implementors should see IMP_TRIPLET_MODIFIER(). Also see
31
TripletDerivativeModifier.
32
*/
33
class
IMPKERNELEXPORT
TripletModifier
:
public
ParticleInputs
,
34
public
ParticleOutputs
,
35
public
base::Object
{
36
public
:
37
typedef
kernel::ParticleTriplet
Argument
;
38
typedef
kernel::ParticleIndexTriplet
IndexArgument
;
39
TripletModifier
(std::string name =
"TripletModifier %1%"
);
40
41
/** \deprecated_at{2.1} use the index version instead*/
42
IMPKERNEL_DEPRECATED_METHOD_DECL(2.1)
43
virtual
void
apply(
const
kernel::ParticleTriplet
& vt)
const
;
44
45
/** Apply the function to a single value*/
46
virtual
void
apply_index(
kernel::Model
*m,
const
kernel::ParticleIndexTriplet
& v)
const
;
47
48
/** Apply the function to a collection of kernel::ParticleTripletsTemp */
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::ParticleIndexTriplets
&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_TRIPLET_MODIFIER_H */
DerivativeAccumulator.h
Class for adding derivatives from restraints to the model.
IMP::kernel::TripletModifier
A base class for modifiers of kernel::ParticleTripletsTemp.
Definition:
kernel/TripletModifier.h:33
base_types.h
Basic types used by IMP.
IMP::TripletModifier
IMP::kernel::TripletModifier TripletModifier
Definition:
kernel/doxygen.h:242
IMP::base::Vector< ParticleIndexTriplet >
model_object_helpers.h
Single variable function.
IMP::base::Array
A class to store an fixed array of same-typed values.
Definition:
Array.h:33
IMP::kernel::ParticleOutputs
Definition:
kernel/model_object_helpers.h:41
IMP::kernel::ParticleInputs
Definition:
kernel/model_object_helpers.h:18
IMP::base::Object
Common base class for heavy weight IMP objects.
Definition:
Object.h:106
ParticleTuple.h
Classes to handle individual model particles.
IMP::kernel::TripletModifier::apply_indexes
virtual void apply_indexes(kernel::Model *m, const kernel::ParticleIndexTriplets &o, unsigned int lower_bound, unsigned int upper_bound) const
Definition:
kernel/TripletModifier.h:51
IMP::kernel::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
kernel/Model.h:73