Main Page   Class Hierarchy   Compound List   File List   Compound Members  

DetectorInfo_v1.h

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

Generated on Tue Apr 13 13:25:32 2004 for ATLAS JAPAN by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002