BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Muc/MucCalib/include/MucCalib/MucMark.h
Go to the documentation of this file.
1//------------------------------------------------------------------------------|
2// [File ]: MucMark.h |
3// [Brief ]: Header file of MucMark class for encapsulation |
4// [Author]: Xie Yuguang, <ygxie@mail.ihep.ac.cn> |
5// [Date ]: Oct 19, 2006 |
6//------------------------------------------------------------------------------|
7
8#ifndef MUC_MARK_H
9#define MUC_MARK_H
10
11#include <iostream>
12#include <vector>
13
14using namespace std;
15
16class MucMark;
17typedef vector<MucMark*> mark_col;
18
19class MucMark {
20public:
22 MucMark( int part, int segment, int layer, int strip );
24
25 bool operator==( MucMark& other );
26
27 bool SetPart( int part );
28 bool SetSegment( int segment );
29 bool SetLayer( int layer );
30 bool SetStrip( int strip );
31
32 int Part();
33 int Segment();
34 int Layer();
35 int Strip();
36
37 int NumInCol( mark_col& aCol );
38 int IsInCol( int part, int segment, int layer, int strip, mark_col& aCol );
39 int IsInCol( mark_col& aCol );
40 int IsInCol( vector<mark_col>& aClusterCol );
41 bool IsInSegWith( MucMark& other );
42 bool IsInBoxWith( MucMark& other );
43 bool IsNeighborWith( MucMark& other );
44 bool IsNeighborWith( mark_col& aCol );
45
46 vector<mark_col> CreateClusterCol( int buildMode, mark_col& aMarkCol );
47 vector<mark_col> CreateClusterCol_A( mark_col& aMarkCol ); // basic, fastest
48 vector<mark_col> CreateClusterCol_B( mark_col& aMarkCol );
49 vector<mark_col> CreateClusterCol_C( mark_col& aMarkCol );
50 vector<mark_col> CreateClusterCol_D( mark_col& aMarkCol );
51
52 void Print();
53 void Print( mark_col& aMarkCol );
54 void Print( vector<mark_col>& aClusterCol );
55
56private:
57 int m_Part;
58 int m_Segment;
59 int m_Layer;
60 int m_Strip;
61};
62
63#endif
vector< MucMark * > mark_col
bool IsInBoxWith(MucMark &other)
vector< mark_col > CreateClusterCol_A(mark_col &aMarkCol)
int NumInCol(mark_col &aCol)
int IsInCol(mark_col &aCol)
bool IsNeighborWith(MucMark &other)
bool IsInSegWith(MucMark &other)
vector< mark_col > CreateClusterCol_C(mark_col &aMarkCol)
bool SetLayer(int layer)
int IsInCol(vector< mark_col > &aClusterCol)
void Print(vector< mark_col > &aClusterCol)
bool SetSegment(int segment)
vector< mark_col > CreateClusterCol(int buildMode, mark_col &aMarkCol)
bool operator==(MucMark &other)
vector< mark_col > CreateClusterCol_D(mark_col &aMarkCol)
vector< mark_col > CreateClusterCol_B(mark_col &aMarkCol)
MucMark(int part, int segment, int layer, int strip)
int IsInCol(int part, int segment, int layer, int strip, mark_col &aCol)
bool SetStrip(int strip)
bool SetPart(int part)
int Part()
int Segment()
bool IsNeighborWith(mark_col &aCol)
int Strip()
void Print(mark_col &aMarkCol)
void Print()
int Layer()