AliRoot Core  v5-06-15 (45dab64)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONSegmentTree Class Reference

Implementation of a segment tree. More...

#include <AliMUONSegmentTree.h>

Inheritance diagram for AliMUONSegmentTree:

Public Member Functions

 AliMUONSegmentTree (const TArrayD &values)
 
virtual ~AliMUONSegmentTree ()
 
AliMUONNodeBuild (const TArrayD &values, Int_t i, Int_t j)
 
void Print (Option_t *opt="") const
 
const TObjArrayStack () const
 Get the stack. More...
 
void ResetStack ()
 Reset the stack. More...
 
void Contribution (double b, double e)
 
void InsertInterval (double b, double e)
 
void DeleteInterval (double d, double e)
 

Private Member Functions

 AliMUONSegmentTree (const AliMUONSegmentTree &rhs)
 not implemented More...
 
AliMUONSegmentTreeoperator= (const AliMUONSegmentTree &rhs)
 not implemented More...
 

Private Attributes

AliMUONNodefRoot
 root of the tree More...
 
TObjArray fStack
 array of AliMUONSegment objects More...
 

Detailed Description

Implementation of a segment tree.

Implementation of a segment tree, which is used to make contour merging (see AliMUONContourMaker)

Author
Laurent Aphecetche, Subatech

Definition at line 26 of file AliMUONSegmentTree.h.

Constructor & Destructor Documentation

AliMUONSegmentTree::AliMUONSegmentTree ( const TArrayD &  values)

Values should be sorted and have at least 2 elements.

Definition at line 42 of file AliMUONSegmentTree.cxx.

AliMUONSegmentTree::~AliMUONSegmentTree ( )
virtual

dtor

Definition at line 58 of file AliMUONSegmentTree.cxx.

AliMUONSegmentTree::AliMUONSegmentTree ( const AliMUONSegmentTree rhs)
private

not implemented

Member Function Documentation

AliMUONNode * AliMUONSegmentTree::Build ( const TArrayD &  values,
Int_t  i,
Int_t  j 
)

Build the segment tree from a list of values

Definition at line 66 of file AliMUONSegmentTree.cxx.

void AliMUONSegmentTree::Contribution ( double  b,
double  e 
)

Compute the contribution of edge (b,e)

Definition at line 87 of file AliMUONSegmentTree.cxx.

Referenced by AliMUONContourMaker::Sweep().

void AliMUONSegmentTree::DeleteInterval ( double  d,
double  e 
)

Delete interval (b,e)

Definition at line 103 of file AliMUONSegmentTree.cxx.

Referenced by AliMUONContourMaker::Sweep().

void AliMUONSegmentTree::InsertInterval ( double  b,
double  e 
)

Insert interval (b,e)

Definition at line 95 of file AliMUONSegmentTree.cxx.

Referenced by AliMUONContourMaker::Sweep().

AliMUONSegmentTree& AliMUONSegmentTree::operator= ( const AliMUONSegmentTree rhs)
private

not implemented

void AliMUONSegmentTree::Print ( Option_t *  opt = "") const

Printout

Definition at line 111 of file AliMUONSegmentTree.cxx.

void AliMUONSegmentTree::ResetStack ( )
inline

Reset the stack.

Definition at line 40 of file AliMUONSegmentTree.h.

Referenced by AliMUONContourMaker::Sweep().

const TObjArray& AliMUONSegmentTree::Stack ( ) const
inline

Get the stack.

Definition at line 37 of file AliMUONSegmentTree.h.

Referenced by AliMUONContourMaker::Sweep().

Member Data Documentation

AliMUONNode* AliMUONSegmentTree::fRoot
private

root of the tree

Definition at line 54 of file AliMUONSegmentTree.h.

Referenced by Contribution(), DeleteInterval(), InsertInterval(), Print(), and ~AliMUONSegmentTree().

TObjArray AliMUONSegmentTree::fStack
private

array of AliMUONSegment objects

Definition at line 55 of file AliMUONSegmentTree.h.

Referenced by Contribution(), DeleteInterval(), InsertInterval(), ResetStack(), and Stack().


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