CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/Geometry/CommonDetUnit/interface/GeomDetEnumerators.h

Go to the documentation of this file.
00001 #ifndef _COMMONDETUNIT_GEOMDETENUMERATORS_H_ 
00002 #define _COMMONDETUNIT_GEOMDETENUMERATORS_H_
00003 
00004 #include "FWCore/Utilities/interface/GCC11Compatibility.h"
00005 #include <iosfwd>
00006 
00009 namespace GeomDetEnumerators {
00010   enum Location {barrel, endcap, invalidLoc};
00011   enum SubDetector {PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap, GEM, invalidDet};
00012   // gives subdetId in DetId conrrepsonding to the above
00013   constexpr unsigned int subDetId[12]={1,2,3,5,4,6, 0,0,0,0,0, 0}; // don't ask, don't ask, simply do not ask!
00014   //inverse (only for tracker)
00015   constexpr SubDetector tkDetEnum[8]={invalidDet, PixelBarrel, PixelEndcap, TIB, TID, TOB, TEC, invalidDet}; // don't ask, don't ask, simply do not ask!
00016  
00017 }
00018 
00019 /* overload << for correct output of the enumerators 
00020  *  (e.g. to get "barrel" instead of "0")
00021  */
00022 std::ostream& operator<<( std::ostream& s, GeomDetEnumerators::Location l);
00023 std::ostream& operator<<( std::ostream& s, GeomDetEnumerators::SubDetector m);
00024 
00025 
00026 #endif