Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:14:22

0001 #ifndef GeomDetType_H
0002 #define GeomDetType_H
0003 
0004 #include <string>
0005 #include "Geometry/CommonTopologies/interface/GeomDetEnumerators.h"
0006 
0007 class Topology;
0008 
0009 class GeomDetType {
0010 public:
0011   typedef GeomDetEnumerators::SubDetector SubDetector;
0012 
0013   GeomDetType(const std::string& name, SubDetector subdet);
0014 
0015   virtual ~GeomDetType();
0016 
0017   virtual const Topology& topology() const = 0;
0018 
0019   const std::string& name() const { return theName; }
0020 
0021   SubDetector subDetector() const { return theSubDet; }
0022 
0023   bool isBarrel() const;
0024   bool isEndcap() const;
0025 
0026   bool isTrackerStrip() const;
0027   bool isTrackerPixel() const;
0028   bool isInnerTracker() const;
0029   bool isOuterTracker() const;
0030   bool isTracker() const;
0031   bool isDT() const;
0032   bool isCSC() const;
0033   bool isRPC() const;
0034   bool isGEM() const;
0035   bool isME0() const;
0036   bool isMuon() const;
0037   bool isTiming() const;
0038 
0039 private:
0040   std::string theName;
0041   SubDetector theSubDet;
0042 };
0043 
0044 #endif