BOSS 7.0.8
BESIII Offline Software System
Loading...
Searching...
No Matches
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, <[email protected]> |
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 {
20 public:
21 MucMark() {};
22 MucMark( int part, int segment, int layer, int strip );
23 ~MucMark();
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
56 private:
57
58 int m_Part;
59 int m_Segment;
60 int m_Layer;
61 int m_Strip;
62};
63
64#endif
65
vector< MucMark * > mark_col
Definition: MucMark.h:17
bool IsInBoxWith(MucMark &other)
Definition: MucMark.cxx:154
vector< mark_col > CreateClusterCol_A(mark_col &aMarkCol)
Definition: MucMark.cxx:188
MucMark()
Definition: MucMark.h:21
int NumInCol(mark_col &aCol)
Definition: MucMark.cxx:132
bool IsNeighborWith(MucMark &other)
Definition: MucMark.cxx:165
bool IsInSegWith(MucMark &other)
Definition: MucMark.cxx:144
vector< mark_col > CreateClusterCol_C(mark_col &aMarkCol)
Definition: MucMark.cxx:267
bool SetLayer(int layer)
Definition: MucMark.cxx:69
bool SetSegment(int segment)
Definition: MucMark.cxx:57
vector< mark_col > CreateClusterCol(int buildMode, mark_col &aMarkCol)
Definition: MucMark.cxx:355
bool operator==(MucMark &other)
Definition: MucMark.cxx:31
vector< mark_col > CreateClusterCol_D(mark_col &aMarkCol)
Definition: MucMark.cxx:308
vector< mark_col > CreateClusterCol_B(mark_col &aMarkCol)
Definition: MucMark.cxx:235
int IsInCol(int part, int segment, int layer, int strip, mark_col &aCol)
Definition: MucMark.cxx:100
bool SetStrip(int strip)
Definition: MucMark.cxx:81
bool SetPart(int part)
Definition: MucMark.cxx:45
int Part()
Definition: MucMark.cxx:94
~MucMark()
Definition: MucMark.cxx:28
int Segment()
Definition: MucMark.cxx:95
int Strip()
Definition: MucMark.cxx:97
void Print()
Definition: MucMark.cxx:373
int Layer()
Definition: MucMark.cxx:96