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