00001 #ifndef __TMUIROADOGROUP_HH__ 00002 #define __TMUIROADOGROUP_HH__ 00003 00004 #include <cstddef> 00005 00006 #include <TMuiRoadMapO.h> 00007 00008 class PHPoint; //forward declaration 00009 00019 class TMuiRoadOGroup 00020 { 00021 public: 00022 // CONSTRUCTOR/DESTRUCTOR METHODS =================================== 00023 00025 TMuiRoadOGroup(const short& arm, const float& z, const float& MutrWin, const float& MuidWin); 00026 00028 TMuiRoadOGroup(const TMuiRoadOGroup& source); 00029 00031 ~TMuiRoadOGroup(); 00032 00033 // MUTATOR METHODS ================================================== 00034 00036 void SetGroup(const short& Group); 00037 00039 void AttachRoad(TMuiRoadMapO::pointer road); 00040 00042 void MergeGroup(TMuiRoadOGroup* sourceGroup); 00043 00045 void RemoveRoad(TMuiRoadMapO::pointer road); 00046 00047 // Clear the list of roads 00048 void TMuiRoadOGroup::Clear(); 00049 00050 // ACCESSOR METHODS ================================================= 00051 00053 size_t GoldenIndex() const; 00054 00056 short Group() const; 00057 00059 short TotalRoads() const; 00060 00062 TMuiRoadMapO::pointer Road(int roadIndex) const; 00063 00065 bool IsGroup(TMuiRoadMapO::pointer road); 00066 00068 PHPoint ProjectToZ(TMutFitPar fit_par, double ZPlane); 00069 00070 private: 00071 // PRIVATE METHODS ================================================== 00072 00074 void MarkGolden(); 00075 00076 // FIELDS =========================================================== 00077 00078 float fZPlane; // The z value of a given plane 00079 float fMutrWin; // The window cut in a given z plane 00080 float fMuidWin; // The window cut in a gap of MuID 00081 00082 short fGroup; // the unique index of this group 00083 size_t fGoldenIndex; // the index of "golden" road in this group 00084 float fChi2DOF; // The reduced chi square of "golden" road. 00085 short fArm; // Arm in which the group of roads is. 00086 short fTotalRoads; // Total number of roads in the group 00087 public: 00088 vector<TMuiRoadMapO::pointer> f_pRoads; // Pointers to attached roads. 00089 }; 00090 00091 00092 #endif /* __TMUIROADOGROUP_HH__ */