/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Muc/MucCalibAlg/MucCalibAlg-00-02-16/MucCalibAlg/MucMark.h

Go to the documentation of this file.
00001 //------------------------------------------------------------------------------|
00002 //      [File  ]:                       MucMark.h                               |
00003 //      [Brief ]:       Header file of MucMark class for encapsulation          |
00004 //      [Author]:       Xie Yuguang, <ygxie@mail.ihep.ac.cn>                    |
00005 //      [Date  ]:       Oct 19, 2006                                            |
00006 //------------------------------------------------------------------------------|
00007 
00008 #ifndef MUC_MARK_H
00009 #define MUC_MARK_H
00010 
00011 #include<iostream>
00012 #include<vector>
00013 
00014 using namespace std;
00015 
00016 class MucMark;
00017 typedef vector< MucMark* > mark_col;
00018 
00019 class MucMark {
00020   public:
00021     MucMark() {};
00022     MucMark( int part, int segment, int layer, int strip );
00023     ~MucMark();
00024 
00025     bool operator ==( MucMark &other );
00026     
00027     bool SetPart( int part );
00028     bool SetSegment( int segment );
00029     bool SetLayer( int layer );
00030     bool SetStrip( int strip );
00031 
00032     int Part();
00033     int Segment();
00034     int Layer();
00035     int Strip();
00036     
00037     int  NumInCol( mark_col &aCol );
00038     int  IsInCol( int part, int segment, int layer, int strip, mark_col &aCol );
00039     int  IsInCol( mark_col &aCol );
00040     int  IsInCol( vector< mark_col > &aClusterCol );
00041     bool IsInSegWith( MucMark &other );
00042     bool IsInBoxWith( MucMark &other );
00043     bool IsNeighborWith( MucMark &other );
00044     bool IsNeighborWith( mark_col &aCol );
00045     
00046     vector< mark_col > CreateClusterCol( int buildMode, mark_col &aMarkCol ); 
00047     vector< mark_col > CreateClusterCol_A( mark_col &aMarkCol ); // basic, fastest
00048     vector< mark_col > CreateClusterCol_B( mark_col &aMarkCol ); 
00049     vector< mark_col > CreateClusterCol_C( mark_col &aMarkCol );
00050     vector< mark_col > CreateClusterCol_D( mark_col &aMarkCol );
00051     
00052     void Print();
00053     void Print( mark_col &aMarkCol );
00054     void Print( vector< mark_col > &aClusterCol );
00055 
00056   private:
00057 
00058     int m_Part;
00059     int m_Segment;
00060     int m_Layer;
00061     int m_Strip;
00062 };
00063 
00064 #endif
00065 

Generated on Tue Nov 29 23:12:55 2016 for BOSS_7.0.2 by  doxygen 1.4.7