IMP logo
IMP Reference Guide  develop.27926d84dc,2024/04/18
The Integrative Modeling Platform
weighted_excluded_volume.h
Go to the documentation of this file.
1 /**
2  * \file IMP/multifit/weighted_excluded_volume.h
3  * \brief handles low resolution weighted excluded
4  * volume calculation.
5  *
6  * Copyright 2007-2022 IMP Inventors. All rights reserved.
7  *
8  */
9 
10 #ifndef IMPMULTIFIT_WEIGHTED_EXCLUDED_VOLUME_H
11 #define IMPMULTIFIT_WEIGHTED_EXCLUDED_VOLUME_H
12 
14 #include <IMP/Model.h>
15 #include <IMP/core/Hierarchy.h>
16 #include <IMP/core/rigid_bodies.h>
17 #include <IMP/atom/Mass.h>
18 #include <IMP/multifit/multifit_config.h>
19 IMPMULTIFIT_BEGIN_NAMESPACE
20 
21 //! Add shell index to leaves
22 /**
23  \param[in] mhd the Hierarchy to modify
24  \param[in] apix the resolution of the surface
25  \param[in] shell_key the Key used to store the shell index
26  \param[in] radius_key the Key used for particle radius
27  \param[in] weight_key the Key used for particle weight (e.g. mass)
28  \note we assume that the leaves are xyz particles
29  */
30 IMPMULTIFITEXPORT void add_surface_index(
31  core::Hierarchy mhd, Float apix, FloatKey shell_key = FloatKey("surf_ind"),
32  FloatKey radius_key = core::XYZR::get_radius_key(),
33  FloatKey weight_key = atom::Mass::get_mass_key());
34 
35 //! Create a weighted excluded volume restraint between two rigid bodies
36 /**
37  \param[in] rb1 the first rigid body
38  \param[in] rb2 the second rigid body
39  \param[in] shell_key the attribute that stored the particles
40  surface level with respect to its molecule
41  */
43  core::RigidBody rb1, core::RigidBody rb2,
44  FloatKey shell_key = FloatKey("surf_ind"));
45 
46 IMPMULTIFIT_END_NAMESPACE
47 #endif /* IMPMULTIFIT_WEIGHTED_EXCLUDED_VOLUME_H */
Decorator for helping deal with a hierarchy.
A decorator for particles with mass.
Key< 0 > FloatKey
The type used to identify float attributes in the Particles.
Definition: base_types.h:32
Storage of a model, its restraints, constraints and particles.
void add_surface_index(core::Hierarchy mhd, Float apix, FloatKey shell_key=FloatKey("surf_ind"), FloatKey radius_key=core::XYZR::get_radius_key(), FloatKey weight_key=atom::Mass::get_mass_key())
Add shell index to leaves.
functionality for defining rigid bodies
IMP::Restraint * create_weighted_excluded_volume_restraint(core::RigidBody rb1, core::RigidBody rb2, FloatKey shell_key=FloatKey("surf_ind"))
Create a weighted excluded volume restraint between two rigid bodies.
Simple 3D transformation class.
double Float
Basic floating-point value (could be float, double...)
Definition: types.h:19
A restraint is a term in an IMP ScoringFunction.
Definition: Restraint.h:56