BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
DetectorDescription/Identifier/include/Identifier/HltID.h
Go to the documentation of this file.
1#ifndef __HltID_h__
2#define __HltID_h__
3
4#include "Identifier/BesDetectorID.h"
5// #include <string>
6// #include <assert.h>
7
8class HltID : public BesDetectorID {
9public:
12
13 /// constructor
14 HltID( void );
15
16 /// destructor
17 ~HltID( void );
18
20 enum SubID { HLT = 0, MDC, TOF, EMC, MUC, CON };
40 enum TofData { NTOF = 0x200, DELTAT, DELTAPHI };
64 enum MucData { NMUC = 0x400 };
65 enum ConData { NCON = 0x500 };
66
67 /// convert global id to sub-id(Identifier)
68 static Identifier convert( const unsigned int id, const int nmdc = 0, const int ntof = 0,
69 const int nemc = 0, const int nmuc = 0 );
70
71 /// For a single data
72 static Identifier data_type_id( const unsigned int detector,
73 const unsigned int id_in_sub = 0 );
74 static unsigned int getIntID( const unsigned int detector,
75 const unsigned int id_in_sub = 0 );
76 static bool values_ok( const unsigned int detector, const unsigned int id_in_sub = 0 );
77
78 /// Test for data type
79 static bool is_ef_result( const Identifier& id );
80 static bool is_eventtype( const Identifier& id );
81 static bool is_algorithm( const Identifier& id );
82 static bool is_criteria( const Identifier& id );
83 static bool is_version( const Identifier& id );
84 static bool is_energy( const Identifier& id );
85 static bool is_number( const Identifier& id );
86 static bool is_ncon( const Identifier& id );
87
88 static bool is_mdc_inf( const Identifier& id );
89 static bool is_tof_inf( const Identifier& id );
90 static bool is_emc_inf( const Identifier& id );
91 static bool is_muc_inf( const Identifier& id );
92 static bool is_con_inf( const Identifier& id );
93 static bool is_hlt_inf( const Identifier& id ) { return is_ef_result( id ); };
94
95 /// Values of different levels (failure returns 0)
96 static unsigned int detector( const Identifier& id );
97 static unsigned int id_sub( const Identifier& id );
98
99 static unsigned int id_sub_max( const Identifier& id );
100
101 static unsigned int getID_MDC_MAX() { return ID_MDC_MAX; };
102 static unsigned int getID_TOF_MAX() { return ID_TOF_MAX; };
103 static unsigned int getID_EMC_MAX() { return ID_EMC_MAX; };
104 static unsigned int getID_MUC_MAX() { return ID_MUC_MAX; };
105 static unsigned int getID_HLT_MAX() { return ID_HLT_MAX; };
106
107 static unsigned int getDETECTOR_MIN() { return DETECTOR_MIN; };
108 static unsigned int getDETECTOR_MAX() { return DETECTOR_MAX; };
109 // static unsigned int getHLT() {return HLT;};
110 // static unsigned int getMDC() {return MDC;};
111 // static unsigned int getTOF() {return TOF;};
112 // static unsigned int getEMC() {return EMC;};
113 // static unsigned int getMUC() {return MUC;};
114 // static unsigned int getCON() {return CON;};
115
116private:
117 static const unsigned int DETECTOR_INDEX = 8;
118 static const unsigned int DETECTOR_MASK = 0x00000F00;
119
120 static const unsigned int ID_SUB_INDEX = 0;
121 static const unsigned int ID_SUB_MASK = 0x000000FF;
122 static const unsigned int ID_MDC_MAX = 19; // 20
123 static const unsigned int ID_TOF_MAX = 4; // 5
124 static const unsigned int ID_EMC_MAX = 21; // 22
125 static const unsigned int ID_MUC_MAX = 2; // 3
126 static const unsigned int ID_HLT_MAX = 5; // 6
127
128 static const unsigned int DETECTOR_MAX = 5;
129 static const unsigned int DETECTOR_MIN = 0;
130};
131
132#endif
static bool is_ncon(const Identifier &id)
Definition HltID.cxx:103
static bool is_tof_inf(const Identifier &id)
Definition HltID.cxx:114
static bool is_version(const Identifier &id)
Definition HltID.cxx:85
static bool is_con_inf(const Identifier &id)
Definition HltID.cxx:129
static bool is_ef_result(const Identifier &id)
Test for data type.
Definition HltID.cxx:62
static bool is_eventtype(const Identifier &id)
Definition HltID.cxx:67
HltID(void)
constructor
Definition HltID.cxx:5
static Identifier data_type_id(const unsigned int detector, const unsigned int id_in_sub=0)
For a single data.
Definition HltID.cxx:155
~HltID(void)
destructor
Definition HltID.cxx:7
static Identifier convert(const unsigned int id, const int nmdc=0, const int ntof=0, const int nemc=0, const int nmuc=0)
convert global id to sub-id(Identifier)
Definition HltID.cxx:10
static unsigned int detector(const Identifier &id)
Values of different levels (failure returns 0).
Definition HltID.cxx:135
static bool is_hlt_inf(const Identifier &id)
static bool is_algorithm(const Identifier &id)
Definition HltID.cxx:73
static bool is_muc_inf(const Identifier &id)
Definition HltID.cxx:124
static bool is_criteria(const Identifier &id)
Definition HltID.cxx:79
static unsigned int getIntID(const unsigned int detector, const unsigned int id_in_sub=0)
Definition HltID.cxx:164
static unsigned int id_sub_max(const Identifier &id)
Definition HltID.cxx:145
static bool is_emc_inf(const Identifier &id)
Definition HltID.cxx:119
static bool is_number(const Identifier &id)
Definition HltID.cxx:97
static bool is_mdc_inf(const Identifier &id)
Definition HltID.cxx:109
static unsigned int id_sub(const Identifier &id)
Definition HltID.cxx:140
static bool values_ok(const unsigned int detector, const unsigned int id_in_sub=0)
Definition HltID.cxx:33
static bool is_energy(const Identifier &id)
Definition HltID.cxx:91