home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
2.20.1
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
isd
version 2.20.1
StudentTRestraint.h
Go to the documentation of this file.
1
/**
2
* \file IMP/isd/StudentTRestraint.h
3
* \brief A Student-t distribution restraint
4
*
5
* Copyright 2007-2022 IMP Inventors. All rights reserved.
6
*
7
*/
8
9
#ifndef IMPISD_STUDENT_T_RESTRAINT_H
10
#define IMPISD_STUDENT_T_RESTRAINT_H
11
12
#include <IMP/isd/isd_config.h>
13
#include <
IMP/isd/FStudentT.h
>
14
#include <
IMP/Particle.h
>
15
#include <
IMP/Restraint.h
>
16
17
IMPISD_BEGIN_NAMESPACE
18
19
//! A Student-t distribution restraint
20
/** It restraints 1 to 3 particles, with the mean \f$\mu\f$, standard deviation
21
\f$\sigma\f$ and degrees of freedom \f$\nu\f$ able to be constants or
22
Nuisance particles.
23
24
\see FStudentT
25
*/
26
class
IMPISDEXPORT
StudentTRestraint
:
public
Restraint
{
27
private
:
28
Pointer<FStudentT>
studentt_;
29
ParticleIndex
px_, pmu_, psigma_, pnu_;
30
double
x_, mu_, sigma_, nu_;
31
bool
isx_, ismu_, issigma_, isnu_;
// true if it's a particle
32
33
private
:
34
double
get_x()
const
;
35
double
get_mu()
const
;
36
double
get_sigma()
const
;
37
double
get_nu()
const
;
38
void
initialize();
39
void
update_distribution();
40
41
public
:
42
StudentTRestraint
(
Model
*m,
ParticleIndexAdaptor
x,
ParticleIndexAdaptor
mu,
43
ParticleIndexAdaptor
sigma,
ParticleIndexAdaptor
nu);
44
StudentTRestraint
(
Model
*m,
ParticleIndexAdaptor
x,
double
mu,
45
ParticleIndexAdaptor
sigma,
ParticleIndexAdaptor
nu);
46
StudentTRestraint
(
Model
*m,
ParticleIndexAdaptor
x,
ParticleIndexAdaptor
mu,
47
double
sigma,
ParticleIndexAdaptor
nu);
48
StudentTRestraint
(
Model
*m,
ParticleIndexAdaptor
x,
ParticleIndexAdaptor
mu,
49
ParticleIndexAdaptor
sigma,
double
nu);
50
StudentTRestraint
(
Model
*m,
ParticleIndexAdaptor
x,
double
mu,
double
sigma,
51
ParticleIndexAdaptor
nu);
52
StudentTRestraint
(
Model
*m,
ParticleIndexAdaptor
x,
double
mu,
53
ParticleIndexAdaptor
sigma,
double
nu);
54
StudentTRestraint
(
Model
*m,
ParticleIndexAdaptor
x,
ParticleIndexAdaptor
mu,
55
double
sigma,
double
nu);
56
StudentTRestraint
(
Model
*m,
ParticleIndexAdaptor
x,
double
mu,
double
sigma,
57
double
nu);
58
StudentTRestraint
(
Model
*m,
double
x,
ParticleIndexAdaptor
mu,
59
ParticleIndexAdaptor
sigma,
ParticleIndexAdaptor
nu);
60
StudentTRestraint
(
Model
*m,
double
x,
double
mu,
ParticleIndexAdaptor
sigma,
61
ParticleIndexAdaptor
nu);
62
StudentTRestraint
(
Model
*m,
double
x,
ParticleIndexAdaptor
mu,
double
sigma,
63
ParticleIndexAdaptor
nu);
64
StudentTRestraint
(
Model
*m,
double
x,
ParticleIndexAdaptor
mu,
65
ParticleIndexAdaptor
sigma,
double
nu);
66
StudentTRestraint
(
Model
*m,
double
x,
double
mu,
double
sigma,
67
ParticleIndexAdaptor
nu);
68
StudentTRestraint
(
Model
*m,
double
x,
double
mu,
ParticleIndexAdaptor
sigma,
69
double
nu);
70
StudentTRestraint
(
Model
*m,
double
x,
ParticleIndexAdaptor
mu,
double
sigma,
71
double
nu);
72
73
//! Get probability (-log score)
74
double
get_probability
()
const
{
return
exp(-
unprotected_evaluate
(
nullptr
)); }
75
76
virtual
double
unprotected_evaluate
(
IMP::DerivativeAccumulator
*accum)
77
const override
;
78
79
virtual
IMP::ModelObjectsTemp
do_get_inputs
()
const override
;
80
81
IMP_OBJECT_METHODS
(
StudentTRestraint
);
82
};
83
84
IMPISD_END_NAMESPACE
85
86
#endif
/* IMPISD_STUDENT_T_RESTRAINT_H */
IMP::isd::StudentTRestraint::get_probability
double get_probability() const
Get probability (-log score)
Definition:
StudentTRestraint.h:74
IMP_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
object_macros.h:25
IMP::ParticleIndexAdaptor
Take Decorator, Particle or ParticleIndex.
Definition:
particle_index.h:32
IMP::Index< ParticleIndexTag >
IMP::Restraint::unprotected_evaluate
virtual double unprotected_evaluate(DerivativeAccumulator *da) const
Return the unweighted score for the restraint.
IMP::Vector
A more IMP-like version of the std::vector.
Definition:
Vector.h:42
IMP::Pointer
A smart pointer to a reference counted object.
Definition:
Pointer.h:87
IMP::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
Model.h:86
IMP::isd::StudentTRestraint
A Student-t distribution restraint.
Definition:
StudentTRestraint.h:26
Particle.h
Classes to handle individual model particles. (Note that implementation of inline functions is in int...
Restraint.h
Abstract base class for all restraints.
FStudentT.h
Joint Student's t-distribution of Function.
IMP::ModelObject::do_get_inputs
virtual ModelObjectsTemp do_get_inputs() const =0
IMP::DerivativeAccumulator
Class for adding derivatives from restraints to the model.
Definition:
DerivativeAccumulator.h:24
IMP::Restraint
A restraint is a term in an IMP ScoringFunction.
Definition:
Restraint.h:56