4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONNode
11 /// \brief A node of a segment tree
13 // author Laurent Aphecetche
21 class AliMUONNode : public TObject
24 AliMUONNode(Double_t a, Double_t b, Double_t midpoInt_t);
25 virtual ~AliMUONNode();
27 void Print(const char* opt="") const;
29 void Contribution(Double_t b, Double_t e, TObjArray& stack);
31 void InsertInterval(Double_t b, Double_t e, TObjArray& stack);
33 void DeleteInterval(Double_t b, Double_t e, TObjArray& stack);
35 Bool_t IsFullyContained(Double_t b, Double_t e) const;
44 Int_t C() const { return fC; }
46 /// Increase cardinality
47 void C(Int_t v) { fC += v; }
50 Int_t P() const { return fP; }
53 void LeftNode(AliMUONNode* n) { fLeftNode = n; }
56 void RightNode(AliMUONNode* n) { fRightNode = n; }
61 AliMUONNode(const AliMUONNode& node);
63 AliMUONNode& operator=(const AliMUONNode& node);
64 AliMUONNode* fLeftNode; ///< left node
65 AliMUONNode* fRightNode; ///< right node
67 Double_t fMin; ///< Min
68 Double_t fMax; ///< Max
69 Double_t fMidPoint; ///< (Min+Max)/2
71 Int_t fC; ///< cardinality
72 Int_t fP; ///< potent state
74 ClassDef(AliMUONNode,0) // A node of a segment tree