BOSS 7.0.4
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/Identifier/Identifier/MucID.h
Go to the documentation of this file.
1#ifndef __MucID_h__
2#define __MucID_h__
3
4#include "Identifier/BesDetectorID.h"
5#include <string>
6#include <assert.h>
7
8class MucID : public BesDetectorID
9{
10public:
13
14 /// constructor
16
17 /// destructor
19
20 /// For a single crystal
22 int segment,
23 int layer,
24 int channel
25 );
26
28 int segment,
29 int layer,
30 int channel
31 );
40
44 static value_type getStripNum(int part, int seg, int gap);
48
49 static bool values_ok ( const unsigned int barrel_ec,
50 const unsigned int segment,
51 const unsigned int layer,
52 const unsigned int channel
53 ) ;
54
55 /// Test for barrel
56 static bool is_barrel (const Identifier& id) ;
57
58 /// Values of different levels
59 static int barrel_ec (const Identifier& id) ;
60 static int segment (const Identifier& id) ;
61 static int layer (const Identifier& id) ;
62 static int channel (const Identifier& id) ;
63
64 static int part (const Identifier& id) ;
65 static int seg (const Identifier& id) ;
66 static int gap (const Identifier& id) ;
67 static int strip (const Identifier& id) ;
68
69 /// Max/Min values for each field
70 int segment_max (const Identifier& id) ;
71 int layer_max (const Identifier& id) ;
72 int channel_max (const Identifier& id) ;
73
74 int getSegNum (const Identifier& id) ;
75 int getGapNum (const Identifier& id) ;
76 int getStripNum (const Identifier& id) ;
77
78private:
79
80 typedef std::vector<Identifier> id_vec;
81 typedef id_vec::const_iterator id_vec_it;
82
83 static const unsigned int BARREL_EC_INDEX = 16;
84 static const unsigned int BARREL_EC_MASK = 0x000F0000;
85
86 static const unsigned int SEGMENT_INDEX = 12;
87 static const unsigned int SEGMENT_MASK = 0x0000F000;
88
89 static const unsigned int LAYER_INDEX = 8;
90 static const unsigned int LAYER_MASK = 0x00000F00;
91
92 static const unsigned int CHANNEL_INDEX = 0;
93 static const unsigned int CHANNEL_MASK = 0x000000FF;
94
95 static const unsigned int BARREL_EC_NUM = 3;
96
97 static const unsigned int LAYER_BARREL_NUM = 9;
98 static const unsigned int LAYER_ENDCAP_NUM = 8;
99
100 static const unsigned int SEGMENT_BARREL_NUM = 8;
101 static const unsigned int SEGMENT_ENDCAP_NUM = 4;
102
103 static const unsigned int CHANNEL_BARREL_NUM_MAX = 112;
104 static const unsigned int CHANNEL_ENDCAP_NUM_MAX = 64;
105
106 static const unsigned int CHANNEL_BARREL_LAYER_NUM[LAYER_BARREL_NUM];
107
108 static const unsigned int BARREL_EC_MAX = 2;
109 static const unsigned int BARREL_EC_MIN = 0;
110
111};
112
113#endif
static int barrel_ec(const Identifier &id)
Values of different levels.
Definition: MucID.cxx:41
static value_type getGapMax()
static int channel(const Identifier &id)
static int layer(const Identifier &id)
Definition: MucID.cxx:61
static int channel(const Identifier &id)
Definition: MucID.cxx:71
static value_type getGapNum(int part)
static value_type getSEGMENT_ENDCAP_MAX()
static int part(const Identifier &id)
int segment_max(const Identifier &id)
Max/Min values for each field.
static value_type getCHANNEL_ENDCAP_MAX()
static value_type getSEGMENT_BARREL_MAX()
static int part(const Identifier &id)
Definition: MucID.cxx:46
static value_type getBARREL_EC_MAX()
static int segment(const Identifier &id)
Definition: MucID.cxx:51
static value_type getPartNum()
static value_type getIntID(int barrel_ec, int segment, int layer, int channel)
static value_type getCHANNEL_BARREL_MAX()
int layer_max(const Identifier &id)
static value_type getSegMax()
static value_type getLAYER_BARREL_MAX()
static value_type getStripMax()
static value_type getLAYER_ENDCAP_MAX()
static value_type getBARREL_EC_MIN()
~MucID()
destructor
static int gap(const Identifier &id)
static int layer(const Identifier &id)
static bool values_ok(const unsigned int barrel_ec, const unsigned int segment, const unsigned int layer, const unsigned int channel)
static bool is_barrel(const Identifier &id)
Test for barrel.
int getStripNum(const Identifier &id)
static value_type getStripNum(int part, int seg, int gap)
static int strip(const Identifier &id)
static int gap(const Identifier &id)
Definition: MucID.cxx:66
static int seg(const Identifier &id)
Definition: MucID.cxx:56
static int seg(const Identifier &id)
static Identifier channel_id(int barrel_ec, int segment, int layer, int channel)
For a single crystal.
static int barrel_ec(const Identifier &id)
Values of different levels.
static int segment(const Identifier &id)
int getSegNum(const Identifier &id)
MucID()
constructor
static value_type getSegNum(int part)
int channel_max(const Identifier &id)
int getGapNum(const Identifier &id)