#include <HltID.h>
Inheritance diagram for HltID:
Public Types | |
enum | ConData { NCON = 0x500 } |
enum | ConData { NCON = 0x500 } |
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 | EmcData { NEMC = 0x300, ETOT, EBAR, EEND, EBAL, EEAST, EWEST, NSEC, NSHW, EMAX1, ECOST1, EPHI1, EMAX2, ECOST2, EPHI2, EACOP, EACOL, EMAX12, EMAX3, ECOST3, EPHI3 } |
enum | Header { EVENTTYPE = 0, ALGORITHM, CRITERIA, VERSION, ENERGY, NUMSUB, NUMCON } |
enum | Header { EVENTTYPE = 0, ALGORITHM, CRITERIA, VERSION, ENERGY, NUMSUB, NUMCON } |
enum | MdcData { NMDC = 0x100, NTRK, PMAX1, COST1, VZ1, PHI1, VR1, TRKHIT1, TRKSHIT1, PMAX2, COST2, VZ2, PHI2, VR2, TRKHIT2, TRKSHIT2, ACOL } |
enum | MdcData { NMDC = 0x100, NTRK, PMAX1, COST1, VZ1, PHI1, VR1, TRKHIT1, TRKSHIT1, PMAX2, COST2, VZ2, PHI2, VR2, TRKHIT2, TRKSHIT2, ACOL } |
enum | MucData { NMUC = 0x400 } |
enum | MucData { NMUC = 0x400 } |
typedef Identifier::size_type | size_type |
typedef Identifier::size_type | size_type |
enum | SubID { HLT = 0, MDC, TOF, EMC, MUC, CON } |
enum | SubID { HLT = 0, MDC, TOF, EMC, MUC, CON } |
enum | TofData { NTOF = 0x200, DELTAT, DELTAPHI } |
enum | TofData { NTOF = 0x200, DELTAT, DELTAPHI } |
typedef Identifier::value_type | value_type |
typedef Identifier::value_type | value_type |
Public Member Functions | |
Identifier | emc (void) const |
Identifier | emc (void) const |
Identifier | hlt (void) const |
Identifier | hlt (void) const |
HltID (void) | |
constructor | |
HltID (void) | |
constructor | |
bool | is_emc (const Identifier &id) const |
bool | is_emc (const Identifier &id) const |
bool | is_hlt (const Identifier &id) const |
bool | is_hlt (const Identifier &id) const |
bool | is_mdc (const Identifier &id) const |
bool | is_mdc (const Identifier &id) const |
bool | is_muc (const Identifier &id) const |
bool | is_muc (const Identifier &id) const |
bool | is_tof (const Identifier &id) const |
bool | is_tof (const Identifier &id) const |
Identifier | mdc (void) const |
Identifier | mdc (void) const |
Identifier | muc (void) const |
Identifier | muc (void) const |
Identifier | tof (void) const |
Identifier | tof (void) const |
~HltID (void) | |
destructor | |
~HltID (void) | |
destructor | |
Static Public Member Functions | |
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) | |
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) | |
Identifier | data_type_id (const unsigned int detector, const unsigned int id_in_sub=0) |
For a single data. | |
Identifier | data_type_id (const unsigned int detector, const unsigned int id_in_sub=0) |
For a single data. | |
unsigned int | detector (const Identifier &id) |
Values of different levels (failure returns 0). | |
unsigned int | detector (const Identifier &id) |
Values of different levels (failure returns 0). | |
unsigned int | getDETECTOR_MAX () |
unsigned int | getDETECTOR_MAX () |
unsigned int | getDETECTOR_MIN () |
unsigned int | getDETECTOR_MIN () |
unsigned int | getID_EMC_MAX () |
unsigned int | getID_EMC_MAX () |
unsigned int | getID_HLT_MAX () |
unsigned int | getID_HLT_MAX () |
unsigned int | getID_MDC_MAX () |
unsigned int | getID_MDC_MAX () |
unsigned int | getID_MUC_MAX () |
unsigned int | getID_MUC_MAX () |
unsigned int | getID_TOF_MAX () |
unsigned int | getID_TOF_MAX () |
unsigned int | getIntID (const unsigned int detector, const unsigned int id_in_sub=0) |
unsigned int | getIntID (const unsigned int detector, const unsigned int id_in_sub=0) |
unsigned int | id_sub (const Identifier &id) |
unsigned int | id_sub (const Identifier &id) |
unsigned int | id_sub_max (const Identifier &id) |
unsigned int | id_sub_max (const Identifier &id) |
bool | is_algorithm (const Identifier &id) |
bool | is_algorithm (const Identifier &id) |
bool | is_con_inf (const Identifier &id) |
bool | is_con_inf (const Identifier &id) |
bool | is_criteria (const Identifier &id) |
bool | is_criteria (const Identifier &id) |
bool | is_ef_result (const Identifier &id) |
Test for data type. | |
bool | is_ef_result (const Identifier &id) |
Test for data type. | |
bool | is_emc_inf (const Identifier &id) |
bool | is_emc_inf (const Identifier &id) |
bool | is_energy (const Identifier &id) |
bool | is_energy (const Identifier &id) |
bool | is_eventtype (const Identifier &id) |
bool | is_eventtype (const Identifier &id) |
bool | is_hlt_inf (const Identifier &id) |
bool | is_hlt_inf (const Identifier &id) |
bool | is_mdc_inf (const Identifier &id) |
bool | is_mdc_inf (const Identifier &id) |
bool | is_muc_inf (const Identifier &id) |
bool | is_muc_inf (const Identifier &id) |
bool | is_ncon (const Identifier &id) |
bool | is_ncon (const Identifier &id) |
bool | is_number (const Identifier &id) |
bool | is_number (const Identifier &id) |
bool | is_tof_inf (const Identifier &id) |
bool | is_tof_inf (const Identifier &id) |
bool | is_version (const Identifier &id) |
bool | is_version (const Identifier &id) |
bool | values_ok (const unsigned int detector, const unsigned int id_in_sub=0) |
bool | values_ok (const unsigned int detector, const unsigned int id_in_sub=0) |
Protected Member Functions | |
int | emc_field_value () const |
int | emc_field_value () const |
int | get_detectorID (const Identifier &id) const |
int | get_detectorID (const Identifier &id) const |
int | hlt_field_value () const |
int | hlt_field_value () const |
int | mdc_field_value () const |
Provide efficient access to individual field values. | |
int | mdc_field_value () const |
Provide efficient access to individual field values. | |
int | muc_field_value () const |
int | muc_field_value () const |
int | tof_field_value () const |
int | tof_field_value () const |
Static Protected Attributes | |
const unsigned int | EMC_ID = 0x30 |
const unsigned int | EMC_INDEX = 24 |
const unsigned int | EMC_MASK = 0xFF000000 |
const unsigned int | HLT_ID = 0x50 |
const unsigned int | HLT_INDEX = 24 |
const unsigned int | HLT_MASK = 0xFF000000 |
const unsigned int | MDC_ID = 0x10 |
const unsigned int | MDC_INDEX = 24 |
const unsigned int | MDC_MASK = 0xFF000000 |
const unsigned int | MUC_ID = 0x40 |
const unsigned int | MUC_INDEX = 24 |
const unsigned int | MUC_MASK = 0xFF000000 |
const unsigned int | TOF_ID = 0x20 |
const unsigned int | TOF_INDEX = 24 |
const unsigned int | TOF_MASK = 0xFF000000 |
Static Private Attributes | |
const unsigned int | DETECTOR_INDEX = 8 |
const unsigned int | DETECTOR_MASK = 0x00000F00 |
const unsigned int | DETECTOR_MAX = 5 |
const unsigned int | DETECTOR_MIN = 0 |
const unsigned int | ID_EMC_MAX = 21 |
const unsigned int | ID_HLT_MAX = 5 |
const unsigned int | ID_MDC_MAX = 19 |
const unsigned int | ID_MUC_MAX = 2 |
const unsigned int | ID_SUB_INDEX = 0 |
const unsigned int | ID_SUB_MASK = 0x000000FF |
const unsigned int | ID_TOF_MAX = 4 |
|
|
|
|
|
|
|
|
|
00029 { NCON =0x500 };
|
|
00029 { NCON =0x500 };
|
|
00025 { NEMC =0x300, ETOT, EBAR, EEND, EBAL, EEAST, EWEST, NSEC, NSHW, 00026 EMAX1, ECOST1, EPHI1, EMAX2, ECOST2, EPHI2, EACOP, EACOL, EMAX12, 00027 EMAX3, ECOST3, EPHI3 };
|
|
00025 { NEMC =0x300, ETOT, EBAR, EEND, EBAL, EEAST, EWEST, NSEC, NSHW, 00026 EMAX1, ECOST1, EPHI1, EMAX2, ECOST2, EPHI2, EACOP, EACOL, EMAX12, 00027 EMAX3, ECOST3, EPHI3 };
|
|
|
|
|
|
00022 { NMDC =0x100, NTRK, PMAX1, COST1, VZ1, PHI1, VR1, TRKHIT1, TRKSHIT1, 00023 PMAX2, COST2, VZ2, PHI2, VR2, TRKHIT2, TRKSHIT2, ACOL};
|
|
00022 { NMDC =0x100, NTRK, PMAX1, COST1, VZ1, PHI1, VR1, TRKHIT1, TRKSHIT1, 00023 PMAX2, COST2, VZ2, PHI2, VR2, TRKHIT2, TRKSHIT2, ACOL};
|
|
00028 { NMUC =0x400 };
|
|
00028 { NMUC =0x400 };
|
|
|
|
|
|
|
|
|
|
constructor
00004 { 00005 }
|
|
destructor
00007 { 00008 }
|
|
constructor
|
|
destructor
|
|
convert global id to sub-id(Identifier)
|
|
convert global id to sub-id(Identifier)
00011 { 00012 uint32_t subid=id&(HltID::DETECTOR_MASK|HltID::ID_SUB_MASK); 00013 00014 if(subid<=getID_HLT_MAX()) return data_type_id(HLT,subid); 00015 00016 subid = subid - getID_HLT_MAX(); 00017 if(subid<=nmdc) return data_type_id(MDC,subid-1); 00018 00019 subid = subid - nmdc; 00020 if(subid<=ntof) return data_type_id(TOF,subid-1); 00021 00022 subid = subid - ntof; 00023 if(subid<=nemc) return data_type_id(EMC,subid-1); 00024 00025 subid = subid - nemc; 00026 if(subid<=nmuc) return data_type_id(MUC,subid-1); 00027 00028 subid = subid - nmuc; 00029 return data_type_id(CON,subid-1); 00030 }
|
|
For a single data.
|
|
For a single data.
00171 { 00172 assert ( values_ok(detector, id_in_sub) ); 00173 //if(!values_ok(detector, id_in_sub)) return Identifier(0); 00174 00175 unsigned int value = (HLT_ID << HLT_INDEX) | (detector << DETECTOR_INDEX)| 00176 (id_in_sub<< ID_SUB_INDEX); 00177 return Identifier(value); 00178 }
|
|
Values of different levels (failure returns 0).
|
|
Values of different levels (failure returns 0).
00139 { 00140 return ((id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX); 00141 }
|
|
|
|
00054 { 00055 Identifier id = Identifier( m_EmcId << EMC_INDEX ); 00056 return id; 00057 }
|
|
|
|
00097 {return (m_EmcId);}
|
|
|
|
|
|
00070 {return DETECTOR_MAX;};
|
|
00070 {return DETECTOR_MAX;};
|
|
00069 {return DETECTOR_MIN;};
|
|
00069 {return DETECTOR_MIN;};
|
|
00065 {return ID_EMC_MAX;};
|
|
00065 {return ID_EMC_MAX;};
|
|
00067 {return ID_HLT_MAX;};
|
|
00067 {return ID_HLT_MAX;};
|
|
00063 {return ID_MDC_MAX;};
|
|
00063 {return ID_MDC_MAX;};
|
|
00066 {return ID_MUC_MAX;};
|
|
00066 {return ID_MUC_MAX;};
|
|
00064 {return ID_TOF_MAX;};
|
|
00064 {return ID_TOF_MAX;};
|
|
|
|
00180 { 00181 assert ( values_ok(detector, id_in_sub) ); 00182 //if(!values_ok(detector, id_in_sub)) return 0; 00183 00184 unsigned int value = (HLT_ID << HLT_INDEX) | (detector << DETECTOR_INDEX)| 00185 (id_in_sub<< ID_SUB_INDEX); 00186 return value; 00187 }
|
|
|
|
00064 { 00065 Identifier id = Identifier( m_HltId << HLT_INDEX ); 00066 return id; 00067 }
|
|
|
|
00103 {return (m_HltId);}
|
|
|
|
00144 { 00145 return (id.get_value() & HltID::ID_SUB_MASK) >> HltID::ID_SUB_INDEX; 00146 }
|
|
|
|
00149 { 00150 if (is_ef_result(id)) { 00151 return ID_HLT_MAX; 00152 } 00153 else if (is_mdc_inf(id)) { 00154 return ID_MDC_MAX; 00155 } 00156 else if (is_tof_inf(id)) { 00157 return ID_TOF_MAX; 00158 } 00159 else if (is_emc_inf(id)) { 00160 return ID_EMC_MAX; 00161 } 00162 else if (is_muc_inf(id)) { 00163 return ID_MUC_MAX; 00164 } 00165 else { 00166 return 0; 00167 } 00168 }
|
|
|
|
00077 { 00078 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX; 00079 unsigned int no = (id.get_value() & HltID::ID_SUB_MASK) >> HltID::ID_SUB_INDEX; 00080 return ((pos == HLT)&&(no==ALGORITHM)) ? true : false ; 00081 }
|
|
|
|
00133 { 00134 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX; 00135 return (pos == CON) ? true : false ; 00136 }
|
|
|
|
00083 { 00084 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX; 00085 unsigned int no = (id.get_value() & HltID::ID_SUB_MASK) >> HltID::ID_SUB_INDEX; 00086 return ((pos == HLT)&&(no==CRITERIA)) ? true : false ; 00087 }
|
|
Test for data type.
|
|
Test for data type.
00066 { 00067 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX; 00068 return (pos == HLT) ? true : false ; 00069 }
|
|
|
|
00029 { 00030 Identifier::value_type value = id.get_value(); 00031 return (value & EMC_MASK >> EMC_INDEX) == EMC_ID ? true : false; 00032 }
|
|
|
|
00123 { 00124 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX; 00125 return (pos == EMC) ? true : false ; 00126 }
|
|
|
|
00095 { 00096 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX; 00097 unsigned int no = (id.get_value() & HltID::ID_SUB_MASK) >> HltID::ID_SUB_INDEX; 00098 return ((pos == HLT)&&(no==ENERGY)) ? true : false ; 00099 }
|
|
|
|
00071 { 00072 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX; 00073 unsigned int no = (id.get_value() & HltID::ID_SUB_MASK) >> HltID::ID_SUB_INDEX; 00074 return ((pos == HLT)&&(no==EVENTTYPE)) ? true : false ; 00075 }
|
|
|
|
00039 { 00040 Identifier::value_type value = id.get_value(); 00041 return (value & HLT_MASK >> HLT_INDEX) == HLT_ID ? true : false; 00042 }
|
|
00055 { return is_ef_result(id);};
|
|
00055 { return is_ef_result(id);};
|
|
|
|
00019 { 00020 Identifier::value_type value = id.get_value(); 00021 return (value & MDC_MASK >> MDC_INDEX) == MDC_ID ? true : false; 00022 }
|
|
|
|
00113 { 00114 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX; 00115 return (pos == MDC) ? true : false ; 00116 }
|
|
|
|
00034 { 00035 Identifier::value_type value = id.get_value(); 00036 return (value & MUC_MASK >> MUC_INDEX) == MUC_ID ? true : false; 00037 }
|
|
|
|
00128 { 00129 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX; 00130 return (pos == MUC) ? true : false ; 00131 }
|
|
|
|
00107 { 00108 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX; 00109 unsigned int no = (id.get_value() & HltID::ID_SUB_MASK) >> HltID::ID_SUB_INDEX; 00110 return ((pos == CON)&&(no==NUMCON)) ? true : false ; 00111 }
|
|
|
|
00101 { 00102 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX; 00103 unsigned int no = (id.get_value() & HltID::ID_SUB_MASK) >> HltID::ID_SUB_INDEX; 00104 return ((pos == HLT)&&(no==NUMSUB)) ? true : false ; 00105 }
|
|
|
|
00024 { 00025 Identifier::value_type value = id.get_value(); 00026 return (value & TOF_MASK >> TOF_INDEX) == TOF_ID ? true : false; 00027 }
|
|
|
|
00118 { 00119 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX; 00120 return (pos == TOF) ? true : false ; 00121 }
|
|
|
|
00089 { 00090 unsigned int pos = (id.get_value() & HltID::DETECTOR_MASK) >> HltID::DETECTOR_INDEX; 00091 unsigned int no = (id.get_value() & HltID::ID_SUB_MASK) >> HltID::ID_SUB_INDEX; 00092 return ((pos == HLT)&&(no==VERSION)) ? true : false ; 00093 }
|
|
|
|
00044 { 00045 Identifier id = Identifier( m_MdcId << MDC_INDEX ); 00046 return id; 00047 }
|
|
Provide efficient access to individual field values.
|
|
Provide efficient access to individual field values.
00091 {return (m_MdcId);}
|
|
|
|
00059 { 00060 Identifier id = Identifier( m_MucId << MUC_INDEX ); 00061 return id; 00062 }
|
|
|
|
00100 {return (m_MucId);}
|
|
|
|
00049 { 00050 Identifier id = Identifier( m_TofId << TOF_INDEX ); 00051 return id; 00052 }
|
|
|
|
00094 {return (m_TofId);}
|
|
|
|
00033 { 00034 // Check values 00035 // unsigned int >= 0, this is definitely true. 00036 // Omit the compare with MIN(0) to avoid warnings in compile. 00037 switch(detector) 00038 { 00039 case HLT: 00040 if ( id_in_sub > ID_HLT_MAX ) return false; 00041 break; 00042 case MDC: 00043 if ( id_in_sub > ID_MDC_MAX ) return false; 00044 break; 00045 case TOF: 00046 if ( id_in_sub > ID_TOF_MAX ) return false; 00047 break; 00048 case EMC: 00049 if ( id_in_sub > ID_EMC_MAX ) return false; 00050 break; 00051 case MUC: 00052 if ( id_in_sub > ID_MUC_MAX ) return false; 00053 break; 00054 case CON: 00055 return true; 00056 break; 00057 default: 00058 return false; 00059 break; 00060 } 00061 00062 return true; 00063 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|