BOSS 7.0.1
BESIII Offline Software System
Loading...
Searching...
No Matches
Muc/MucCalibAlg/MucCalibAlg-00-02-16/MucCalibAlg/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 );
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
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)
Definition: MucMark.cxx:31
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()