BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
DetectorDescription/Identifier/include/Identifier/EmcID.h
Go to the documentation of this file.
1#ifndef __EmcID_h__
2#define __EmcID_h__
3
4#include "Identifier/BesDetectorID.h"
5#include <assert.h>
6#include <string>
7
8class EmcID : public BesDetectorID {
9public:
12
13 /// constructor
14 EmcID();
15
16 /// destructor
17 ~EmcID();
18
19 /// For a single crystal
20 static Identifier crystal_id( const unsigned int barrel_ec, const unsigned int theta_module,
21 const unsigned int phi_module );
22
23 static unsigned int getIntID( const unsigned int barrel_ec, const unsigned int theta_module,
24 const unsigned int phi_module );
25
26 static bool values_ok( const unsigned int barrel_ec, const unsigned int theta_module,
27 const unsigned int phi_module );
28
29 /// Test for barrel
30 static bool is_barrel( const Identifier& id );
31
32 /// Values of different levels (failure returns 0)
33 static unsigned int barrel_ec( const Identifier& id );
34 static unsigned int theta_module( const Identifier& id );
35 static unsigned int phi_module( const Identifier& id );
36
37 /// Max/Min values for each field (error returns -999)
38 unsigned int theta_module_max( const Identifier& id );
39 unsigned int phi_module_max( const Identifier& id );
40
41 static unsigned int getTHETA_BARREL_MAX();
42 static unsigned int getTHETA_BARREL_MIN();
43 static unsigned int getTHETA_ENDCAP_MAX();
44 static unsigned int getTHETA_ENDCAP_MIN();
45 static unsigned int getPHI_BARREL_MAX();
46 static unsigned int getPHI_BARREL_MIN();
47 static unsigned int getPHI_ENDCAP_MAX( const unsigned int theta );
48 static unsigned int getPHI_ENDCAP_MIN();
49 static unsigned int getBARREL_EC_MAX();
50 static unsigned int getBARREL_EC_MIN();
51 static unsigned int getENDCAP_EAST();
52 static unsigned int getBARREL();
53 static unsigned int getENDCAP_WEST();
54
55private:
56 static const unsigned int BARREL_EC_INDEX = 16;
57 static const unsigned int BARREL_EC_MASK = 0x000F0000;
58
59 static const unsigned int THETA_INDEX = 8;
60 static const unsigned int THETA_MASK = 0x00003F00;
61
62 static const unsigned int PHI_INDEX = 0;
63 static const unsigned int PHI_MASK = 0x000000FF;
64
65 static const unsigned int THETA_BARREL_MAX = 43;
66 static const unsigned int THETA_BARREL_MIN = 0;
67 static const unsigned int THETA_ENDCAP_MAX = 5;
68 static const unsigned int THETA_ENDCAP_MIN = 0;
69
70 static const unsigned int PHI_BARREL_MAX = 119;
71 static const unsigned int PHI_BARREL_MIN = 0;
72 static const unsigned int PHI_ENDCAP_MAX1 = 63;
73 static const unsigned int PHI_ENDCAP_MAX2 = 79;
74 static const unsigned int PHI_ENDCAP_MAX3 = 95;
75 static const unsigned int PHI_ENDCAP_MIN = 0;
76
77 static const unsigned int BARREL_EC_MAX = 2;
78 static const unsigned int BARREL_EC_MIN = 0;
79 static const unsigned int ENDCAP_EAST = 0;
80 static const unsigned int BARREL = 1;
81 static const unsigned int ENDCAP_WEST = 2;
82};
83
84#endif
static unsigned int getPHI_BARREL_MAX()
Definition EmcID.cxx:83
static Identifier crystal_id(const unsigned int barrel_ec, const unsigned int theta_module, const unsigned int phi_module)
For a single crystal.
Definition EmcID.cxx:63
static unsigned int getENDCAP_WEST()
Definition EmcID.cxx:99
~EmcID()
destructor
Definition EmcID.cxx:6
static bool values_ok(const unsigned int barrel_ec, const unsigned int theta_module, const unsigned int phi_module)
Definition EmcID.cxx:9
static unsigned int getBARREL_EC_MIN()
Definition EmcID.cxx:93
EmcID()
constructor
Definition EmcID.cxx:4
static unsigned int barrel_ec(const Identifier &id)
Values of different levels (failure returns 0).
Definition EmcID.cxx:36
static bool is_barrel(const Identifier &id)
Test for barrel.
Definition EmcID.cxx:30
static unsigned int getENDCAP_EAST()
Definition EmcID.cxx:95
static unsigned int getBARREL_EC_MAX()
Definition EmcID.cxx:92
static unsigned int getTHETA_ENDCAP_MIN()
Definition EmcID.cxx:82
static unsigned int getTHETA_ENDCAP_MAX()
Definition EmcID.cxx:81
static unsigned int getBARREL()
Definition EmcID.cxx:97
unsigned int theta_module_max(const Identifier &id)
Max/Min values for each field (error returns -999).
Definition EmcID.cxx:51
unsigned int phi_module_max(const Identifier &id)
Definition EmcID.cxx:57
static unsigned int getTHETA_BARREL_MIN()
Definition EmcID.cxx:80
static unsigned int getIntID(const unsigned int barrel_ec, const unsigned int theta_module, const unsigned int phi_module)
Definition EmcID.cxx:71
static unsigned int getTHETA_BARREL_MAX()
Definition EmcID.cxx:79
static unsigned int theta_module(const Identifier &id)
Definition EmcID.cxx:41
static unsigned int getPHI_ENDCAP_MAX(const unsigned int theta)
Definition EmcID.cxx:85
static unsigned int getPHI_ENDCAP_MIN()
Definition EmcID.cxx:91
static unsigned int getPHI_BARREL_MIN()
Definition EmcID.cxx:84
static unsigned int phi_module(const Identifier &id)
Definition EmcID.cxx:46