IMP.bff
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
AV Class Reference

A decorator for a particle with accessible volume (AV). More...

#include <AV.h>

Inheritance diagram for AV:
Inheritance graph
Collaboration diagram for AV:
Collaboration graph

Public Member Functions

IMP::bff::PathMapHeader create_path_map_header ()
 Creates a path map header.
 
void init_path_map ()
 Initializes the path map.
 
ParticleIndex get_particle_index () const
 Get the particle index of the AV object.
 
ParticleIndex get_particle_index (unsigned int i) const
 Get the particle index of the AV object at the specified index.
 
Particle * get_particle () const
 Get the particle pointer of the AV object.
 
Particle * get_particle (unsigned int i) const
 Get the particle pointer of the AV object at the specified index.
 
 IMP_DECORATOR_METHODS (AV, IMP::core::Gaussian)
 
 IMP_DECORATOR_SETUP_1 (AV, IMP::ParticleIndex, pi_source)
 
 IMP_DECORATOR_GET_SET (linker_length, get_av_key(0), Float, Float)
 
 IMP_DECORATOR_GET_SET (radius1, get_av_key(1), Float, Float)
 
 IMP_DECORATOR_GET_SET (radius2, get_av_key(2), Float, Float)
 
 IMP_DECORATOR_GET_SET (radius3, get_av_key(3), Float, Float)
 
 IMP_DECORATOR_GET_SET (linker_width, get_av_key(4), Float, Float)
 
 IMP_DECORATOR_GET_SET (allowed_sphere_radius, get_av_key(5), Float, Float)
 
 IMP_DECORATOR_GET_SET (contact_volume_thickness, get_av_key(6), Float, Float)
 
 IMP_DECORATOR_GET_SET (contact_volume_trapped_fraction, get_av_key(7), Float, Float)
 
 IMP_DECORATOR_GET_SET (simulation_grid_resolution, get_av_key(8), Float, Float)
 
IMP::algebra::Vector3D get_radii ()
 Returns the radii of an object.
 
bool get_parameters_are_optimized () const
 Get whether the coordinates are optimized.
 
void set_av_parameters_are_optimized (bool tf) const
 Set whether the coordinates are optimized.
 
void set_av_parameter (const nlohmann::json &j)
 Sets the AV parameter using a JSON object.
 
algebra::Vector3D get_derivatives () const
 Get the vector of derivatives accumulated by add_to_derivatives().
 
IMP::bff::PathMap * get_map () const
 Get the PathMap associated with the AV object.
 
void resample (bool shift_xyz=true)
 Resample the AV object.
 
IMP::algebra::Vector3D get_mean_position (bool include_source=true) const
 Get the mean position of the AV object.
 
IMP::algebra::Vector3D get_source_coordinates () const
 Get the source coordinates of the AV object.
 
Particle * get_source () const
 Get the source particle of the AV object.
 

Static Public Member Functions

static FloatKey get_av_key (unsigned int i)
 Get the FloatKey object for a specific AV feature.
 
static void do_setup_particle (Model *m, ParticleIndex pi, ParticleIndex pi_source, double linker_length=20.0, const algebra::Vector3D radii=algebra::Vector3D(3.5, 0, 0), double linker_width=0.5, double allowed_sphere_radius=1.5, double contact_volume_thickness=0.0, double contact_volume_trapped_fraction=-1, double simulation_grid_resolution=1.5)
 Sets up the attributes for a particle in a model for AV (Anisotropic Volume) calculations.
 
static ParticleIndexKey get_particle_key (unsigned int i)
 Get the particle key for the specified index.
 
static bool get_is_setup (Model *m, ParticleIndex pi)
 

Protected Member Functions

IMP::algebra::VectorD< 9 > get_parameter () const
 

Detailed Description

A decorator for a particle with accessible volume (AV).

Using the decorator one can get and set AV parameters and modify derivatives.

AV must have IMP.Hierarchy parent with XYZ -> is labeling site AV coordinates = AV mean position

Member Function Documentation

◆ create_path_map_header()

IMP::bff::PathMapHeader AV::create_path_map_header ( )

Creates a path map header.

Returns
The created path map header.

◆ do_setup_particle()

static void AV::do_setup_particle ( Model *  m,
ParticleIndex  pi,
ParticleIndex  pi_source,
double  linker_length = 20.0,
const algebra::Vector3D  radii = algebra::Vector3D(3.5, 0, 0),
double  linker_width = 0.5,
double  allowed_sphere_radius = 1.5,
double  contact_volume_thickness = 0.0,
double  contact_volume_trapped_fraction = -1,
double  simulation_grid_resolution = 1.5 
)
inlinestatic

Sets up the attributes for a particle in a model for AV (Anisotropic Volume) calculations.

This function sets up the attributes for a particle in a model for AV calculations. The attributes include linker length, radii, linker width, allowed sphere radius, contact volume thickness, contact volume trapped fraction, and simulation grid resolution. It also sets up a particle attribute to store the source particle index.

Parameters
mThe model in which the particle resides.
piThe index of the particle to set up.
pi_sourceThe index of the source particle.
linker_lengthThe length of the linker.
radiiThe radii of the particle in the x, y, and z directions.
linker_widthThe width of the linker.
allowed_sphere_radiusThe radius of the allowed sphere.
contact_volume_thicknessThe thickness of the contact volume.
contact_volume_trapped_fractionThe fraction of the contact volume that is trapped.
simulation_grid_resolutionThe resolution of the simulation grid.

◆ get_av_key()

static FloatKey AV::get_av_key ( unsigned int  i)
inlinestatic

Get the FloatKey object for a specific AV feature.

This function returns a FloatKey object representing a specific AV feature based on the given index.

Parameters
iThe index of the AV feature.
Returns
The FloatKey object for the AV feature at the given index.
Note
The valid range for the index is 0 to 8.
If the index is out of range, an error message will be generated.

◆ get_derivatives()

algebra::Vector3D AV::get_derivatives ( ) const
inline

Get the vector of derivatives accumulated by add_to_derivatives().

Somewhat suspect based on wanting a Point/Vector differentiation but we don't have points

◆ get_is_setup()

static bool AV::get_is_setup ( Model *  m,
ParticleIndex  pi 
)
inlinestatic

◆ get_map()

IMP::bff::PathMap * AV::get_map ( ) const

Get the PathMap associated with the AV object.

Returns
A pointer to the PathMap object.

◆ get_mean_position()

IMP::algebra::Vector3D AV::get_mean_position ( bool  include_source = true) const

Get the mean position of the AV object.

Returns
The mean position as a Vector3D.

◆ get_parameter()

IMP::algebra::VectorD< 9 > AV::get_parameter ( ) const
inlineprotected

◆ get_parameters_are_optimized()

bool AV::get_parameters_are_optimized ( ) const
inline

Get whether the coordinates are optimized.

Returns
true only if all of them are optimized.

◆ get_particle() [1/2]

Particle * AV::get_particle ( ) const
inline

Get the particle pointer of the AV object.

Returns
The particle pointer of the AV object.

◆ get_particle() [2/2]

Particle * AV::get_particle ( unsigned int  i) const
inline

Get the particle pointer of the AV object at the specified index.

Parameters
iThe index of the AV object.
Returns
The particle pointer of the AV object at the specified index.

◆ get_particle_index() [1/2]

ParticleIndex AV::get_particle_index ( ) const
inline

Get the particle index of the AV object.

Returns
The particle index of the AV object.

◆ get_particle_index() [2/2]

ParticleIndex AV::get_particle_index ( unsigned int  i) const
inline

Get the particle index of the AV object at the specified index.

Parameters
iThe index of the AV object.
Returns
The particle index of the AV object at the specified index.

◆ get_particle_key()

static ParticleIndexKey AV::get_particle_key ( unsigned int  i)
inlinestatic

Get the particle key for the specified index.

Parameters
iThe index of the particle key.
Returns
The particle key at the specified index.

◆ get_radii()

IMP::algebra::Vector3D AV::get_radii ( )
inline

Returns the radii of an object.

This function returns the radii of an object as a 3D vector. The radii are obtained by calling the functions get_radius1(), get_radius2(), and get_radius3() and storing the values in a Vector3D object.

Returns
A Vector3D object representing the radii of the object.

◆ get_source()

Particle * AV::get_source ( ) const

Get the source particle of the AV object.

Returns
A pointer to the source Particle object.

◆ get_source_coordinates()

IMP::algebra::Vector3D AV::get_source_coordinates ( ) const

Get the source coordinates of the AV object.

Returns
The source coordinates as a Vector3D.

◆ IMP_DECORATOR_GET_SET() [1/9]

AV::IMP_DECORATOR_GET_SET ( allowed_sphere_radius  ,
get_av_key(5)  ,
Float  ,
Float   
)

◆ IMP_DECORATOR_GET_SET() [2/9]

AV::IMP_DECORATOR_GET_SET ( contact_volume_thickness  ,
get_av_key(6)  ,
Float  ,
Float   
)

◆ IMP_DECORATOR_GET_SET() [3/9]

AV::IMP_DECORATOR_GET_SET ( contact_volume_trapped_fraction  ,
get_av_key(7)  ,
Float  ,
Float   
)

◆ IMP_DECORATOR_GET_SET() [4/9]

AV::IMP_DECORATOR_GET_SET ( linker_length  ,
get_av_key(0)  ,
Float  ,
Float   
)

◆ IMP_DECORATOR_GET_SET() [5/9]

AV::IMP_DECORATOR_GET_SET ( linker_width  ,
get_av_key(4)  ,
Float  ,
Float   
)

◆ IMP_DECORATOR_GET_SET() [6/9]

AV::IMP_DECORATOR_GET_SET ( radius1  ,
get_av_key(1)  ,
Float  ,
Float   
)

◆ IMP_DECORATOR_GET_SET() [7/9]

AV::IMP_DECORATOR_GET_SET ( radius2  ,
get_av_key(2)  ,
Float  ,
Float   
)

◆ IMP_DECORATOR_GET_SET() [8/9]

AV::IMP_DECORATOR_GET_SET ( radius3  ,
get_av_key(3)  ,
Float  ,
Float   
)

◆ IMP_DECORATOR_GET_SET() [9/9]

AV::IMP_DECORATOR_GET_SET ( simulation_grid_resolution  ,
get_av_key(8)  ,
Float  ,
Float   
)

◆ IMP_DECORATOR_METHODS()

AV::IMP_DECORATOR_METHODS ( AV  ,
IMP::core::Gaussian   
)

◆ IMP_DECORATOR_SETUP_1()

AV::IMP_DECORATOR_SETUP_1 ( AV  ,
IMP::ParticleIndex  ,
pi_source   
)

Setup the particle with unspecified AV - uses default values.

◆ init_path_map()

void AV::init_path_map ( )

Initializes the path map.

This function initializes the path map used by the AV system. The path map is a data structure that stores information about the available paths or routes in the system.

Returns
void

◆ resample()

void AV::resample ( bool  shift_xyz = true)

Resample the AV object.

Parameters
shift_xyzFlag indicating whether to shift the XYZ coordinates.

◆ set_av_parameter()

void AV::set_av_parameter ( const nlohmann::json &  j)

Sets the AV parameter using a JSON object.

This function takes a JSON object as input and sets the AV parameter accordingly.

Parameters
jThe JSON object containing the AV parameter.

◆ set_av_parameters_are_optimized()

void AV::set_av_parameters_are_optimized ( bool  tf) const
inline

Set whether the coordinates are optimized.


The documentation for this class was generated from the following file: