Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MinHeap Class Reference
+ Collaboration diagram for MinHeap:

Classes

struct  ValueLoc
 

Public Member Functions

 MinHeap (const std::vector< double > &values, unsigned int max_size)
 
 MinHeap (unsigned int max_size)
 
 MinHeap (const std::vector< double > &values)
 
void initialise (const std::vector< double > &values)
 
unsigned int minloc () const
 
double minval () const
 
double operator[] (int i) const
 
void remove (unsigned int loc)
 
void update (unsigned int, double)
 

Private Attributes

std::vector< ValueLoc_heap
 

Detailed Description

Definition at line 642 of file fjcore.cc.

View newest version in sPHENIX GitHub at line 642 of file fjcore.cc

Constructor & Destructor Documentation

MinHeap::MinHeap ( const std::vector< double > &  values,
unsigned int  max_size 
)
inline

Definition at line 644 of file fjcore.cc.

View newest version in sPHENIX GitHub at line 644 of file fjcore.cc

References initialise().

+ Here is the call graph for this function:

MinHeap::MinHeap ( unsigned int  max_size)
inline

Definition at line 646 of file fjcore.cc.

View newest version in sPHENIX GitHub at line 646 of file fjcore.cc

MinHeap::MinHeap ( const std::vector< double > &  values)
inline

Definition at line 647 of file fjcore.cc.

View newest version in sPHENIX GitHub at line 647 of file fjcore.cc

References initialise().

+ Here is the call graph for this function:

Member Function Documentation

void MinHeap::initialise ( const std::vector< double > &  values)

Definition at line 3686 of file fjcore.cc.

View newest version in sPHENIX GitHub at line 3686 of file fjcore.cc

References i, MinHeap::ValueLoc::minloc, and MinHeap::ValueLoc::value.

Referenced by MinHeap().

+ Here is the caller graph for this function:

unsigned int MinHeap::minloc ( ) const
inline

Definition at line 650 of file fjcore.cc.

View newest version in sPHENIX GitHub at line 650 of file fjcore.cc

References _heap.

Referenced by ClusterSequence::_minheap_faster_tiled_N2_cluster(), LazyTiling9Alt::run(), LazyTiling9::run(), and LazyTiling25::run().

+ Here is the caller graph for this function:

double MinHeap::minval ( ) const
inline

Definition at line 652 of file fjcore.cc.

View newest version in sPHENIX GitHub at line 652 of file fjcore.cc

References _heap.

Referenced by ClusterSequence::_minheap_faster_tiled_N2_cluster(), LazyTiling9Alt::run(), LazyTiling9::run(), and LazyTiling25::run().

+ Here is the caller graph for this function:

double MinHeap::operator[] ( int  i) const
inline

Definition at line 653 of file fjcore.cc.

View newest version in sPHENIX GitHub at line 653 of file fjcore.cc

References _heap, and i.

void MinHeap::remove ( unsigned int  loc)
inline

Definition at line 654 of file fjcore.cc.

View newest version in sPHENIX GitHub at line 654 of file fjcore.cc

References loc, and update().

Referenced by ClusterSequence::_minheap_faster_tiled_N2_cluster(), LazyTiling9Alt::run(), LazyTiling9::run(), and LazyTiling25::run().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MinHeap::update ( unsigned int  loc,
double  new_value 
)

Definition at line 3703 of file fjcore.cc.

View newest version in sPHENIX GitHub at line 3703 of file fjcore.cc

References assert, loc, MinHeap::ValueLoc::minloc, start, and MinHeap::ValueLoc::value.

Referenced by ClusterSequence::_minheap_faster_tiled_N2_cluster(), remove(), LazyTiling9Alt::run(), LazyTiling9::run(), and LazyTiling25::run().

+ Here is the caller graph for this function:

Member Data Documentation

std::vector<ValueLoc> MinHeap::_heap
private

Definition at line 662 of file fjcore.cc.

View newest version in sPHENIX GitHub at line 662 of file fjcore.cc

Referenced by minloc(), minval(), and operator[]().


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