00001 #ifndef ATHENA_UTIL_DETECTOR_INFO_V1_H 00002 #define ATHENA_UTIL_DETECTOR_INFO_V1_H 00003 00004 #include <iostream> 00005 #include "DetectorInfoDef_v1.h" 00006 00007 class DetectorInfo_v1 00008 { 00009 public: 00010 DetectorInfo_v1() : m_det(0) {}; 00011 ~DetectorInfo_v1() {}; 00012 DetectorInfo_v1(unsigned d) : m_det(d) {}; 00013 00014 inline void set(unsigned d) { m_det = d; } 00015 inline void reset() { m_det = 0; } 00016 inline unsigned get() { return m_det; } 00017 00018 inline bool isAtlasLar() { return (m_det & DI_V1_Atlas_Lar); } 00019 inline bool isAtlasLarEM() { return (m_det & DI_V1_Atlas_Lar_EM); } 00020 inline bool isAtlasLarHEC() { return (m_det & DI_V1_Atlas_Lar_HEC); } 00021 inline bool isAtlasLarFCal() { return (m_det & DI_V1_Atlas_Lar_FCal); } 00022 inline bool isAtlasTile() { return (m_det & DI_V1_Atlas_Tile); } 00023 00024 inline bool isEMSampling() { return (m_det & DI_V1_EM_sampling); } 00025 inline bool isEMBarrel() { return (m_det & DI_V1_EM_barrel); } 00026 inline bool isEMEndcap() { return (m_det & DI_V1_EM_endcap); } 00027 inline bool isEMEndcapInner() { return (m_det & DI_V1_EM_endcap_inner); } 00028 inline bool isEMEndcapOuter() { return (m_det & DI_V1_EM_endcap_outer); } 00029 00030 inline bool isTileSampling() { return (m_det & DI_V1_Tile_sampling); } 00031 inline bool isTileTile() { return (m_det & DI_V1_Tile_tile); } 00032 inline bool isTileBarrel() { return (m_det & DI_V1_Tile_barrel); } 00033 inline bool isTileExtBarrel() { return (m_det & DI_V1_Tile_extbarrel); } 00034 inline bool isTileGap() { return (m_det & DI_V1_Tile_gap); } 00035 inline bool isTileGapScin() { return (m_det & DI_V1_Tile_gapscin); } 00036 00037 inline unsigned getEMSampling() { return ((m_det & DI_V1_EM_sampling)>>DI_V1_EM_sampling_SHIFT); } 00038 inline unsigned getTileSampling() { return ((m_det & DI_V1_Tile_sampling)>>DI_V1_Tile_sampling_SHIFT); } 00039 00040 void dump(unsigned f=0); 00041 00042 private: 00043 unsigned m_det; 00044 }; 00045 00046 #endif // ATHENA_UTIL_DETECTOR_INFO_V1_H