BOSS 7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
HltID Class Reference

#include <HltID.h>

+ Inheritance diagram for HltID:

Public Types

enum  Header {
  EVENTTYPE =0 , ALGORITHM , CRITERIA , VERSION ,
  ENERGY , NUMSUB , NUMCON
}
 
enum  SubID {
  HLT =0 , MDC , TOF , EMC ,
  MUC , CON
}
 
enum  MdcData {
  NMDC =0x100 , NTRK , PMAX1 , COST1 ,
  VZ1 , PHI1 , VR1 , TRKHIT1 ,
  TRKSHIT1 , PMAX2 , COST2 , VZ2 ,
  PHI2 , VR2 , TRKHIT2 , TRKSHIT2 ,
  ACOL
}
 
enum  TofData { NTOF =0x200 , DELTAT , DELTAPHI }
 
enum  EmcData {
  NEMC =0x300 , ETOT , EBAR , EEND ,
  EBAL , EEAST , EWEST , NSEC ,
  NSHW , EMAX1 , ECOST1 , EPHI1 ,
  EMAX2 , ECOST2 , EPHI2 , EACOP ,
  EACOL , EMAX12 , EMAX3 , ECOST3 ,
  EPHI3
}
 
enum  MucData { NMUC =0x400 }
 
enum  ConData { NCON =0x500 }
 
typedef Identifier::size_type size_type
 
typedef Identifier::value_type value_type
 

Public Member Functions

 HltID (void)
 constructor
 
 ~HltID (void)
 destructor
 
- Public Member Functions inherited from BesDetectorID
 BesDetectorID (void)
 
 ~BesDetectorID (void)
 
Identifier mdc (void) const
 
Identifier tof (void) const
 
Identifier emc (void) const
 
Identifier muc (void) const
 
Identifier hlt (void) const
 
Identifier mrpc (void) const
 
bool is_mdc (const Identifier &id) const
 
bool is_tof (const Identifier &id) const
 
bool is_emc (const Identifier &id) const
 
bool is_muc (const Identifier &id) const
 
bool is_hlt (const Identifier &id) const
 
bool is_mrpc (const Identifier &id) const
 

Static Public Member Functions

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)
 
static Identifier data_type_id (const unsigned int detector, const unsigned int id_in_sub=0)
 For a single data.
 
static unsigned int getIntID (const unsigned int detector, const unsigned int id_in_sub=0)
 
static bool values_ok (const unsigned int detector, const unsigned int id_in_sub=0)
 
static bool is_ef_result (const Identifier &id)
 Test for data type.
 
static bool is_eventtype (const Identifier &id)
 
static bool is_algorithm (const Identifier &id)
 
static bool is_criteria (const Identifier &id)
 
static bool is_version (const Identifier &id)
 
static bool is_energy (const Identifier &id)
 
static bool is_number (const Identifier &id)
 
static bool is_ncon (const Identifier &id)
 
static bool is_mdc_inf (const Identifier &id)
 
static bool is_tof_inf (const Identifier &id)
 
static bool is_emc_inf (const Identifier &id)
 
static bool is_muc_inf (const Identifier &id)
 
static bool is_con_inf (const Identifier &id)
 
static bool is_hlt_inf (const Identifier &id)
 
static unsigned int detector (const Identifier &id)
 Values of different levels (failure returns 0)
 
static unsigned int id_sub (const Identifier &id)
 
static unsigned int id_sub_max (const Identifier &id)
 
static unsigned int getID_MDC_MAX ()
 
static unsigned int getID_TOF_MAX ()
 
static unsigned int getID_EMC_MAX ()
 
static unsigned int getID_MUC_MAX ()
 
static unsigned int getID_HLT_MAX ()
 
static unsigned int getDETECTOR_MIN ()
 
static unsigned int getDETECTOR_MAX ()
 

Additional Inherited Members

- Protected Member Functions inherited from BesDetectorID
int mdc_field_value () const
 Provide efficient access to individual field values.
 
int tof_field_value () const
 
int emc_field_value () const
 
int muc_field_value () const
 
int hlt_field_value () const
 
int mrpc_field_value () const
 
int get_detectorID (const Identifier &id) const
 
- Static Protected Attributes inherited from BesDetectorID
static const unsigned int MDC_ID = 0x10
 
static const unsigned int MDC_INDEX = 24
 
static const unsigned int MDC_MASK = 0xFF000000
 
static const unsigned int TOF_ID = 0x20
 
static const unsigned int TOF_INDEX = 24
 
static const unsigned int TOF_MASK = 0xFF000000
 
static const unsigned int EMC_ID = 0x30
 
static const unsigned int EMC_INDEX = 24
 
static const unsigned int EMC_MASK = 0xFF000000
 
static const unsigned int MUC_ID = 0x40
 
static const unsigned int MUC_INDEX = 24
 
static const unsigned int MUC_MASK = 0xFF000000
 
static const unsigned int HLT_ID = 0x50
 
static const unsigned int HLT_INDEX = 24
 
static const unsigned int HLT_MASK = 0xFF000000
 
static const unsigned int MRPC_ID = 0x70
 
static const unsigned int MRPC_INDEX = 24
 
static const unsigned int MRPC_MASK = 0xFF000000
 

Detailed Description

Definition at line 8 of file HltID.h.

Member Typedef Documentation

◆ size_type

Definition at line 11 of file HltID.h.

◆ value_type

Definition at line 12 of file HltID.h.

Member Enumeration Documentation

◆ ConData

Enumerator
NCON 

Definition at line 29 of file HltID.h.

29{ NCON =0x500 };
@ NCON
Definition HltID.h:29

◆ EmcData

Enumerator
NEMC 
ETOT 
EBAR 
EEND 
EBAL 
EEAST 
EWEST 
NSEC 
NSHW 
EMAX1 
ECOST1 
EPHI1 
EMAX2 
ECOST2 
EPHI2 
EACOP 
EACOL 
EMAX12 
EMAX3 
ECOST3 
EPHI3 

Definition at line 25 of file HltID.h.

25 { NEMC =0x300, ETOT, EBAR, EEND, EBAL, EEAST, EWEST, NSEC, NSHW,
27 EMAX3, ECOST3, EPHI3 };
@ ECOST2
Definition HltID.h:26
@ EMAX3
Definition HltID.h:27
@ EMAX2
Definition HltID.h:26
@ EEND
Definition HltID.h:25
@ ECOST1
Definition HltID.h:26
@ EWEST
Definition HltID.h:25
@ ECOST3
Definition HltID.h:27
@ NSEC
Definition HltID.h:25
@ NSHW
Definition HltID.h:25
@ EPHI3
Definition HltID.h:27
@ EACOL
Definition HltID.h:26
@ NEMC
Definition HltID.h:25
@ EEAST
Definition HltID.h:25
@ EBAL
Definition HltID.h:25
@ EPHI2
Definition HltID.h:26
@ EMAX12
Definition HltID.h:26
@ EBAR
Definition HltID.h:25
@ ETOT
Definition HltID.h:25
@ EPHI1
Definition HltID.h:26
@ EMAX1
Definition HltID.h:26
@ EACOP
Definition HltID.h:26

◆ Header

Enumerator
EVENTTYPE 
ALGORITHM 
CRITERIA 
VERSION 
ENERGY 
NUMSUB 
NUMCON 

Definition at line 20 of file HltID.h.

@ ALGORITHM
Definition HltID.h:20
@ NUMCON
Definition HltID.h:20
@ CRITERIA
Definition HltID.h:20
@ VERSION
Definition HltID.h:20
@ NUMSUB
Definition HltID.h:20
@ EVENTTYPE
Definition HltID.h:20
@ ENERGY
Definition HltID.h:20

◆ MdcData

Enumerator
NMDC 
NTRK 
PMAX1 
COST1 
VZ1 
PHI1 
VR1 
TRKHIT1 
TRKSHIT1 
PMAX2 
COST2 
VZ2 
PHI2 
VR2 
TRKHIT2 
TRKSHIT2 
ACOL 

Definition at line 22 of file HltID.h.

22 { NMDC =0x100, NTRK, PMAX1, COST1, VZ1, PHI1, VR1, TRKHIT1, TRKSHIT1,
@ TRKHIT1
Definition HltID.h:22
@ PMAX2
Definition HltID.h:23
@ PMAX1
Definition HltID.h:22
@ COST2
Definition HltID.h:23
@ VR1
Definition HltID.h:22
@ TRKSHIT1
Definition HltID.h:22
@ VZ1
Definition HltID.h:22
@ PHI1
Definition HltID.h:22
@ ACOL
Definition HltID.h:23
@ COST1
Definition HltID.h:22
@ NMDC
Definition HltID.h:22
@ PHI2
Definition HltID.h:23
@ NTRK
Definition HltID.h:22
@ VR2
Definition HltID.h:23
@ TRKHIT2
Definition HltID.h:23
@ TRKSHIT2
Definition HltID.h:23
@ VZ2
Definition HltID.h:23

◆ MucData

Enumerator
NMUC 

Definition at line 28 of file HltID.h.

28{ NMUC =0x400 };
@ NMUC
Definition HltID.h:28

◆ SubID

Enumerator
HLT 
MDC 
TOF 
EMC 
MUC 
CON 

Definition at line 21 of file HltID.h.

21{HLT =0,MDC,TOF,EMC,MUC,CON};
@ EMC
Definition HltID.h:21
@ MUC
Definition HltID.h:21
@ TOF
Definition HltID.h:21
@ HLT
Definition HltID.h:21
@ MDC
Definition HltID.h:21
@ CON
Definition HltID.h:21

◆ TofData

Enumerator
NTOF 
DELTAT 
DELTAPHI 

Definition at line 24 of file HltID.h.

24{ NTOF =0x200, DELTAT, DELTAPHI };
@ DELTAPHI
Definition HltID.h:24
@ DELTAT
Definition HltID.h:24
@ NTOF
Definition HltID.h:24

Constructor & Destructor Documentation

◆ HltID()

HltID::HltID ( void )

constructor

Definition at line 5 of file HltID.cxx.

5 {
6}

◆ ~HltID()

HltID::~HltID ( void )

destructor

Definition at line 8 of file HltID.cxx.

8 {
9}

Member Function Documentation

◆ convert()

Identifier HltID::convert ( const unsigned int id,
const int nmdc = 0,
const int ntof = 0,
const int nemc = 0,
const int nmuc = 0 )
static

convert global id to sub-id(Identifier)

Definition at line 12 of file HltID.cxx.

12 {
13 uint32_t subid=id&(HltID::DETECTOR_MASK|HltID::ID_SUB_MASK);
14
15 if(subid<=getID_HLT_MAX()) return data_type_id(HLT,subid);
16
17 subid = subid - getID_HLT_MAX();
18 if(subid<=nmdc) return data_type_id(MDC,subid-1);
19
20 subid = subid - nmdc;
21 if(subid<=ntof) return data_type_id(TOF,subid-1);
22
23 subid = subid - ntof;
24 if(subid<=nemc) return data_type_id(EMC,subid-1);
25
26 subid = subid - nemc;
27 if(subid<=nmuc) return data_type_id(MUC,subid-1);
28
29 subid = subid - nmuc;
30 return data_type_id(CON,subid-1);
31}
static unsigned int getID_HLT_MAX()
Definition HltID.h:67
static Identifier data_type_id(const unsigned int detector, const unsigned int id_in_sub=0)
For a single data.
Definition HltID.cxx:172

Referenced by RawDataHltRawCnv::createObj(), and EFtoTDS::execute().

◆ data_type_id()

Identifier HltID::data_type_id ( const unsigned int detector,
const unsigned int id_in_sub = 0 )
static

For a single data.

Definition at line 172 of file HltID.cxx.

172 {
173 assert ( values_ok(detector, id_in_sub) );
174 //if(!values_ok(detector, id_in_sub)) return Identifier(0);
175
176 unsigned int value = (HLT_ID << HLT_INDEX) | (detector << DETECTOR_INDEX)|
177 (id_in_sub<< ID_SUB_INDEX);
178 return Identifier(value);
179}
static const unsigned int HLT_INDEX
static const unsigned int HLT_ID
static unsigned int detector(const Identifier &id)
Values of different levels (failure returns 0)
Definition HltID.cxx:140
static bool values_ok(const unsigned int detector, const unsigned int id_in_sub=0)
Definition HltID.cxx:34

Referenced by convert(), HltInf::getDataVec(), and main().

◆ detector()

unsigned int HltID::detector ( const Identifier & id)
static

Values of different levels (failure returns 0)

Definition at line 140 of file HltID.cxx.

140 {
141 return ((id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX);
142}

Referenced by data_type_id(), getIntID(), main(), and values_ok().

◆ getDETECTOR_MAX()

static unsigned int HltID::getDETECTOR_MAX ( )
inlinestatic

Definition at line 70 of file HltID.h.

70{return DETECTOR_MAX;};

Referenced by main().

◆ getDETECTOR_MIN()

static unsigned int HltID::getDETECTOR_MIN ( )
inlinestatic

Definition at line 69 of file HltID.h.

69{return DETECTOR_MIN;};

◆ getID_EMC_MAX()

static unsigned int HltID::getID_EMC_MAX ( )
inlinestatic

Definition at line 65 of file HltID.h.

65{return ID_EMC_MAX;};

Referenced by EFTest::initialize(), DstHltInfCnv::TObjectToDataObject(), and HltInfCnv::TObjectToDataObject().

◆ getID_HLT_MAX()

static unsigned int HltID::getID_HLT_MAX ( )
inlinestatic

Definition at line 67 of file HltID.h.

67{return ID_HLT_MAX;};

Referenced by convert().

◆ getID_MDC_MAX()

static unsigned int HltID::getID_MDC_MAX ( )
inlinestatic

Definition at line 63 of file HltID.h.

63{return ID_MDC_MAX;};

Referenced by EFTest::initialize(), main(), DstHltInfCnv::TObjectToDataObject(), and HltInfCnv::TObjectToDataObject().

◆ getID_MUC_MAX()

static unsigned int HltID::getID_MUC_MAX ( )
inlinestatic

Definition at line 66 of file HltID.h.

66{return ID_MUC_MAX;};

Referenced by EFTest::initialize(), DstHltInfCnv::TObjectToDataObject(), and HltInfCnv::TObjectToDataObject().

◆ getID_TOF_MAX()

static unsigned int HltID::getID_TOF_MAX ( )
inlinestatic

Definition at line 64 of file HltID.h.

64{return ID_TOF_MAX;};

Referenced by EFTest::initialize(), DstHltInfCnv::TObjectToDataObject(), and HltInfCnv::TObjectToDataObject().

◆ getIntID()

unsigned int HltID::getIntID ( const unsigned int detector,
const unsigned int id_in_sub = 0 )
static

Definition at line 181 of file HltID.cxx.

181 {
182 assert ( values_ok(detector, id_in_sub) );
183 //if(!values_ok(detector, id_in_sub)) return 0;
184
185 unsigned int value = (HLT_ID << HLT_INDEX) | (detector << DETECTOR_INDEX)|
186 (id_in_sub<< ID_SUB_INDEX);
187 return value;
188}

◆ id_sub()

unsigned int HltID::id_sub ( const Identifier & id)
static

Definition at line 145 of file HltID.cxx.

145 {
146 return (id.get_value() & HltID::ID_SUB_MASK) >> HltID::ID_SUB_INDEX;
147}

Referenced by HltInf::getData(), main(), and HltInf::setData().

◆ id_sub_max()

unsigned int HltID::id_sub_max ( const Identifier & id)
static

Definition at line 150 of file HltID.cxx.

150 {
151 if (is_ef_result(id)) {
152 return ID_HLT_MAX;
153 }
154 else if (is_mdc_inf(id)) {
155 return ID_MDC_MAX;
156 }
157 else if (is_tof_inf(id)) {
158 return ID_TOF_MAX;
159 }
160 else if (is_emc_inf(id)) {
161 return ID_EMC_MAX;
162 }
163 else if (is_muc_inf(id)) {
164 return ID_MUC_MAX;
165 }
166 else {
167 return 0;
168 }
169}
static bool is_tof_inf(const Identifier &id)
Definition HltID.cxx:119
static bool is_ef_result(const Identifier &id)
Test for data type.
Definition HltID.cxx:67
static bool is_muc_inf(const Identifier &id)
Definition HltID.cxx:129
static bool is_emc_inf(const Identifier &id)
Definition HltID.cxx:124
static bool is_mdc_inf(const Identifier &id)
Definition HltID.cxx:114

Referenced by main().

◆ is_algorithm()

bool HltID::is_algorithm ( const Identifier & id)
static

Definition at line 78 of file HltID.cxx.

78 {
79 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX;
80 unsigned int no = (id.get_value() & HltID::ID_SUB_MASK) >> HltID::ID_SUB_INDEX;
81 return ((pos == HLT)&&(no==ALGORITHM)) ? true : false ;
82}
const int no

Referenced by EFtoTDS::execute(), HltEventMaker::execute(), main(), and HltBuilder::pack().

◆ is_con_inf()

bool HltID::is_con_inf ( const Identifier & id)
static

Definition at line 134 of file HltID.cxx.

134 {
135 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX;
136 return (pos == CON) ? true : false ;
137}

Referenced by HltEventMaker::execute(), HltInf::getData(), HltInf::getDataVec(), and HltInf::setData().

◆ is_criteria()

bool HltID::is_criteria ( const Identifier & id)
static

Definition at line 84 of file HltID.cxx.

84 {
85 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX;
86 unsigned int no = (id.get_value() & HltID::ID_SUB_MASK) >> HltID::ID_SUB_INDEX;
87 return ((pos == HLT)&&(no==CRITERIA)) ? true : false ;
88}

Referenced by EFtoTDS::execute(), HltEventMaker::execute(), and HltBuilder::pack().

◆ is_ef_result()

bool HltID::is_ef_result ( const Identifier & id)
static

Test for data type.

Definition at line 67 of file HltID.cxx.

67 {
68 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX;
69 return (pos == HLT) ? true : false ;
70}

Referenced by id_sub_max(), is_hlt_inf(), and main().

◆ is_emc_inf()

bool HltID::is_emc_inf ( const Identifier & id)
static

Definition at line 124 of file HltID.cxx.

124 {
125 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX;
126 return (pos == EMC) ? true : false ;
127}

Referenced by HltEventMaker::execute(), HltInf::getData(), HltInf::getDataVec(), id_sub_max(), and HltInf::setData().

◆ is_energy()

bool HltID::is_energy ( const Identifier & id)
static

Definition at line 96 of file HltID.cxx.

96 {
97 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX;
98 unsigned int no = (id.get_value() & HltID::ID_SUB_MASK) >> HltID::ID_SUB_INDEX;
99 return ((pos == HLT)&&(no==ENERGY)) ? true : false ;
100}

Referenced by EFtoTDS::execute(), HltEventMaker::execute(), main(), and HltBuilder::pack().

◆ is_eventtype()

bool HltID::is_eventtype ( const Identifier & id)
static

Definition at line 72 of file HltID.cxx.

72 {
73 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX;
74 unsigned int no = (id.get_value() & HltID::ID_SUB_MASK) >> HltID::ID_SUB_INDEX;
75 return ((pos == HLT)&&(no==EVENTTYPE)) ? true : false ;
76}

Referenced by EFtoTDS::execute(), HltEventMaker::execute(), main(), and HltBuilder::pack().

◆ is_hlt_inf()

static bool HltID::is_hlt_inf ( const Identifier & id)
inlinestatic

Definition at line 55 of file HltID.h.

55{ return is_ef_result(id);};

◆ is_mdc_inf()

bool HltID::is_mdc_inf ( const Identifier & id)
static

Definition at line 114 of file HltID.cxx.

114 {
115 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX;
116 return (pos == MDC) ? true : false ;
117}

Referenced by HltEventMaker::execute(), HltInf::getData(), HltInf::getDataVec(), id_sub_max(), main(), and HltInf::setData().

◆ is_muc_inf()

bool HltID::is_muc_inf ( const Identifier & id)
static

Definition at line 129 of file HltID.cxx.

129 {
130 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX;
131 return (pos == MUC) ? true : false ;
132}

Referenced by HltEventMaker::execute(), HltInf::getData(), HltInf::getDataVec(), id_sub_max(), and HltInf::setData().

◆ is_ncon()

bool HltID::is_ncon ( const Identifier & id)
static

Definition at line 108 of file HltID.cxx.

108 {
109 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX;
110 unsigned int no = (id.get_value() & HltID::ID_SUB_MASK) >> HltID::ID_SUB_INDEX;
111 return ((pos == CON)&&(no==NUMCON)) ? true : false ;
112}

Referenced by HltEventMaker::execute().

◆ is_number()

bool HltID::is_number ( const Identifier & id)
static

Definition at line 102 of file HltID.cxx.

102 {
103 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX;
104 unsigned int no = (id.get_value() & HltID::ID_SUB_MASK) >> HltID::ID_SUB_INDEX;
105 return ((pos == HLT)&&(no==NUMSUB)) ? true : false ;
106}

Referenced by RawDataHltRawCnv::createObj(), and HltEventMaker::execute().

◆ is_tof_inf()

bool HltID::is_tof_inf ( const Identifier & id)
static

Definition at line 119 of file HltID.cxx.

119 {
120 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX;
121 return (pos == TOF) ? true : false ;
122}

Referenced by HltEventMaker::execute(), HltInf::getData(), HltInf::getDataVec(), id_sub_max(), and HltInf::setData().

◆ is_version()

bool HltID::is_version ( const Identifier & id)
static

Definition at line 90 of file HltID.cxx.

90 {
91 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX;
92 unsigned int no = (id.get_value() & HltID::ID_SUB_MASK) >> HltID::ID_SUB_INDEX;
93 return ((pos == HLT)&&(no==VERSION)) ? true : false ;
94}

Referenced by EFtoTDS::execute(), HltEventMaker::execute(), and HltBuilder::pack().

◆ values_ok()

bool HltID::values_ok ( const unsigned int detector,
const unsigned int id_in_sub = 0 )
static

Definition at line 34 of file HltID.cxx.

34 {
35 // Check values
36 // unsigned int >= 0, this is definitely true.
37 // Omit the compare with MIN(0) to avoid warnings in compile.
38 switch(detector)
39 {
40 case HLT:
41 if ( id_in_sub > ID_HLT_MAX ) return false;
42 break;
43 case MDC:
44 if ( id_in_sub > ID_MDC_MAX ) return false;
45 break;
46 case TOF:
47 if ( id_in_sub > ID_TOF_MAX ) return false;
48 break;
49 case EMC:
50 if ( id_in_sub > ID_EMC_MAX ) return false;
51 break;
52 case MUC:
53 if ( id_in_sub > ID_MUC_MAX ) return false;
54 break;
55 case CON:
56 return true;
57 break;
58 default:
59 return false;
60 break;
61 }
62
63 return true;
64}

Referenced by data_type_id(), and getIntID().


The documentation for this class was generated from the following files: