LCOV - code coverage report
Current view: top level - MUON/MUONgraphics - AliMUONSegmentTree.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 3 33.3 %
Date: 2016-06-14 17:26:59 Functions: 1 7 14.3 %

          Line data    Source code
       1             : #ifndef ALIMUONSEGMENTTREE_H
       2             : #define ALIMUONSEGMENTTREE_H
       3             : 
       4             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       5             : * See cxx source for full Copyright notice                               */
       6             : 
       7             : // $Id$
       8             : 
       9             : /// \ingroup geometry
      10             : /// \class AliMUONSegmentTree
      11             : /// \brief Implementation of a segment tree
      12             : /// 
      13             : // author Laurent Aphecetche
      14             : 
      15             : #ifndef ROOT_TObject
      16             : #  include "TObject.h"
      17             : #endif
      18             : 
      19             : #ifndef ROOT_TObjArray
      20             : #  include "TObjArray.h"
      21             : #endif
      22             : 
      23             : class TArrayD;
      24             : class AliMUONNode;
      25             : 
      26             : class AliMUONSegmentTree : public TObject
      27             : {
      28             : public:
      29             :   AliMUONSegmentTree(const TArrayD& values);
      30             :   virtual ~AliMUONSegmentTree();
      31             :   
      32             :   AliMUONNode* Build(const TArrayD& values, Int_t i, Int_t j);
      33             :   
      34             :   void Print(Option_t* opt="") const;
      35             :   
      36             :   /// Get the stack
      37           0 :   const TObjArray& Stack() const { return fStack; }
      38             :   
      39             :   /// Reset the stack
      40           0 :   void ResetStack() { fStack.Clear(); }
      41             :   
      42             :   void Contribution(double b, double e);
      43             :   
      44             :   void InsertInterval(double b, double e);
      45             :   
      46             :   void DeleteInterval(double d, double e);
      47             :   
      48             : private:
      49             :   /// not implemented
      50             :   AliMUONSegmentTree(const AliMUONSegmentTree& rhs);
      51             :   /// not implemented
      52             :   AliMUONSegmentTree& operator=(const AliMUONSegmentTree& rhs);
      53             :   
      54             :   AliMUONNode* fRoot; ///< root of the tree
      55             :   TObjArray fStack; ///< array of AliMUONSegment objects
      56             :   
      57          12 :   ClassDef(AliMUONSegmentTree,1) // Implementation of a segment tree
      58             : };
      59             : 
      60             : #endif

Generated by: LCOV version 1.11