00001 00002 // // 00003 //authors: Costas Andreopoulos, Elias Athanasopoulos, George Tzanakos// 00004 // Physics Department, University of Athens // 00005 // October 11, 1999 // 00007 00008 #ifndef BFLNODE_H 00009 #define BFLNODE_H 00010 00011 #include <TROOT.h> 00012 #include <TVector2.h> 00013 00014 class BFLNode : public TObject 00015 { 00016 public: 00017 BFLNode() { } 00018 BFLNode(Float_t fx, Float_t fy); 00019 BFLNode(Int_t nid, Float_t fx, Float_t fy); 00020 ~BFLNode(); 00021 virtual void SetNodeID(Int_t nid) { fNodeID = nid; } 00022 virtual void SetX(Float_t x) { fx = x; } 00023 virtual void SetY(Float_t y) { fy = y; } 00024 virtual void SetXY(TVector2 &Rxy); 00025 virtual Int_t GetNodeID(void) const { return fNodeID; } 00026 virtual Float_t GetX(void) const { return fx; } 00027 virtual Float_t GetY(void) const { return fy; } 00028 TVector2 * GetXY(void) const; 00029 void Print(Option_t *); 00030 virtual Bool_t IsSortable() const { return kTRUE; } 00031 virtual Bool_t IsEqual(TObject * node) { 00032 return( fx == ((BFLNode *)node)->GetX() && 00033 fy == ((BFLNode *)node)->GetY() ); 00034 } 00035 virtual Int_t Compare(const TObject * node) const; 00036 00037 private: 00038 Int_t fNodeID; 00039 Float_t fx; 00040 Float_t fy; 00041 00042 ClassDef(BFLNode, 0) // A Single Node Of The Mesh 00043 }; 00044 00045 #endif