00001 #include "Identifier/BesDetectorID.h" 00002 #include <iostream> 00003 #include <stdio.h> 00004 #include <assert.h> 00005 00006 BesDetectorID::BesDetectorID(void) : 00007 m_MdcId(BesDetectorID::MDC_ID), 00008 m_TofId(BesDetectorID::TOF_ID), 00009 m_EmcId(BesDetectorID::EMC_ID), 00010 m_MucId(BesDetectorID::MUC_ID), 00011 m_HltId(BesDetectorID::HLT_ID), 00012 m_MrpcId(BesDetectorID::MRPC_ID) 00013 { 00014 } 00015 00016 BesDetectorID::~BesDetectorID(void) 00017 { 00018 } 00019 00020 bool BesDetectorID::is_mdc (const Identifier& id) const { 00021 Identifier::value_type value = id.get_value(); 00022 return ((value & MDC_MASK) >> MDC_INDEX) == MDC_ID ? true : false; 00023 } 00024 00025 bool BesDetectorID::is_tof (const Identifier& id) const { 00026 Identifier::value_type value = id.get_value(); 00027 return ((value & TOF_MASK) >> TOF_INDEX) == TOF_ID ? true : false; 00028 } 00029 00030 bool BesDetectorID::is_emc (const Identifier& id) const { 00031 Identifier::value_type value = id.get_value(); 00032 return ((value & EMC_MASK) >> EMC_INDEX) == EMC_ID ? true : false; 00033 } 00034 00035 bool BesDetectorID::is_muc (const Identifier& id) const { 00036 Identifier::value_type value = id.get_value(); 00037 return ((value & MUC_MASK) >> MUC_INDEX) == MUC_ID ? true : false; 00038 } 00039 00040 bool BesDetectorID::is_hlt (const Identifier& id) const { 00041 Identifier::value_type value = id.get_value(); 00042 return ((value & HLT_MASK) >> HLT_INDEX) == HLT_ID ? true : false; 00043 } 00044 00045 00046 bool BesDetectorID::is_mrpc (const Identifier& id) const { 00047 Identifier::value_type value = id.get_value(); 00048 return ((value & MRPC_MASK) >> MRPC_INDEX) == MRPC_ID ? true : false; 00049 } 00050 00051 00052 00053 Identifier BesDetectorID::mdc(void) const { 00054 Identifier id = Identifier( m_MdcId << MDC_INDEX ); 00055 return id; 00056 } 00057 00058 Identifier BesDetectorID::tof(void) const{ 00059 Identifier id = Identifier( m_TofId << TOF_INDEX ); 00060 return id; 00061 } 00062 00063 Identifier BesDetectorID::emc(void) const { 00064 Identifier id = Identifier( m_EmcId << EMC_INDEX ); 00065 return id; 00066 } 00067 00068 Identifier BesDetectorID::muc(void) const { 00069 Identifier id = Identifier( m_MucId << MUC_INDEX ); 00070 return id; 00071 } 00072 00073 Identifier BesDetectorID::hlt(void) const { 00074 Identifier id = Identifier( m_HltId << HLT_INDEX ); 00075 return id; 00076 } 00077 00078 Identifier BesDetectorID::mrpc(void) const { 00079 Identifier id = Identifier( m_MrpcId << MRPC_INDEX ); 00080 return id; 00081 }