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
 
Definition at line 94 of file AV.h.
 | 
| 
  | AV (::IMP::Model *m,::IMP::ParticleIndex id) | 
|   | 
| 
  | AV (const IMP::ParticleAdaptor &d) | 
|   | 
| IMP::bff::PathMapHeader  | create_path_map_header () | 
|   | Creates a path map header.  More...
  | 
|   | 
| Float  | get_allowed_sphere_radius () const  | 
|   | 
| Float  | get_contact_volume_thickness () const  | 
|   | 
| Float  | get_contact_volume_trapped_fraction () const  | 
|   | 
| algebra::Vector3D  | get_derivatives () const  | 
|   | Get the vector of derivatives accumulated by add_to_derivatives().  More...
  | 
|   | 
| Float  | get_linker_length () const  | 
|   | 
| Float  | get_linker_width () const  | 
|   | 
| IMP::bff::PathMap *  | get_map () const  | 
|   | Get the PathMap associated with the AV object.  More...
  | 
|   | 
| IMP::algebra::Vector3D  | get_mean_position (bool include_source=true) const  | 
|   | Get the mean position of the AV object.  More...
  | 
|   | 
| bool  | get_parameters_are_optimized () const  | 
|   | Get whether the coordinates are optimized.  More...
  | 
|   | 
| Particle *  | get_particle () const  | 
|   | Get the particle pointer of the AV object.  More...
  | 
|   | 
| Particle *  | get_particle (unsigned int i) const  | 
|   | Get the particle pointer of the AV object at the specified index.  More...
  | 
|   | 
| ParticleIndex  | get_particle_index () const  | 
|   | Get the particle index of the AV object.  More...
  | 
|   | 
| ParticleIndex  | get_particle_index (unsigned int i) const  | 
|   | Get the particle index of the AV object at the specified index.  More...
  | 
|   | 
| IMP::algebra::Vector3D  | get_radii () | 
|   | Returns the radii of an object.  More...
  | 
|   | 
| Float  | get_radius1 () const  | 
|   | 
| Float  | get_radius2 () const  | 
|   | 
| Float  | get_radius3 () const  | 
|   | 
| Float  | get_simulation_grid_resolution () const  | 
|   | 
| Particle *  | get_source () const  | 
|   | Get the source particle of the AV object.  More...
  | 
|   | 
| IMP::algebra::Vector3D  | get_source_coordinates () const  | 
|   | Get the source coordinates of the AV object.  More...
  | 
|   | 
| void  | init_path_map () | 
|   | Initializes the path map.  More...
  | 
|   | 
| void  | resample (bool shift_xyz=true) | 
|   | Resample the AV object.  More...
  | 
|   | 
| void  | set_allowed_sphere_radius (Float t) | 
|   | 
| void  | set_av_parameter (const nlohmann::json &j) | 
|   | Sets the AV parameter using a JSON object.  More...
  | 
|   | 
| void  | set_av_parameters_are_optimized (bool tf) const  | 
|   | Set whether the coordinates are optimized.  More...
  | 
|   | 
| void  | set_contact_volume_thickness (Float t) | 
|   | 
| void  | set_contact_volume_trapped_fraction (Float t) | 
|   | 
| void  | set_linker_length (Float t) | 
|   | 
| void  | set_linker_width (Float t) | 
|   | 
| void  | set_radius1 (Float t) | 
|   | 
| void  | set_radius2 (Float t) | 
|   | 
| void  | set_radius3 (Float t) | 
|   | 
| void  | set_simulation_grid_resolution (Float t) | 
|   | 
| 
void  | show (std::ostream &out=std::cout) const  | 
|   | 
| 
  | Gaussian (::IMP::Model *m,::IMP::ParticleIndex id) | 
|   | 
| 
  | Gaussian (const IMP::ParticleAdaptor &d) | 
|   | 
| algebra::Gaussian3D  | get_gaussian () const  | 
|   | create Gaussian3D from these attributes  More...
  | 
|   | 
| Eigen::Matrix3d  | get_global_covariance () | 
|   | retrieve global covariance  More...
  | 
|   | 
| Eigen::Matrix3d  | get_local_covariance () const  | 
|   | retrieve local covariance (as diagonal matrix)  More...
  | 
|   | 
| algebra::Vector3D  | get_variances () const  | 
|   | retrieve local variances as Vector3D  More...
  | 
|   | 
| void  | set_gaussian (const algebra::Gaussian3D &g) | 
|   | Get the covariance attributes from a Gaussian3D object.  More...
  | 
|   | 
| void  | set_global_covariance (Eigen::Matrix3d covar) | 
|   | set the global-frame covariance. does NOT update local frame!  More...
  | 
|   | 
| void  | set_local_covariance (const Eigen::Vector3d covar) | 
|   | set the local-frame covariance.  More...
  | 
|   | 
| void  | set_variances (const algebra::Vector3D v) | 
|   | equivalent to set_local_covariance, used for backwards compatibility  More...
  | 
|   | 
| 
void  | show (std::ostream &out=std::cout) const  | 
|   | 
| void  | update_global_covariance () | 
|   | update the global covariance  More...
  | 
|   | 
  Public Member Functions inherited from IMP::core::RigidBody | 
| 
  | RigidBody (::IMP::Model *m,::IMP::ParticleIndex id) | 
|   | 
| 
  | RigidBody (const IMP::ParticleAdaptor &d) | 
|   | 
| 
  | RigidBody (const RigidBody &)=default | 
|   | 
| void  | add_member (ParticleIndexAdaptor p) | 
|   | 
| void  | add_non_rigid_member (ParticleIndexAdaptor p) | 
|   | 
| void  | add_to_derivatives (const algebra::Vector3D &local_derivative, const algebra::Vector3D &local_location, DerivativeAccumulator &da) | 
|   | 
| void  | add_to_derivatives (const algebra::Vector3D &local_derivative, const algebra::Vector3D &global_derivative, const algebra::Vector3D &local_location, const algebra::Rotation3D &rot_local_to_global, DerivativeAccumulator &da) | 
|   | 
| void  | add_to_rotational_derivatives (const algebra::Vector4D &other_qderiv, const algebra::Rotation3D &rot_other_to_local, const algebra::Rotation3D &rot_local_to_global, DerivativeAccumulator &da) | 
|   | 
| void  | add_to_rotational_derivatives (const algebra::Vector4D &qderiv, DerivativeAccumulator &da) | 
|   | 
| void  | add_to_torque (const algebra::Vector3D &torque_local, DerivativeAccumulator &da) | 
|   | 
| const ParticleIndexes &  | get_body_member_particle_indexes () const  | 
|   | 
| algebra::Vector3D  | get_coordinates () const  | 
|   | 
| bool  | get_coordinates_are_optimized () const  | 
|   | 
| ParticleIndexes  | get_member_indexes () const  | 
|   | 
| const ParticleIndexes &  | get_member_particle_indexes () const  | 
|   | 
| IMP::algebra::ReferenceFrame3D  | get_reference_frame () const  | 
|   | 
| 
RigidMembers  | get_rigid_members () const  | 
|   | 
| IMP::algebra::Rotation3D  | get_rotation () const  | 
|   | 
| algebra::VectorD< 4 >  | get_rotational_derivatives () const  | 
|   | Get the derivatives of the quaternion.  More...
  | 
|   | 
| algebra::Vector3D  | get_torque () const  | 
|   | 
| void  | normalize_rotation () | 
|   | Normalize the quaternion.  More...
  | 
|   | 
| 
RigidBody &  | operator= (const RigidBody &)=default | 
|   | 
| void  | pull_back_body_member_adjoints (ParticleIndex pi, DerivativeAccumulator &da) | 
|   | Pull back global adjoints from member that is also a rigid body.  More...
  | 
|   | 
| void  | pull_back_body_member_adjoints (ParticleIndex pi, const algebra::Transformation3D &TA, algebra::Transformation3D &TB, algebra::Transformation3DAdjoint &DTC, algebra::Transformation3DAdjoint &DTA, algebra::Transformation3DAdjoint &DTB, algebra::Vector3D &betatorque, DerivativeAccumulator &da) | 
|   | 
| void  | pull_back_member_adjoints (ParticleIndex pi, DerivativeAccumulator &da) | 
|   | Pull back global adjoints from member that is a point.  More...
  | 
|   | 
| void  | pull_back_member_adjoints (ParticleIndex pi, const algebra::Transformation3D &T, algebra::Vector3D &x, algebra::Vector3D &Dy, algebra::Vector3D &Dx, algebra::Transformation3DAdjoint &DT, algebra::Vector3D &xtorque, DerivativeAccumulator &da) | 
|   | 
| void  | pull_back_members_adjoints (DerivativeAccumulator &da) | 
|   | Pull back global adjoints from members.  More...
  | 
|   | 
| void  | remove_member (ParticleIndexAdaptor p) | 
|   | Remove the member from this rigid body.  More...
  | 
|   | 
| void  | set_coordinates_are_optimized (bool tf) | 
|   | 
| void  | set_is_rigid_member (ParticleIndex pi, bool tf) | 
|   | 
| void  | set_reference_frame (const IMP::algebra::ReferenceFrame3D &tr) | 
|   | Set the current reference frame.  More...
  | 
|   | 
| void  | set_reference_frame_from_members (const ParticleIndexes &members) | 
|   | 
| void  | set_reference_frame_lazy (const IMP::algebra::ReferenceFrame3D &tr) | 
|   | Change the reference, delay updating the members until evaluate.  More...
  | 
|   | 
| 
void  | show (std::ostream &out=std::cout) const  | 
|   | 
| void  | update_members () | 
|   | 
| 
  | XYZ (::IMP::Model *m,::IMP::ParticleIndex id) | 
|   | 
| 
  | XYZ (const IMP::ParticleAdaptor &d) | 
|   | 
| void  | add_to_derivative (int i, Float v, DerivativeAccumulator &d) | 
|   | 
| void  | add_to_derivatives (const algebra::Vector3D &v, DerivativeAccumulator &d) | 
|   | Add the vector v to the derivative vector of the x,y,z coordinates.  More...
  | 
|   | 
| Float  | get_coordinate (int i) const  | 
|   | Get the ith coordinate.  More...
  | 
|   | 
| const algebra::Vector3D &  | get_coordinates () const  | 
|   | Convert it to a vector.  More...
  | 
|   | 
| bool  | get_coordinates_are_optimized () const  | 
|   | Get whether the coordinates are optimized.  More...
  | 
|   | 
| Float  | get_derivative (int i) const  | 
|   | 
| algebra::Vector3D  | get_derivatives () const  | 
|   | Get the vector of derivatives accumulated by add_to_derivatives().  More...
  | 
|   | 
| algebra::Vector3D  | get_vector_to (const XYZ &b) const  | 
|   | Get the vector from this particle to another.  More...
  | 
|   | 
| Float  | get_x () const  | 
|   | 
| Float  | get_y () const  | 
|   | 
| Float  | get_z () const  | 
|   | 
| void  | set_coordinate (unsigned int i, Float v) | 
|   | set the ith coordinate  More...
  | 
|   | 
| void  | set_coordinates (const algebra::Vector3D &v) | 
|   | set all coordinates from a vector  More...
  | 
|   | 
| void  | set_coordinates_are_optimized (bool tf) const  | 
|   | Set whether the coordinates are optimized.  More...
  | 
|   | 
| void  | set_x (Float t) | 
|   | 
| void  | set_y (Float t) | 
|   | 
| void  | set_z (Float t) | 
|   | 
| 
void  | show (std::ostream &out=std::cout) const  | 
|   | 
| bool  | get_is_valid () const  | 
|   | Returns true if constructed with a non-default constructor.  More...
  | 
|   | 
| Model *  | get_model () const  | 
|   | Returns the Model containing the particle.  More...
  | 
|   | 
| Particle *  | get_particle () const  | 
|   | Returns the particle decorated by this decorator.  More...
  | 
|   | 
| ParticleIndex  | get_particle_index () const  | 
|   | Returns the particle index decorated by this decorator.  More...
  | 
|   | 
| 
  | operator Particle * () const  | 
|   | 
| 
  | operator ParticleIndex () const  | 
|   | 
| 
Particle *  | operator-> () const  | 
|   | 
 | 
| 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.  More...
  | 
|   | 
| static FloatKey  | get_av_key (unsigned int i) | 
|   | Get the FloatKey object for a specific AV feature.  More...
  | 
|   | 
| 
static bool  | get_is_setup (const IMP::ParticleAdaptor &p) | 
|   | 
| 
static bool  | get_is_setup (Model *m, ParticleIndex pi) | 
|   | 
| static ParticleIndexKey  | get_particle_key (unsigned int i) | 
|   | Get the particle key for the specified index.  More...
  | 
|   | 
| static AV  | setup_particle (Model *m, ParticleIndex pi, IMP::ParticleIndex pi_source) | 
|   | 
| static AV  | setup_particle (IMP::ParticleAdaptor pa, IMP::ParticleIndex pi_source) | 
|   | 
| 
static ObjectKey  | get_global_covariance_key () | 
|   | 
| 
static bool  | get_is_setup (const IMP::ParticleAdaptor &p) | 
|   | 
| 
static bool  | get_is_setup (Model *m, ParticleIndex pi) | 
|   | 
| 
static ObjectKey  | get_local_covariance_key () | 
|   | 
| static Gaussian  | setup_particle (Model *m, ParticleIndex pi) | 
|   | 
| static Gaussian  | setup_particle (IMP::ParticleAdaptor pa) | 
|   | 
| static Gaussian  | setup_particle (Model *m, ParticleIndex pi, algebra::Gaussian3D g) | 
|   | 
| static Gaussian  | setup_particle (IMP::ParticleAdaptor pa, algebra::Gaussian3D g) | 
|   | 
  Static Public Member Functions inherited from IMP::core::RigidBody | 
| 
static bool  | get_is_setup (const IMP::ParticleAdaptor &p) | 
|   | 
| static bool  | get_is_setup (Model *m, ParticleIndex pi) | 
|   | Return true if the particle is a rigid body.  More...
  | 
|   | 
| static FloatKeys  | get_rotation_keys () | 
|   | Get keys for rotation quaternion.  More...
  | 
|   | 
| static RigidBody  | setup_particle (IMP::ParticleAdaptor pa, ParticleIndexesAdaptor ps) | 
|   | 
| static RigidBody  | setup_particle (Model *m, ParticleIndex pi, ParticleIndexesAdaptor ps) | 
|   | 
| static RigidBody  | setup_particle (IMP::ParticleAdaptor pa, algebra::ReferenceFrame3D rf) | 
|   | 
| static RigidBody  | setup_particle (Model *m, ParticleIndex pi, algebra::ReferenceFrame3D rf) | 
|   | 
| static void  | teardown_particle (RigidBody rb) | 
|   | Make the rigid body no longer rigid.  More...
  | 
|   | 
| 
static FloatKey  | get_coordinate_key (unsigned int i) | 
|   | 
| 
static bool  | get_is_setup (const IMP::ParticleAdaptor &p) | 
|   | 
| 
static bool  | get_is_setup (Model *m, ParticleIndex pi) | 
|   | 
| static const FloatKeys &  | get_xyz_keys () | 
|   | Get a vector containing the keys for x,y,z.  More...
  | 
|   | 
| static XYZ  | setup_particle (IMP::ParticleAdaptor pa) | 
|   | 
| static XYZ  | setup_particle (Model *m, ParticleIndex pi) | 
|   | 
| static XYZ  | setup_particle (IMP::ParticleAdaptor pa, algebra::Vector3D v) | 
|   | 
| static XYZ  | setup_particle (Model *m, ParticleIndex pi, algebra::Vector3D v) | 
|   |