Rosetta 3.4
Public Types | Public Member Functions | Protected Member Functions | Friends
core::kinematics::tree::Atom Class Reference

Kinematics Atom interface class. More...

#include <Atom.hh>

Inheritance diagram for core::kinematics::tree::Atom:
Inheritance graph
[legend]
Collaboration diagram for core::kinematics::tree::Atom:
Collaboration graph
[legend]

List of all members.

Public Types

typedef PointPosition Position
typedef utility::vector0< Atom * > Atoms
typedef Atoms::ConstIterator Atoms_ConstIterator
typedef Atoms::Iterator Atoms_Iterator
typedef numeric::xyzMatrix< RealMatrix
typedef id::DOF_Type DOF_Type
typedef id::DOF_ID DOF_ID
typedef id::AtomID AtomID
typedef id::AtomID_Mask AtomID_Mask
typedef id::DOF_ID_Mask DOF_ID_Mask
typedef void iterator_category
typedef void difference_type

Public Member Functions

virtual ~Atom ()
 Destructor.
virtual void dfs (AtomDOFChangeSet &changeset, ResidueCoordinateChangeList &res_change_list, Size const start_atom_index) const =0
 Perform a depth-first traversal of the tree that would be effected by a DOF change from this atom. Stop at atoms that have already been traversed.
virtual void update_xyz_coords ()=0
 The atom must retrieve an appropriate stub from its parent; it is the root of the subtree being refolded.
virtual void update_xyz_coords (Stub &stub)=0
 update xyz coords from stub and internal coords and
virtual void update_internal_coords (Stub &stub, bool const recursive=true)=0
 update internal coords from stub and xyz coords
virtual void update_internal_coords (bool const recursive)=0
 calculate my input_stub from the current xyz's and use that input_stub to update my torsions
virtual void update_stub (Stub &stub) const =0
 update atom_pointer map for AtomTree
virtual void copy_coords (Atom const &src)=0
 copy DOFs and xyz coords from src Atom
virtual Real dof (DOF_Type const type) const =0
 get dof
virtual void set_dof (DOF_Type const type, Real const value)=0
 set dof, use "set_" syntax since we have multiple dof's
virtual void set_dof (DOF_Type const type, Real const value, AtomDOFChangeSet &set)=0
 set dof, use "set_" syntax since we have multiple dof's -- for use in output-sensitive refold routine
virtual Jump const & jump () const =0
 get Jump
virtual void jump (Jump const &jump_in)=0
 set Jump
virtual void jump (Jump const &jump_in, AtomDOFChangeSet &set)=0
 set Jump -- for use in output-sensitive refolding
virtual Atomclone (Atom *parent_in, AtomPointer2D &atom_pointer) const =0
 copy atom with new memory allocation
virtual void setup_min_map (DOF_ID &last_torsion, DOF_ID_Mask const &move_map, MinimizerMapBase &min_map) const =0
virtual void get_dof_axis_and_end_pos (Vector &axis, Position &end_pos, DOF_Type const type) const =0
virtual bool is_jump () const =0
 atom is a jump atom?
virtual bool keep_1st_child_pos () const =0
 when other atoms are inserted insert after 1st child if available.
virtual bool keep_dof_fixed (DOF_Type const ) const
 DOF should be fixed for this atom?
virtual void show () const =0
 dump out AtomID for this atom, its parent and all its offspring
virtual void show (int const &) const =0
 dump out AtomID for this atom, its parent and all its offspring up to n_level
virtual Real dihedral_between_bonded_children (Atom const *child1, Atom const *child2) const =0
 dihedral angle between two bonded children to this atom
virtual void update_domain_map (int &current_color, int &biggest_color, DomainMap &domain_map, AtomID_Mask const &dof_moved, AtomID_Mask const &atom_moved) const =0
virtual Atoms_ConstIterator atoms_begin () const =0
virtual Atoms_ConstIterator atoms_end () const =0
virtual Atoms_Iterator atoms_begin ()=0
virtual Atoms_Iterator atoms_end ()=0
virtual Size n_atom () const =0
virtual void append_atom (Atom *)=0
virtual void delete_atom (Atom *)=0
virtual void insert_atom (Atom *)=0
virtual void insert_atom (Atom *, int const )=0
virtual void replace_atom (Atom *const old_atom, Atom *const new_atom)=0
virtual Atom const * get_nonjump_atom (Size const i) const =0
virtual Size n_children () const =0
virtual Size n_nonjump_children () const =0
virtual Atom const * child (Size const k) const =0
virtual Atomchild (Size const k)=0
virtual Size child_index (Atom const *child) const =0
 the atom-index of this child
virtual bool downstream (Atom const *atom1) const =0
virtual AtomID const & id () const =0
 Atom identifier.
virtual void id (AtomID const &id_in)=0
 AtomID assignment.
virtual AtomID const & atom_id () const =0
 Atom identifier.
virtual Position const & position () const =0
 Position.
virtual void position (Position const &position_a)=0
 Position assignment.
virtual Position const & xyz () const =0
 Position.
virtual void xyz (Position const &position_a)=0
 Position assignment.
virtual Length const & x () const =0
 x coordinate
virtual Length const & y () const =0
 y coordinate
virtual Length const & z () const =0
 z coordinate
virtual Length distance (Atom const &atom) const =0
 Distance to an Atom.
virtual Length distance_squared (Atom const &atom) const =0
 Distance squared to an Atom.
virtual void transform_Ax_plus_b_recursive (Matrix const &A, Vector const &b, ResidueCoordinateChangeList &res_change_list)=0
 Transform atom and children by linear transformation.
virtual Atom const * parent () const =0
 Parent atom pointer, NULL for root atom.
virtual void get_path_from_root (utility::vector1< Atom const * > &path) const =0
virtual bool atom_is_on_path_from_root (Atom const *atm) const =0
virtual void parent (Atom *parent_in)=0
 parent assignment
virtual Atomparent ()=0
 Parent atom pointer, NULL for root atom.
virtual Stub get_stub () const =0
 Get stub information.
virtual Stub get_input_stub () const =0
virtual Atom const * stub_atom1 () const =0
virtual Atom const * stub_atom2 () const =0
virtual Atom const * stub_atom3 () const =0
virtual AtomID const & stub_atom1_id () const =0
virtual AtomID const & stub_atom2_id () const =0
virtual AtomID const & stub_atom3_id () const =0
virtual Atom const * input_stub_atom0 () const =0
virtual Atom const * input_stub_atom1 () const =0
virtual Atom const * input_stub_atom2 () const =0
virtual Atom const * input_stub_atom3 () const =0
virtual AtomID const & input_stub_atom0_id () const =0
virtual AtomID const & input_stub_atom1_id () const =0
virtual AtomID const & input_stub_atom2_id () const =0
virtual AtomID const & input_stub_atom3_id () const =0
virtual Atom const * previous_sibling () const =0
virtual Atom const * previous_child (Atom const *child) const =0
virtual Atomnext_child (Atom const *child)=0
virtual bool stub_defined () const =0

Protected Member Functions

 Atom ()
 Default constructor.
 Atom (Atom const &)
 Copy constructor.
Atomoperator= (Atom const &)
 Copy assignment.
virtual void update_child_torsions (Atom *const child)=0
virtual Atoms_ConstIterator nonjump_atoms_begin () const =0
virtual Atoms_Iterator nonjump_atoms_begin ()=0

Friends

Length distance (Atom const &atom1, Atom const &atom2)
 Distance between two Atoms.
Length distance_squared (Atom const &atom1, Atom const &atom2)
 Distance squared between two Atoms.

Detailed Description

Kinematics Atom interface class.


Member Typedef Documentation


Constructor & Destructor Documentation

core::kinematics::tree::Atom::Atom ( ) [inline, protected]

Default constructor.

core::kinematics::tree::Atom::Atom ( Atom const &  ) [inline, protected]

Copy constructor.

virtual core::kinematics::tree::Atom::~Atom ( ) [inline, virtual]

Destructor.


Member Function Documentation

virtual void core::kinematics::tree::Atom::append_atom ( Atom ) [pure virtual]
virtual AtomID const& core::kinematics::tree::Atom::atom_id ( ) const [pure virtual]
virtual bool core::kinematics::tree::Atom::atom_is_on_path_from_root ( Atom const *  atm) const [pure virtual]
virtual Atoms_ConstIterator core::kinematics::tree::Atom::atoms_begin ( ) const [pure virtual]
virtual Atoms_Iterator core::kinematics::tree::Atom::atoms_begin ( ) [pure virtual]
virtual Atoms_ConstIterator core::kinematics::tree::Atom::atoms_end ( ) const [pure virtual]
virtual Atoms_Iterator core::kinematics::tree::Atom::atoms_end ( ) [pure virtual]
virtual Atom* core::kinematics::tree::Atom::child ( Size const  k) [pure virtual]
virtual Atom const* core::kinematics::tree::Atom::child ( Size const  k) const [pure virtual]
virtual Size core::kinematics::tree::Atom::child_index ( Atom const *  child) const [pure virtual]

the atom-index of this child

Implemented in core::kinematics::tree::Atom_.

virtual Atom* core::kinematics::tree::Atom::clone ( Atom parent_in,
AtomPointer2D atom_pointer 
) const [pure virtual]

copy atom with new memory allocation

Implemented in core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.

Referenced by core::kinematics::AtomTree::operator=().

virtual void core::kinematics::tree::Atom::copy_coords ( Atom const &  src) [pure virtual]

copy DOFs and xyz coords from src Atom

Implemented in core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.

Referenced by core::kinematics::AtomTree::copy_coords().

virtual void core::kinematics::tree::Atom::delete_atom ( Atom ) [pure virtual]
virtual void core::kinematics::tree::Atom::dfs ( AtomDOFChangeSet changeset,
ResidueCoordinateChangeList res_change_list,
Size const  start_atom_index 
) const [pure virtual]

Perform a depth-first traversal of the tree that would be effected by a DOF change from this atom. Stop at atoms that have already been traversed.

Implemented in core::kinematics::tree::Atom_, core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.

virtual Real core::kinematics::tree::Atom::dihedral_between_bonded_children ( Atom const *  child1,
Atom const *  child2 
) const [pure virtual]

dihedral angle between two bonded children to this atom

Implemented in core::kinematics::tree::Atom_.

Referenced by core::kinematics::AtomTree::torsion_angle_dof_id().

virtual Length core::kinematics::tree::Atom::distance ( Atom const &  atom) const [pure virtual]

Distance to an Atom.

Implemented in core::kinematics::tree::Atom_.

Referenced by core::kinematics::tree::distance().

virtual Length core::kinematics::tree::Atom::distance_squared ( Atom const &  atom) const [pure virtual]

Distance squared to an Atom.

Implemented in core::kinematics::tree::Atom_.

Referenced by core::kinematics::tree::distance_squared().

virtual Real core::kinematics::tree::Atom::dof ( DOF_Type const  type) const [pure virtual]
virtual bool core::kinematics::tree::Atom::downstream ( Atom const *  atom1) const [pure virtual]
virtual void core::kinematics::tree::Atom::get_dof_axis_and_end_pos ( Vector axis,
Position end_pos,
DOF_Type const  type 
) const [pure virtual]
virtual Stub core::kinematics::tree::Atom::get_input_stub ( ) const [pure virtual]
virtual Atom const* core::kinematics::tree::Atom::get_nonjump_atom ( Size const  i) const [pure virtual]
virtual void core::kinematics::tree::Atom::get_path_from_root ( utility::vector1< Atom const * > &  path) const [pure virtual]
virtual Stub core::kinematics::tree::Atom::get_stub ( ) const [pure virtual]

Get stub information.

Implemented in core::kinematics::tree::Atom_.

virtual AtomID const& core::kinematics::tree::Atom::id ( ) const [pure virtual]
virtual void core::kinematics::tree::Atom::id ( AtomID const &  id_in) [pure virtual]

AtomID assignment.

Implemented in core::kinematics::tree::Atom_.

virtual Atom const* core::kinematics::tree::Atom::input_stub_atom0 ( ) const [pure virtual]
virtual AtomID const& core::kinematics::tree::Atom::input_stub_atom0_id ( ) const [pure virtual]
virtual Atom const* core::kinematics::tree::Atom::input_stub_atom1 ( ) const [pure virtual]
virtual AtomID const& core::kinematics::tree::Atom::input_stub_atom1_id ( ) const [pure virtual]
virtual Atom const* core::kinematics::tree::Atom::input_stub_atom2 ( ) const [pure virtual]
virtual AtomID const& core::kinematics::tree::Atom::input_stub_atom2_id ( ) const [pure virtual]
virtual Atom const* core::kinematics::tree::Atom::input_stub_atom3 ( ) const [pure virtual]
virtual AtomID const& core::kinematics::tree::Atom::input_stub_atom3_id ( ) const [pure virtual]
virtual void core::kinematics::tree::Atom::insert_atom ( Atom ) [pure virtual]
virtual void core::kinematics::tree::Atom::insert_atom ( Atom ,
int  const 
) [pure virtual]
virtual bool core::kinematics::tree::Atom::is_jump ( ) const [pure virtual]
virtual void core::kinematics::tree::Atom::jump ( Jump const &  jump_in) [pure virtual]
virtual Jump const& core::kinematics::tree::Atom::jump ( ) const [pure virtual]
virtual void core::kinematics::tree::Atom::jump ( Jump const &  jump_in,
AtomDOFChangeSet set 
) [pure virtual]

set Jump -- for use in output-sensitive refolding

Implemented in core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.

virtual bool core::kinematics::tree::Atom::keep_1st_child_pos ( ) const [pure virtual]

when other atoms are inserted insert after 1st child if available.

--> this enables us to keep a stub of Downstream Jump atoms inside a single residue

Implemented in core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.

virtual bool core::kinematics::tree::Atom::keep_dof_fixed ( DOF_Type  const) const [inline, virtual]

DOF should be fixed for this atom?

for DOFs which must be kept fixed due to topology of tree eg, phi of stub_atoms for jump_atoms

Reimplemented in core::kinematics::tree::Atom_, core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.

Referenced by core::kinematics::AtomTree::bond_angle_dof_id(), and core::kinematics::AtomTree::torsion_angle_dof_id().

virtual Size core::kinematics::tree::Atom::n_atom ( ) const [pure virtual]
virtual Size core::kinematics::tree::Atom::n_children ( ) const [pure virtual]
virtual Size core::kinematics::tree::Atom::n_nonjump_children ( ) const [pure virtual]
virtual Atom* core::kinematics::tree::Atom::next_child ( Atom const *  child) [pure virtual]
virtual Atoms_ConstIterator core::kinematics::tree::Atom::nonjump_atoms_begin ( ) const [protected, pure virtual]
virtual Atoms_Iterator core::kinematics::tree::Atom::nonjump_atoms_begin ( ) [protected, pure virtual]
Atom& core::kinematics::tree::Atom::operator= ( Atom const &  ) [inline, protected]

Copy assignment.

virtual Atom* core::kinematics::tree::Atom::parent ( ) [pure virtual]

Parent atom pointer, NULL for root atom.

Implemented in core::kinematics::tree::Atom_.

virtual Atom const* core::kinematics::tree::Atom::parent ( ) const [pure virtual]
virtual void core::kinematics::tree::Atom::parent ( Atom parent_in) [pure virtual]

parent assignment

Implemented in core::kinematics::tree::Atom_.

virtual Position const& core::kinematics::tree::Atom::position ( ) const [pure virtual]
virtual void core::kinematics::tree::Atom::position ( Position const &  position_a) [pure virtual]

Position assignment.

Implemented in core::kinematics::tree::Atom_.

virtual Atom const* core::kinematics::tree::Atom::previous_child ( Atom const *  child) const [pure virtual]
virtual Atom const* core::kinematics::tree::Atom::previous_sibling ( ) const [pure virtual]
virtual void core::kinematics::tree::Atom::replace_atom ( Atom *const  old_atom,
Atom *const  new_atom 
) [pure virtual]
virtual void core::kinematics::tree::Atom::set_dof ( DOF_Type const  type,
Real const  value 
) [pure virtual]

set dof, use "set_" syntax since we have multiple dof's

Implemented in core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.

virtual void core::kinematics::tree::Atom::set_dof ( DOF_Type const  type,
Real const  value,
AtomDOFChangeSet set 
) [pure virtual]

set dof, use "set_" syntax since we have multiple dof's -- for use in output-sensitive refold routine

Implemented in core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.

virtual void core::kinematics::tree::Atom::setup_min_map ( DOF_ID last_torsion,
DOF_ID_Mask const &  move_map,
MinimizerMapBase min_map 
) const [pure virtual]
virtual void core::kinematics::tree::Atom::show ( ) const [pure virtual]

dump out AtomID for this atom, its parent and all its offspring

Implemented in core::kinematics::tree::Atom_.

virtual void core::kinematics::tree::Atom::show ( int const &  ) const [pure virtual]

dump out AtomID for this atom, its parent and all its offspring up to n_level

Implemented in core::kinematics::tree::Atom_.

virtual Atom const* core::kinematics::tree::Atom::stub_atom1 ( ) const [pure virtual]
virtual AtomID const& core::kinematics::tree::Atom::stub_atom1_id ( ) const [pure virtual]
virtual Atom const* core::kinematics::tree::Atom::stub_atom2 ( ) const [pure virtual]
virtual AtomID const& core::kinematics::tree::Atom::stub_atom2_id ( ) const [pure virtual]
virtual Atom const* core::kinematics::tree::Atom::stub_atom3 ( ) const [pure virtual]
virtual AtomID const& core::kinematics::tree::Atom::stub_atom3_id ( ) const [pure virtual]
virtual bool core::kinematics::tree::Atom::stub_defined ( ) const [pure virtual]
virtual void core::kinematics::tree::Atom::transform_Ax_plus_b_recursive ( Matrix const &  A,
Vector const &  b,
ResidueCoordinateChangeList res_change_list 
) [pure virtual]

Transform atom and children by linear transformation.

Transform atom and children by linear transformation

Implemented in core::kinematics::tree::Atom_.

Referenced by core::kinematics::AtomTree::set_stub_transform().

virtual void core::kinematics::tree::Atom::update_child_torsions ( Atom *const  child) [protected, pure virtual]
virtual void core::kinematics::tree::Atom::update_domain_map ( int current_color,
int biggest_color,
DomainMap domain_map,
AtomID_Mask const &  dof_moved,
AtomID_Mask const &  atom_moved 
) const [pure virtual]
virtual void core::kinematics::tree::Atom::update_internal_coords ( Stub stub,
bool const  recursive = true 
) [pure virtual]

update internal coords from stub and xyz coords

Implemented in core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.

virtual void core::kinematics::tree::Atom::update_internal_coords ( bool const  recursive) [pure virtual]

calculate my input_stub from the current xyz's and use that input_stub to update my torsions

Implemented in core::kinematics::tree::Atom_.

virtual void core::kinematics::tree::Atom::update_stub ( Stub stub) const [pure virtual]

update atom_pointer map for AtomTree

update the stub without actually updating coordinates

Implemented in core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.

virtual void core::kinematics::tree::Atom::update_xyz_coords ( ) [pure virtual]

The atom must retrieve an appropriate stub from its parent; it is the root of the subtree being refolded.

Implemented in core::kinematics::tree::Atom_, core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.

virtual void core::kinematics::tree::Atom::update_xyz_coords ( Stub stub) [pure virtual]

update xyz coords from stub and internal coords and

Implemented in core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.

virtual Length const& core::kinematics::tree::Atom::x ( ) const [pure virtual]

x coordinate

Implemented in core::kinematics::tree::Atom_.

virtual void core::kinematics::tree::Atom::xyz ( Position const &  position_a) [pure virtual]

Position assignment.

Implemented in core::kinematics::tree::Atom_.

virtual Position const& core::kinematics::tree::Atom::xyz ( ) const [pure virtual]
virtual Length const& core::kinematics::tree::Atom::y ( ) const [pure virtual]

y coordinate

Implemented in core::kinematics::tree::Atom_.

virtual Length const& core::kinematics::tree::Atom::z ( ) const [pure virtual]

z coordinate

Implemented in core::kinematics::tree::Atom_.


Friends And Related Function Documentation

Length distance ( Atom const &  atom1,
Atom const &  atom2 
) [friend]

Distance between two Atoms.

Length distance_squared ( Atom const &  atom1,
Atom const &  atom2 
) [friend]

Distance squared between two Atoms.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines