Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
protocols::jd3::standard::PreliminaryLarvalJobTracker Class Reference

A class for tracking the progress of all PreliminaryLarvalJobs. This tracking is partially responsible for deallocation of the input poses. More...

#include <PreliminaryLarvalJobTracker.hh>

Inheritance diagram for protocols::jd3::standard::PreliminaryLarvalJobTracker:
Inheritance graph
[legend]

Public Member Functions

 PreliminaryLarvalJobTracker ()
 
void initialize_tracker (utility::vector1< PreliminaryLarvalJob > const &prelim_jobs)
 Initialize the PreliminaryLarvalJobTracker's counters. More...
 
void track_job_completed (LarvalJobCOP job)
 Track a completed LarvalJob. If the LarvalJob is NOT a preliminary job, we skip it. More...
 
void track_job_node_assigned (core::Size job_dag_node_index, core::Size last_global_nstruct_index_for_node)
 Called when we have given out ALL Larval Jobs for a particular PJN. More...
 
void track_job_node_being_assigned (core::Size job_dag_node_index, core::Size global_index_start, core::Size global_index_end)
 Called during assignment of the PJN. More...
 
bool get_job_node_complete (core::Size job_dag_node_index) const
 Are ALL jobs for this job_node_index complete? More...
 
bool get_job_node_assigned (core::Size job_dag_node_index) const
 Are jobs for this job_node_index assigned (IE - LarvalJobs created)? More...
 
core::Size get_job_node_for_job_index (core::Size job_id) const
 Get the job dag node for the global job index if tracked through track_job_node_being_assigned during assignment of the PJN. More...
 
core::Size get_job_index_starting_job_node (core::Size job_node)
 Get the starting global job index that starts for a particular preliminary job node. More...
 
core::Size get_job_index_ending_job_node (core::Size job_node)
 Get the ending global job index that starts for a particular preliminary job node. More...
 
utility::vector1< core::Sizeget_input_poses_to_deallocate () const
 Get a list of input poses that the JQ has not deallocated and that are no longer needed by PJNs. More...
 
bool input_pose_no_longer_needed (core::Size pose_index) const
 
void track_deallocated_input_pose (core::Size pose_id)
 Track a deallocated input pose. (indicate that this pose id has been deallocated) More...
 
utility::vector1< core::Sizeget_preliminary_job_node_indices () const
 

Private Attributes

utility::vector1< core::Sizepreliminary_job_node_inds_
 All Preliminary Job Node indices. More...
 
utility::vector1< core::Sizepjn_job_ind_begin_
 The vector of global job indexes that start for a particular preliminary job node. More...
 
utility::vector1< core::Sizepjn_job_ind_end_
 The vector of global job indexes that end for a particular preliminary job node. More...
 
utility::vector1< boolpreliminary_job_nodes_assigned_
 Tracker of which preliminary job nodes have been assigned. More...
 
utility::vector1< core::Sizeoutstanding_job_count_
 The nstruct left for each preliminary job node. More...
 
utility::vector1< core::Sizepjn_max_nstruct_
 The max nstruct for each preliminary job node. More...
 
std::map< core::Size, std::set
< core::Size > > 
incomplete_pjns_using_input_pose_
 A map of pjns that use the same input pose that are not yet complete. Input poses are indexed by size. This is updated on completed_job. More...
 
utility::vector1< core::Sizenon_deallocated_input_poses_
 A list of poses that are not deallocated. These may be complete and not needed, but they have not been deallocated. More...
 

Detailed Description

A class for tracking the progress of all PreliminaryLarvalJobs. This tracking is partially responsible for deallocation of the input poses.

Constructor & Destructor Documentation

protocols::jd3::standard::PreliminaryLarvalJobTracker::PreliminaryLarvalJobTracker ( )

Member Function Documentation

utility::vector1< core::Size > protocols::jd3::standard::PreliminaryLarvalJobTracker::get_input_poses_to_deallocate ( ) const

Get a list of input poses that the JQ has not deallocated and that are no longer needed by PJNs.

References incomplete_pjns_using_input_pose_, and non_deallocated_input_poses_.

core::Size protocols::jd3::standard::PreliminaryLarvalJobTracker::get_job_index_ending_job_node ( core::Size  job_node)

Get the ending global job index that starts for a particular preliminary job node.

References pjn_job_ind_end_.

core::Size protocols::jd3::standard::PreliminaryLarvalJobTracker::get_job_index_starting_job_node ( core::Size  job_node)

Get the starting global job index that starts for a particular preliminary job node.

References pjn_job_ind_begin_.

bool protocols::jd3::standard::PreliminaryLarvalJobTracker::get_job_node_assigned ( core::Size  job_dag_node_index) const

Are jobs for this job_node_index assigned (IE - LarvalJobs created)?

References preliminary_job_nodes_assigned_.

bool protocols::jd3::standard::PreliminaryLarvalJobTracker::get_job_node_complete ( core::Size  job_dag_node_index) const

Are ALL jobs for this job_node_index complete?

References outstanding_job_count_.

Referenced by track_job_completed().

core::Size protocols::jd3::standard::PreliminaryLarvalJobTracker::get_job_node_for_job_index ( core::Size  job_id) const

Get the job dag node for the global job index if tracked through track_job_node_being_assigned during assignment of the PJN.

Returns 0 if the job_id is NOT a preliminary job.

References pjn_job_ind_begin_, and pjn_job_ind_end_.

Referenced by track_job_completed().

utility::vector1< core::Size > protocols::jd3::standard::PreliminaryLarvalJobTracker::get_preliminary_job_node_indices ( ) const
void protocols::jd3::standard::PreliminaryLarvalJobTracker::initialize_tracker ( utility::vector1< PreliminaryLarvalJob > const &  prelim_jobs)
bool protocols::jd3::standard::PreliminaryLarvalJobTracker::input_pose_no_longer_needed ( core::Size  pose_index) const

Is the input pose still needed by any Preliminary Jobs or Preliminary Job Nodes?

References incomplete_pjns_using_input_pose_.

void protocols::jd3::standard::PreliminaryLarvalJobTracker::track_deallocated_input_pose ( core::Size  pose_id)

Track a deallocated input pose. (indicate that this pose id has been deallocated)

References incomplete_pjns_using_input_pose_, and non_deallocated_input_poses_.

void protocols::jd3::standard::PreliminaryLarvalJobTracker::track_job_completed ( LarvalJobCOP  job)
void protocols::jd3::standard::PreliminaryLarvalJobTracker::track_job_node_assigned ( core::Size  job_dag_node_index,
core::Size  last_global_nstruct_index_for_node 
)

Called when we have given out ALL Larval Jobs for a particular PJN.

References pjn_job_ind_end_, and preliminary_job_nodes_assigned_.

void protocols::jd3::standard::PreliminaryLarvalJobTracker::track_job_node_being_assigned ( core::Size  job_dag_node_index,
core::Size  global_index_start,
core::Size  global_index_end 
)

Called during assignment of the PJN.

References pjn_job_ind_begin_, and pjn_job_ind_end_.

Member Data Documentation

std::map< core::Size, std::set< core::Size > > protocols::jd3::standard::PreliminaryLarvalJobTracker::incomplete_pjns_using_input_pose_
private

A map of pjns that use the same input pose that are not yet complete. Input poses are indexed by size. This is updated on completed_job.

Referenced by get_input_poses_to_deallocate(), initialize_tracker(), input_pose_no_longer_needed(), track_deallocated_input_pose(), and track_job_completed().

utility::vector1< core::Size > protocols::jd3::standard::PreliminaryLarvalJobTracker::non_deallocated_input_poses_
private

A list of poses that are not deallocated. These may be complete and not needed, but they have not been deallocated.

Referenced by get_input_poses_to_deallocate(), initialize_tracker(), and track_deallocated_input_pose().

utility::vector1< core::Size > protocols::jd3::standard::PreliminaryLarvalJobTracker::outstanding_job_count_
private

The nstruct left for each preliminary job node.

Referenced by get_job_node_complete(), initialize_tracker(), and track_job_completed().

utility::vector1< core::Size > protocols::jd3::standard::PreliminaryLarvalJobTracker::pjn_job_ind_begin_
private

The vector of global job indexes that start for a particular preliminary job node.

Referenced by get_job_index_starting_job_node(), get_job_node_for_job_index(), initialize_tracker(), and track_job_node_being_assigned().

utility::vector1< core::Size > protocols::jd3::standard::PreliminaryLarvalJobTracker::pjn_job_ind_end_
private

The vector of global job indexes that end for a particular preliminary job node.

Referenced by get_job_index_ending_job_node(), get_job_node_for_job_index(), initialize_tracker(), track_job_node_assigned(), and track_job_node_being_assigned().

utility::vector1< core::Size > protocols::jd3::standard::PreliminaryLarvalJobTracker::pjn_max_nstruct_
private

The max nstruct for each preliminary job node.

Referenced by initialize_tracker().

utility::vector1< core::Size > protocols::jd3::standard::PreliminaryLarvalJobTracker::preliminary_job_node_inds_
private

All Preliminary Job Node indices.

Referenced by get_preliminary_job_node_indices(), and initialize_tracker().

utility::vector1< bool > protocols::jd3::standard::PreliminaryLarvalJobTracker::preliminary_job_nodes_assigned_
private

Tracker of which preliminary job nodes have been assigned.

Referenced by get_job_node_assigned(), initialize_tracker(), and track_job_node_assigned().


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